Skip to content

Comments

Add support for Thermopro TP863b.#3480

Open
n6ham wants to merge 1 commit intomerbanan:masterfrom
n6ham:master
Open

Add support for Thermopro TP863b.#3480
n6ham wants to merge 1 commit intomerbanan:masterfrom
n6ham:master

Conversation

@n6ham
Copy link
Contributor

@n6ham n6ham commented Feb 22, 2026

TP863b comes with the same probes as TP862b, but with a signal booster.
Booster repeats probe signals with specific bits in the flag, otherwise signal formats are identical (same structure, checksum, etc).

I don't want to change the "model" attribute based on where signal came from, since there's no way to distinguish probes of TP862b from the probes TP863b and vice versa. Worse - users of TP863b won't be able to combine signals from the probes with the signals from the booster (when publish to an MQTT topic with "model").

I'm generalizing TB862b/TB863b parser and adding a new attribute "source" ("probe", or "booster") instead, and using more generic model "ThermoPro-TempSpikeXR".

[TP863b]

{"time" : "2026-02-21 18:45:22", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 18:45:22", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "booster", "mic" : "CRC"}
{"time" : "2026-02-21 18:45:38", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 18:45:38", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "booster", "mic" : "CRC"}
{"time" : "2026-02-21 18:45:55", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 18:45:55", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "booster", "mic" : "CRC"}
{"time" : "2026-02-21 18:46:07", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 18:46:07", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "booster", "mic" : "CRC"}
{"time" : "2026-02-21 18:46:23", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 18:46:23", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "booster", "mic" : "CRC"}
{"time" : "2026-02-21 18:46:39", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 18:46:39", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "booster", "mic" : "CRC"}
{"time" : "2026-02-21 18:46:55", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 18:46:55", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "booster", "mic" : "CRC"}
{"time" : "2026-02-21 18:47:11", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 18:47:11", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "booster", "mic" : "CRC"}
{"time" : "2026-02-21 18:47:27", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 18:47:27", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "booster", "mic" : "CRC"}
{"time" : "2026-02-21 18:47:43", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 18:47:43", "model" : "ThermoPro-TempSpikeXR", "id" : 174, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.100, "temperature_amb_C" : 17.200, "source" : "booster", "mic" : "CRC"}

[TP862b]

{"time" : "2026-02-21 19:16:05", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.400, "temperature_amb_C" : 18.600, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:09", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.400, "temperature_amb_C" : 18.500, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:13", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.400, "temperature_amb_C" : 18.500, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:17", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.300, "temperature_amb_C" : 18.400, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:21", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.300, "temperature_amb_C" : 18.300, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:25", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.300, "temperature_amb_C" : 18.300, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:29", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 0, "temperature_int_C" : 17.300, "temperature_amb_C" : 18.600, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:32", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 1, "temperature_int_C" : 17.400, "temperature_amb_C" : 20.200, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:32", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 1, "temperature_int_C" : 17.400, "temperature_amb_C" : 20.200, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:33", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 1, "temperature_int_C" : 17.400, "temperature_amb_C" : 20.700, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:34", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 1, "temperature_int_C" : 17.400, "temperature_amb_C" : 21.000, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:34", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 1, "temperature_int_C" : 17.400, "temperature_amb_C" : 21.000, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:35", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 1, "temperature_int_C" : 17.400, "temperature_amb_C" : 21.100, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:35", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 1, "temperature_int_C" : 17.400, "temperature_amb_C" : 21.100, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:36", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 1, "temperature_int_C" : 17.400, "temperature_amb_C" : 21.200, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:36", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 1, "temperature_int_C" : 17.400, "temperature_amb_C" : 21.200, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:38", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 1, "temperature_int_C" : 17.400, "temperature_amb_C" : 21.200, "source" : "probe", "mic" : "CRC"}
{"time" : "2026-02-21 19:16:38", "model" : "ThermoPro-TempSpikeXR", "id" : 54, "color" : "black", "is_docked" : 1, "temperature_int_C" : 17.400, "temperature_amb_C" : 21.200, "source" : "probe", "mic" : "CRC"}

@n6ham n6ham force-pushed the master branch 2 times, most recently from 3593128 to cf4b5c2 Compare February 23, 2026 17:40
@n6ham n6ham closed this Feb 23, 2026
@n6ham n6ham reopened this Feb 23, 2026
It's identical to TP862b but comes with a range extender that repeats probe signlas with specific flag.
I'm generalizing TB862b/TB863b parser and adding a new attribute "source" ("proble", or "extender")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants