Anyone working on decoding GT-TMBBQ-02 BBQ temperature sensors?

164 views
Skip to first unread message

Mike Causer

unread,
Feb 9, 2020, 7:42:00 PM2/9/20
to rtl_433
I've collected a few hundred samples and so far it's quite different to the GT-TMBBQ-05 currently supported.

Transmitter: GT-TMBBQ-02s
Receiver: GT-TMBBQ-02e

Device sends 22 bits, pulse position modulated. Center frequency is 434.058MHz.

First 8 bits are a random session ID. Each time you power cycle the transmitter, it makes a new code.
Not sure about the next 14 bits. See bitbench below.

I'm guessing it's something like 8 low temperature bits, 2 high temp bits, 2 parity bits?, 2 checksum bits.

Supported temperature range is -10C - 260C (or 14F - 500F), which would require at least 9 bit precision for the temperature value.

Replacing the temp probe with a resistor gives stable readings.
220 k ohm = 9C 48F
100 k ohm = 25C 78F
32 k ohm = 53C 129F
4.7 ohm = hiF hiF

The receiver shows LO (low) or HI (high) when the temperature is outside the valid range.
Many different transmitted values will show up as LO / HI.

Changing battery voltage has no effect on the transmitted data.

The transmitter PCB has space for two temperature probes, but only one is populated. Seem to be wired in parallel.

Data is sent with 454us pulses, repeated 10 times. New readings sent every 5 seconds.
9ms gap for Reset
4.04ms Long gap (0)
2.05ms Short gap (1)

eg. RSLSSSSSSSSLLSLSLSLLLLSRS, repeated 10x.

RSLSSSSSSSSLLSLSLSLLLLSRS -> SLSSSSSSSSLLSLSLSLLLLS -> 1011111111001010100001 -> 0x2FF2A1 -> [27C, 81F]

Not sure if it is sending Celsius or Fahrenheit.
There seems to be overlap in the calculation.
There is a switch on the back which toggles between C and F, so I started mapping captures against both temp units.

When receiving 28C, it should show 84F.
When receiving 29C, it should show 84, 85 or 86F.
When receiving 30C, it should show 86, 87 or 88F.

If both 28 and 29C == 84F, how can it be sending value in C or F?
Same for 29 and 30C == 86F.
Could it be sending a more precise value and being rounded down on the receiver?
Could it be sending a numeric value (eg. temp probe resistance) which is converted to C and F on the receiver?

I tried using http://triq.net/bitbench to visualise it. The resulting URL is too long, so if you want to see it, paste the following data in, and set shift = -2.

Hex code to analyse:
0x27F880 [loC, loF]
0x27FA00 [loC, loF]
0x27F9C6 [loC, loF]
0x213911 [loC, loF]
0x27FA5A [loC, loF]
0x27F99F [loC, loF]
0x27FA24 [loC, loF]
0x27F928 [loC, loF]
0x27F8E9 [loC, loF]
0x27F97B [loC, loF]
0x27F93C [loC, loF]
0x27F843 [-12C, 9F]
0x27F82A [-12C, 10F]
0x1DF80E [-11C, 12F]
0x27F7C7 [-9C, 15F]
0x27F7A2 [-8C, 17F]
0x27F7B0 [-8C, 16F]
0x27F78C [-7C, 18F]
0x27F78F [-7C, 18F]
0x27F776 [-7C, 19F]
0x27F779 [-7C, 19F]
0x19F751 [-6C, 21F]
0x0F7767 [-6C, 20F]
0x19F768 [-6C, 20F]
0x27F6C3 [-2C, 28F]
0x263655 [0C, ?F]
0x26365A [0C, ?F]
0x27F66A [0C, 33F]
0x26364B [1C, ?F]
0x263630 [1C, ?F]
0x26363F [1C, ?F]
0x263622 [2C, ?F]
0x2235F0 [3C, ?F]
0x2235F3 [3C, ?F]
0x27F5F5 [3C, 39F]
0x2235CA [4C, ?F]
0x2235D8 [4C, ?F]
0x2235AC [5C, ?F]
0x2235AF [5C, ?F]
0x2235B2 [5C, ?F]
0x2235B7 [5C, ?F]
0x27F59C [6C, 43F]
0x22359F [6C, ?F]
0x223566 [7C, ?F]
0x27F54D [8C, 47F]
0x223550 [8C, 47F]
0x36F556 [8C, 46F]
0x223556 [8C, ?F]
0x0F7539 [8C, 48F]
0x22351D [9C, ?F]
0x2A352E [9C, 48F]
0x19F52E [9C, 48F]
0x1DF530 [9C, 48F]
0x2A3530 [9C, 48F]
0x19F530 [9C, 48F]
0x223533 [9C, ?F]
0x27F500 [10C, 51F]
0x22350A [10C, ?F]
0x2234FE [10C, ?F]
0x2234C8 [11C, ?F]
0x2234E0 [11C, ?F]
0x2234E6 [11C, ?F]
0x2234A7 [12C, ?F]
0x2234B3 [12C, ?F]
0x22348F [13C, 56F]
0x27F49D [13C, 56F]
0x22349D [13C, ?F]
0x22349E [13C, ?F]
0x22345D [14C, ?F]
0x22346E [14C, ?F]
0x22347F [14C, ?F]
0x223443 [15C, ?F]
0x22344F [15C, ?F]
0x27F43D [15C, 61F]
0x36F416 [16C, 62F]
0x22341C [16C, ?F]
0x223420 [16C, ?F]
0x223423 [16C, ?F]
0x223402 [17C, ?F]
0x223407 [17C, ?F]
0x2233FC [17C, ?F]
0x2233D8 [18C, ?F]
0x2233DE [18C, ?F]
0x2233E2 [18C, ?F]
0x1DF3E7 [18C, 65F]
0x27F3AA [19C, 68F]
0x2233AF [19C, ?F]
0x2233B2 [19C, ?F]
0x223387 [20C, ?F]
0x22336A [21C, ?F]
0x2A3371 [21C, 71F]
0x223341 [22C, ?F]
0x223353 [22C, ?F]
0x27F35C [22C, 72F]
0x223333 [23C, ?F]
0x223300 [24C, ?F]
0x2232F7 [24C, ?F]
0x2232FB [24C, ?F]
0x2372D0 [25C, 79F]
0x3072D0 [25C, 79F]
0x2732D0 [25C, 79F]
0x2832D0 [25C, 79F]
0x3572D0 [25C, 79F]
0x3DF2D3 [25C, 79F]
0x1CF2D3 [25C, 79F]
0x1EF2D3 [25C, 79F]
0x3172D5 [25C, 79F]
0x18F2D5 [25C, 79F]
0x12F2D6 [25C, 78F]
0x1C32D9 [25C, 78F]
0x3D32D9 [25C, 78F]
0x2C72D9 [25C, 78F]
0x0BF2D9 [25C, 78F]
0x1EB2D9 [25C, 78F]
0x28F2D9 [25C, 78F]
0x09F2DA [25C, 78F]
0x3072DA [25C, 78F]
0x24B2DA [25C, 78F]
0x3D32DA [25C, 78F]
0x3DB2DA [25C, 78F]
0x2D72DA [25C, 78F]
0x0BF2DA [25C, 78F]
0x28F2DA [25C, 78F]
0x1DF2DA [25C, 78F]
0x36F2DA [25C, 78F]
0x1FF2DA [25C, ?F]
0x2D32DA [25C, ?F]
0x1B72DC [25C, 78F]
0x2372DC [25C, 78F]
0x3072DC [25C, 78F]
0x2732DC [25C, 78F]
0x23B2DC [25C, 78F]
0x2272DC [25C, 78F]
0x2832DC [25C, 78F]
0x3572DC [25C, 78F]
0x1DF2DC [25C, 78F]
0x19F2DC [25C, 78F]
0x0AB2DF [25C, 78F]
0x18F2DF [25C, 78F]
0x3DF2DF [25C, 78F]
0x1CF2DF [25C, 78F]
0x1EF2DF [25C, 78F]
0x2132DF [25C, 78F]
0x19F2DF [25C, 78F]
0x12F2E0 [25C, 78F]
0x3172E0 [25C, 78F]
0x18F2E0 [25C, 78F]
0x0872E0 [25C, ?F]
0x1C32E3 [25C, 78F]
0x12F2E3 [25C, 78F]
0x36F2E3 [25C, 78F]
0x2232E3 [25C, ?F]
0x0872E3 [25C, ?F]
0x09F2E5 [25C, 78F]
0x0872E5 [25C, ?F]
0x3C72E6 [25C, 78F]
0x1B72E6 [25C, 78F]
0x2232E6 [25C, ?F]
0x0872E6 [25C, ?F]
0x0AB2E9 [25C, 78F]
0x2232E9 [25C, ?F]
0x0872E9 [25C, ?F]
0x0872EA [25C, ?F]
0x0872EC [25C, ?F]
0x0872EF [25C, ?F]
0x0872F1 [25C, ?F]
0x3C72F2 [25C, 77F]
0x2232C2 [26C, ?F]
0x0872C7 [26C, ?F]
0x27F2CB [26C, 79F]
0x0872CB [26C, ?F]
0x3D32CD [26C, 79F]
0x3DB2CD [26C, 79F]
0x2C72CD [26C, 79F]
0x2D72CD [26C, 79F]
0x0BF2CD [26C, 79F]
0x1DF2CD [26C, 79F]
0x2132CD [26C, 79F]
0x0872CD [26C, ?F]
0x23B2CE [26C, 79F]
0x2272CE [26C, 79F]
0x24B2CE [26C, 79F]
0x1EB2CE [26C, 79F]
0x0872CE [26C, ?F]
0x0172AD [26C, 81F]
0x2232BA [26C, ?F]
0x2232BF [26C, ?F]
0x237289 [27C, 82F]
0x26328A [27C, 82F]
0x36728A [27C, 82F]
0x19728A [27C, 82F]
0x16F28A [27C, 82F]
0x3CF28C [27C, 82F]
0x05728C [27C, 82F]
0x16328C [27C, 82F]
0x12328C [27C, 82F]
0x1E328C [27C, 82F]
0x12328F [27C, 82F]
0x0A7291 [27C, 82F]
0x123292 [27C, 82F]
0x123294 [27C, 82F]
0x123294 [27C, 82F]
0x223294 [27C, 82F]
0x047294 [27C, 82F]
0x1DF294 [27C, 82F]
0x373294 [27C, 82F]
0x2FF297 [27C, 82F]
0x263297 [27C, 82F]
0x237297 [27C, 82F]
0x367297 [27C, 82F]
0x197297 [27C, 82F]
0x16F297 [27C, 82F]
0x2E3297 [27C, 82F]
0x13B297 [27C, 82F]
0x023297 [27C, 82F]
0x2B3297 [27C, 82F]
0x197297 [27C, 82F]
0x04F297 [27C, 82F]
0x03B297 [27C, 82F]
0x0B7297 [27C, 82F]
0x3DF297 [27C, 82F]
0x2FF298 [27C, 82F]
0x123298 [27C, 82F]
0x123298 [27C, 82F]
0x057298 [27C, 82F]
0x163298 [27C, 82F]
0x123298 [27C, 82F]
0x1E3298 [27C, 82F]
0x103298 [27C, 82F]
0x03F298 [27C, 82F]
0x223298 [27C, ?F]
0x3CF29B [27C, 82F]
0x30F29B [27C, ?F]
0x22329B [27C, ?F]
0x2FF29D [27C, 81F]
0x2FF29D [27C, 81F]
0x0A729D [27C, 81F]
0x30F29D [27C, ?F]
0x2FF29E [27C, 81F]
0x0A729E [27C, 81F]
0x2FF2A1 [27C, 81F]
0x0472A1 [27C, 81F]
0x2E32A1 [27C, 81F]
0x13B2A1 [27C, 81F]
0x1DF2A1 [27C, 81F]
0x3732A1 [27C, 81F]
0x2E32A2 [27C, 81F]
0x13B2A2 [27C, 81F]
0x0232A2 [27C, 81F]
0x2B32A2 [27C, 81F]
0x1972A2 [27C, 81F]
0x04F2A2 [27C, 81F]
0x03F2A2 [27C, 81F]
0x03B2A2 [27C, 81F]
0x0B72A2 [27C, 81F]
0x3DF2A2 [27C, 81F]
0x1032A7 [27C, 81F]
0x223286 [28C, 82F]
0x0B7264 [28C, 84F]
0x087264 [28C, ?F]
0x0B7267 [28C, 84F]
0x087267 [28C, ?F]
0x3F7268 [28C, ?F]
0x0B726B [28C, 84F]
0x3F726B [28C, ?F]
0x0B726D [28C, 84F]
0x3F726D [28C, ?F]
0x3F726E [28C, ?F]
0x3F7270 [28C, ?F]
0x3F7273 [28C, ?F]
0x223275 [28C, ?F]
0x3F7275 [28C, ?F]
0x223276 [28C, ?F]
0x3F7276 [28C, ?F]
0x223279 [28C, ?F]
0x3F7279 [28C, ?F]
0x0B7240 [29C, 86F]
0x0E3243 [29C, 86F]
0x0E3245 [29C, 86F]
0x0B7246 [29C, 86F]
0x0E3246 [29C, 86F]
0x223246 [29C, ?F]
0x22324C [29C, ?F]
0x1FF24C [29C, ?F]
0x223251 [29C, ?F]
0x27F252 [29C, 85F]
0x0B7254 [29C, 85F]
0x27F254 [29C, 85F]
0x0B7257 [29C, 85F]
0x08725B [29C, ?F]
0x0B725D [29C, 85F]
0x08725D [29C, ?F]
0x08725E [29C, ?F]
0x0B7262 [29C, 84F]
0x0B721F [30C, 88F]
0x223225 [30C, ?F]
0x22322A [30C, ?F]
0x0B722F [30C, 87F]
0x0B7231 [30C, 87F]
0x0B7234 [30C, 87F]
0x223234 [30C, ?F]
0x22323D [30C, ?F]
0x0B7208 [31C, 89F]
0x22320D [31C, ?F]
0x0B7216 [31C, 88F]
0x223219 [31C, ?F]
0x0B71FD [31C, 89F]
0x2231EC [32C, ?F]
0x2231F1 [32C, ?F]
0x2231F2 [32C, ?F]
0x2231C4 [33C, ?F]
0x2231C8 [33C, ?F]
0x2231CD [33C, ?F]
0x2231D0 [33C, ?F]
0x2231B9 [33C, ?F]
0x223191 [34C, ?F]
0x223194 [34C, ?F]
0x223197 [34C, ?F]
0x22319D [34C, ?F]
0x223180 [35C, ?F]
0x223185 [35C, ?F]
0x22318C [35C, ?F]
0x223179 [35C, ?F]
0x22317A [35C, ?F]
0x22317C [35C, ?F]
0x223146 [36C, ?F]
0x223149 [36C, ?F]
0x223143 [37C, ?F]
0x27F120 [37C, 100F]
0x223120 [37C, ?F]
0x223131 [37C, ?F]
0x22313E [37C, ?F]
0x30F102 [38C, ?F]
0x30F104 [38C, ?F]
0x30F107 [38C, ?F]
0x2230DD [39C, ?F]
0x2230E4 [39C, ?F]
0x2230ED [39C, ?F]
0x30F0EE [39C, ?F]
0x30F0F0 [39C, ?F]
0x30F0F3 [39C, ?F]
0x2170C0 [40C, 105F]
0x2170C3 [40C, 105F]
0x2230C5 [40C, ?F]
0x2230C9 [40C, ?F]
0x2230CC [40C, ?F]
0x2170B4 [40C, 106F]
0x2170B7 [40C, 106F]
0x2170B8 [40C, 106F]
0x2170BB [40C, 106F]
0x2170BE [40C, 105F]
0x217090 [41C, 108F]
0x217093 [41C, 107F]
0x217096 [41C, 107F]
0x223096 [41C, ?F]
0x217099 [41C, 107F]
0x21709A [41C, 107F]
0x22309F [41C, ?F]
0x2230A6 [41C, ?F]
0x2170A9 [41C, 106F]
0x2170AA [41C, 106F]
0x2170AC [41C, 106F]
0x217081 [42C, 108F]
0x217082 [42C, 108F]
0x1DF082 [42C, 108F]
0x217084 [42C, 108F]
0x21706C [42C, 109F]
0x21706F [42C, 109F]
0x22306F [42C, ?F]
0x217071 [42C, 109F]
0x217072 [42C, 109F]
0x223074 [42C, ?F]
0x22307B [42C, ?F]
0x21704B [43C, 111F]
0x21704D [43C, 111F]
0x21704E [43C, 111F]
0x217050 [43C, 111F]
0x217059 [43C, 110F]
0x21705A [43C, 110F]
0x22305A [43C, ?F]
0x21705C [43C, 110F]
0x22305C [43C, ?F]
0x21705F [43C, 110F]
0x223060 [43C, ?F]
0x263042 [44C, ?F]
0x217044 [44C, 111F]
0x217047 [44C, 111F]
0x217048 [44C, 111F]
0x21702B [44C, 113F]
0x27F02B [44C, 113F]
0x21702D [44C, 113F]
0x27F02D [44C, 113F]
0x217033 [44C, 112F]
0x217035 [44C, 112F]
0x217036 [44C, 112F]
0x263036 [44C, ?F]
0x263036 [44C, ?F]
0x217039 [44C, 112F]
0x21700A [45C, 114F]
0x263009 [45C, ?F]
0x21700C [45C, 114F]
0x21700F [45C, 114F]
0x217011 [45C, 114F]
0x217012 [45C, 114F]
0x21701D [45C, 113F]
0x21701E [45C, 113F]
0x217021 [45C, 113F]
0x217022 [45C, 113F]
0x216FEF [46C, 116F]
0x262FEF [46C, ?F]
0x216FF1 [46C, 116F]
0x216FF2 [46C, 116F]
0x262FC4 [47C, ?F]
0x262FCB [47C, ?F]
0x262FA4 [48C, ?F]
0x0F6F86 [49C, 121F]
0x262F7F [49C, ?F]
0x262F52 [50C, ?F]
0x262F32 [51C, ?F]
0x262F0E [52C, ?F]
0x2A2EE7 [53C, 129F]
0x2A2EF0 [53C, 128F]
0x27EEF9 [53C, 128F]
0x27EEFA [53C, 128F]
0x262EFF [53C, ?F]
0x262EC9 [54C, ?F]
0x262ED4 [54C, ?F]
0x262EDB [54C, ?F]
0x262EDD [54C, ?F]
0x262EA0 [55C, ?F]
0x262EB7 [55C, ?F]
0x1F6E84 [56C, ?F]
0x1F6E7E [56C, ?F]
0x262E5C [57C, ?F]
0x262E4E [58C, ?F]
0x262DF6 [60C, ?F]
0x262DFA [60C, ?F]
0x262DFC [60C, ?F]
0x262DC0 [61C, ?F]
0x262DC9 [61C, ?F]
0x262DCA [61C, ?F]
0x296DA5 [62C, ?F]
0x296DA6 [62C, ?F]
0x262D90 [63C, ?F]
0x2A2D5A [64C, 149F]
0x2DAD5C [64C, 149F]
0x0FED60 [64C, 148F]
0x2A2D63 [64C, 148F]
0x2DAD63 [64C, 148F]
0x27EBED [74C, 167F]
0x27EBEE [74C, 167F]
0x27E9E3 [89C, 193F]
0x27E8E8 [96C, 206F]
0x27E85A [100C, 213F]
0x27E85C [100C, 213F]
0x27E735 [108C, 227F]
0x27E736 [108C, 227F]
0x27E63B [115C, 240F]
0x27E56B [121C, 250F]
0x27E450 [129C, 264F]
0x27E30D [138C, 281F]
0x27E1A6 [148C, 298F]
0x27E0AE [154C, 311F]
0x27DF61 [164C, 328F]
0x27DE2E [172C, 343F]
0x27DCDA [182C, 360F]
0x27DBED [188C, 372F]
0x27D9DA [203C, 398F]
0x27D896 [212C, 414F]
0x27D78B [219C, 428F]
0x27D759 [221C, 430F]
0x27D75A [221C, 430F]
0x27D488 [241C, 466F]
0x27D48D [241C, 466F]
0x27D398 [247C, 478F]
0x27D2F6 [252C, 486F]
0x27D2FC [252C, 486F]
0x27D190 [262C, 504F]
0x27D0BA [268C, 515F]
0x27D0BC [268C, 515F]
0x36F434 [?C, ?F]
0x3732DA [25?C, 78?F]
0x3732DC [25?C, 78?F]
0x21702E [44?C, 113?F]
0x2A2EEE [53?C, 128?F]
0x2A2EF0 [53?C, 128?F]
0x27CB01 [hiC, hiF]
0x27CB02 [hiC, hiF]
0x1DCD46 [hiC, hiF]
0x0F6089 [hiC, hiF]
0x1DCAF0 [hiC, hiF]
0x36CAF0 [hiC, hiF]
0x210AF0 [hiC, hiF]
0x370AF0 [hiC, hiF]
0x19CAF0 [hiC, hiF]
0x19CAF0 [hiC, hiF]
0x19CAF0 [hiC, hiF]
0x220AF0 [hiC, hiF]
0x0F4AF0 [hiC, hiF]
0x014AFA [hiC, hiF]
0x014AFF [hiC, hiF]

Format string:
ID8h 14b

Benjamin Larsson

unread,
Feb 10, 2020, 6:53:19 AM2/10/20
to rtl...@googlegroups.com
On 2020-02-10 01:42, Mike Causer wrote:
> I've collected a few hundred samples and so far it's quite different to
> the GT-TMBBQ-05 currently supported.
> https://github.com/merbanan/rtl_433/pull/1152
>
> Transmitter: GT-TMBBQ-02s
> Receiver: GT-TMBBQ-02e
>
> Device sends 22 bits, pulse position modulated. Center frequency is
> 434.058MHz.
>
> First 8 bits are a random session ID. Each time you power cycle the
> transmitter, it makes a new code.
> Not sure about the next 14 bits. See bitbench below.
>
> I'm guessing it's something like 8 low temperature bits, 2 high temp
> bits, 2 parity bits?, 2 checksum bits.
>
> Supported temperature range is -10C - 260C (or 14F - 500F), which would
> require at least 9 bit precision for the temperature value.
>

[...]

> Could it be sending a more precise value and being rounded down on the
> receiver?
> Could it be sending a numeric value (eg. temp probe resistance) which is
> converted to C and F on the receiver?
>
> I tried using http://triq.net/bitbench to visualise it. The resulting
> URL is too long, so if you want to see it, paste the following data in,
> and set shift = -2.

Hi, if you invert the input and use the following format strings you get
an increasing T value correlated to the temperature:

ID:hh Flags:bb T:bbbbbbbbbbbb bb
ID:hh Flags:bb T:hhh

I too doesn't see a direct correlation to the F value. So a quick guess
is that what is transmitted is the random id and the adc value of the
temperature probe. The temperature sensors are not linear so most
devices use a table to look up the correct value and send the proper
reading over the air. In this case that logic might be in the receiver.
So log all values and their corresponding reading in and sheet and plot
against reported temperature. If it is not linear then we need a curve
to recover what is on the display output (it should be piece-wise
linear, or possible to create that kind of model).

MvH
Benjamin Larsson
Reply all
Reply to author
Forward
0 new messages