Closed markwoodward86 closed 2 years ago
When you have collected some ble data, I can add probably add it.
see https://custom-components.github.io/ble_monitor/sensor_request
Good Morning Ernst, does this help? I can try other methods if not.
[BLE Scan Data Viewer] Device Address : 62:00:A1:29:16:8A Raw Data : 02 01 06 12 FF 49 48 32 50 42 36 32 30 30 61 31 32 39 31 36 38 61 05 12 06 00 A0 00 02 0A 00 03 03 E0 FF 08 09 49 6E 6B 62 69 72 64 -- Bytes -- [00] [002] [0x02] [ 0 0 0 0 0 0 1 0 ] [01] [001] [0x01] [ 0 0 0 0 0 0 0 1 ] [02] [006] [0x06] [ 0 0 0 0 0 1 1 0 ] [03] [018] [0x12] [ 0 0 0 1 0 0 1 0 ] [04] [255] [0xFF] [ 1 1 1 1 1 1 1 1 ] [05] [073] [0x49] [ 0 1 0 0 1 0 0 1 ] [06] [072] [0x48] [ 0 1 0 0 1 0 0 0 ] [07] [050] [0x32] [ 0 0 1 1 0 0 1 0 ] [08] [080] [0x50] [ 0 1 0 1 0 0 0 0 ] [09] [066] [0x42] [ 0 1 0 0 0 0 1 0 ] [10] [054] [0x36] [ 0 0 1 1 0 1 1 0 ] [11] [050] [0x32] [ 0 0 1 1 0 0 1 0 ] [12] [048] [0x30] [ 0 0 1 1 0 0 0 0 ] [13] [048] [0x30] [ 0 0 1 1 0 0 0 0 ] [14] [097] [0x61] [ 0 1 1 0 0 0 0 1 ] [15] [049] [0x31] [ 0 0 1 1 0 0 0 1 ] [16] [050] [0x32] [ 0 0 1 1 0 0 1 0 ] [17] [057] [0x39] [ 0 0 1 1 1 0 0 1 ] [18] [049] [0x31] [ 0 0 1 1 0 0 0 1 ] [19] [054] [0x36] [ 0 0 1 1 0 1 1 0 ] [20] [056] [0x38] [ 0 0 1 1 1 0 0 0 ] [21] [097] [0x61] [ 0 1 1 0 0 0 0 1 ] [22] [005] [0x05] [ 0 0 0 0 0 1 0 1 ] [23] [018] [0x12] [ 0 0 0 1 0 0 1 0 ] [24] [006] [0x06] [ 0 0 0 0 0 1 1 0 ] [25] [000] [0x00] [ 0 0 0 0 0 0 0 0 ] [26] [160] [0xA0] [ 1 0 1 0 0 0 0 0 ] [27] [000] [0x00] [ 0 0 0 0 0 0 0 0 ] [28] [002] [0x02] [ 0 0 0 0 0 0 1 0 ] [29] [010] [0x0A] [ 0 0 0 0 1 0 1 0 ] [30] [000] [0x00] [ 0 0 0 0 0 0 0 0 ] [31] [003] [0x03] [ 0 0 0 0 0 0 1 1 ] [32] [003] [0x03] [ 0 0 0 0 0 0 1 1 ] [33] [224] [0xE0] [ 1 1 1 0 0 0 0 0 ] [34] [255] [0xFF] [ 1 1 1 1 1 1 1 1 ] [35] [008] [0x08] [ 0 0 0 0 1 0 0 0 ] [36] [009] [0x09] [ 0 0 0 0 1 0 0 1 ] [37] [073] [0x49] [ 0 1 0 0 1 0 0 1 ] [38] [110] [0x6E] [ 0 1 1 0 1 1 1 0 ] [39] [107] [0x6B] [ 0 1 1 0 1 0 1 1 ] [40] [098] [0x62] [ 0 1 1 0 0 0 1 0 ] [41] [105] [0x69] [ 0 1 1 0 1 0 0 1 ] [42] [114] [0x72] [ 0 1 1 1 0 0 1 0 ] [43] [100] [0x64] [ 0 1 1 0 0 1 0 0 ]
Yes, this is ok. Ill have a look later.
I had a look at the data. The relevant part is
12ff4948325042363230306131323931363861
12
= length (18 bytes)
ff
= manufacturer specific data
4948325042363230306131323931363861
= the actual data.
Inkbird is using different formats, but most of the time they use two bytes for each value divided by 100 (or sometimes 10) to get the data. If I do that, I end up with 8 values. Can't make much sense of it yet, but perhaps we have to divide it with 1000? Or your measurement was during cooking?
'value 1': 185.05, 'value 2': 205.3, 'value 3': 138.9, 'value 4': 123.38, 'value 5': 248.8, 'value 6': 128.49, 'value 7': 248.8, 'value 8': 128.49
Can you make a new log, and write down what temperature I should expect, and what measurements are reported (e.g. in an Inkbird app). How many probes does it have and does it measure something other than temperature.
Hi,
Thanks for looking into this. I will absolutely get you more data when i get home from work later.
I believe at the time i sniffed those packets it was using the instant read probe without the two 'in-cook'(?) probes inserted. I will make a more robust observation and provide the details soon.
Instant probe at room temp
[BLE Scan Data Viewer] Device Address : 62:00:A1:29:16:8A Device Name : Inkbird Rssi : -34 dBm Raw Data : 02 01 06 12 FF 49 48 32 50 42 36 32 30 30 61 31 32 39 31 36 38 61 05 12 06 00 A0 00 02 0A 00 03 03 E0 FF 08 09 49 6E 6B 62 69 72 64
It seems difficult to sniff after initial turn on. Here is the same scenario as above after a off/ on. About 86 deg F
[BLE Scan Data Viewer] Device Address : 62:00:A1:29:16:8A Raw Data : 02 01 06 12 FF 49 48 32 50 42 36 32 30 30 61 31 32 39 31 36 38 61 05 12 06 00 A0 00 02 0A 00 03 03 E0 FF 08 09 49 6E 6B 62 69 72 64 -- Bytes -- [00] [002] [0x02] [ 0 0 0 0 0 0 1 0 ] [01] [001] [0x01] [ 0 0 0 0 0 0 0 1 ] [02] [006] [0x06] [ 0 0 0 0 0 1 1 0 ] [03] [018] [0x12] [ 0 0 0 1 0 0 1 0 ] [04] [255] [0xFF] [ 1 1 1 1 1 1 1 1 ] [05] [073] [0x49] [ 0 1 0 0 1 0 0 1 ] [06] [072] [0x48] [ 0 1 0 0 1 0 0 0 ] [07] [050] [0x32] [ 0 0 1 1 0 0 1 0 ] [08] [080] [0x50] [ 0 1 0 1 0 0 0 0 ] [09] [066] [0x42] [ 0 1 0 0 0 0 1 0 ] [10] [054] [0x36] [ 0 0 1 1 0 1 1 0 ] [11] [050] [0x32] [ 0 0 1 1 0 0 1 0 ] [12] [048] [0x30] [ 0 0 1 1 0 0 0 0 ] [13] [048] [0x30] [ 0 0 1 1 0 0 0 0 ] [14] [097] [0x61] [ 0 1 1 0 0 0 0 1 ] [15] [049] [0x31] [ 0 0 1 1 0 0 0 1 ] [16] [050] [0x32] [ 0 0 1 1 0 0 1 0 ] [17] [057] [0x39] [ 0 0 1 1 1 0 0 1 ] [18] [049] [0x31] [ 0 0 1 1 0 0 0 1 ] [19] [054] [0x36] [ 0 0 1 1 0 1 1 0 ] [20] [056] [0x38] [ 0 0 1 1 1 0 0 0 ] [21] [097] [0x61] [ 0 1 1 0 0 0 0 1 ] [22] [005] [0x05] [ 0 0 0 0 0 1 0 1 ] [23] [018] [0x12] [ 0 0 0 1 0 0 1 0 ] [24] [006] [0x06] [ 0 0 0 0 0 1 1 0 ] [25] [000] [0x00] [ 0 0 0 0 0 0 0 0 ] [26] [160] [0xA0] [ 1 0 1 0 0 0 0 0 ] [27] [000] [0x00] [ 0 0 0 0 0 0 0 0 ] [28] [002] [0x02] [ 0 0 0 0 0 0 1 0 ] [29] [010] [0x0A] [ 0 0 0 0 1 0 1 0 ] [30] [000] [0x00] [ 0 0 0 0 0 0 0 0 ] [31] [003] [0x03] [ 0 0 0 0 0 0 1 1 ] [32] [003] [0x03] [ 0 0 0 0 0 0 1 1 ] [33] [224] [0xE0] [ 1 1 1 0 0 0 0 0 ] [34] [255] [0xFF] [ 1 1 1 1 1 1 1 1 ] [35] [008] [0x08] [ 0 0 0 0 1 0 0 0 ] [36] [009] [0x09] [ 0 0 0 0 1 0 0 1 ] [37] [073] [0x49] [ 0 1 0 0 1 0 0 1 ] [38] [110] [0x6E] [ 0 1 1 0 1 1 1 0 ] [39] [107] [0x6B] [ 0 1 1 0 1 0 1 1 ] [40] [098] [0x62] [ 0 1 1 0 0 0 1 0 ] [41] [105] [0x69] [ 0 1 1 0 1 0 0 1 ] [42] [114] [0x72] [ 0 1 1 1 0 0 1 0 ] [43] [100] [0x64] [ 0 1 1 0 0 1 0 0 ]
And once more using a different cell app:
Device Name: Inkbird Device Address: 62:00:A1:29:16:8A
Services:-------------------------- GAP (00001800-0000-1000-8000-00805f9b34fb) Device Name (00002a00-0000-1000-8000-00805f9b34fb) Appearance (00002a01-0000-1000-8000-00805f9b34fb) Peripheral Preferred Connection Parameters (00002a04-0000-1000-8000-00805f9b34fb)
GATT (00001801-0000-1000-8000-00805f9b34fb) Service Changed (00002a05-0000-1000-8000-00805f9b34fb)
Device Information (0000180a-0000-1000-8000-00805f9b34fb) System ID (00002a23-0000-1000-8000-00805f9b34fb) Firmware Revision String (00002a26-0000-1000-8000-00805f9b34fb)
Unknown service (0000ffc0-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ffc1-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ffc2-0000-1000-8000-00805f9b34fb)
Unknown service (0000ff90-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff91-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff92-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff93-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff94-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff95-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff96-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff97-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff98-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff99-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff9a-0000-1000-8000-00805f9b34fb)
Unknown service (0000ffe0-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ffe9-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ffe4-0000-1000-8000-00805f9b34fb)
Unknown service (5833ff01-9b8b-5191-6142-22a4536ef123) Unknown characteristic (5833ff02-9b8b-5191-6142-22a4536ef123) Unknown characteristic (5833ff03-9b8b-5191-6142-22a4536ef123)
With the 'in cook' probes inserted, also room temp(77 F ish):
[BLE Scan Data Viewer] Device Address : 62:00:A1:29:16:8A Raw Data : 02 01 06 12 FF 49 48 32 50 42 36 32 30 30 61 31 32 39 31 36 38 61 05 12 06 00 A0 00 02 0A 00 03 03 E0 FF 08 09 49 6E 6B 62 69 72 64 -- Bytes -- [00] [002] [0x02] [ 0 0 0 0 0 0 1 0 ] [01] [001] [0x01] [ 0 0 0 0 0 0 0 1 ] [02] [006] [0x06] [ 0 0 0 0 0 1 1 0 ] [03] [018] [0x12] [ 0 0 0 1 0 0 1 0 ] [04] [255] [0xFF] [ 1 1 1 1 1 1 1 1 ] [05] [073] [0x49] [ 0 1 0 0 1 0 0 1 ] [06] [072] [0x48] [ 0 1 0 0 1 0 0 0 ] [07] [050] [0x32] [ 0 0 1 1 0 0 1 0 ] [08] [080] [0x50] [ 0 1 0 1 0 0 0 0 ] [09] [066] [0x42] [ 0 1 0 0 0 0 1 0 ] [10] [054] [0x36] [ 0 0 1 1 0 1 1 0 ] [11] [050] [0x32] [ 0 0 1 1 0 0 1 0 ] [12] [048] [0x30] [ 0 0 1 1 0 0 0 0 ] [13] [048] [0x30] [ 0 0 1 1 0 0 0 0 ] [14] [097] [0x61] [ 0 1 1 0 0 0 0 1 ] [15] [049] [0x31] [ 0 0 1 1 0 0 0 1 ] [16] [050] [0x32] [ 0 0 1 1 0 0 1 0 ] [17] [057] [0x39] [ 0 0 1 1 1 0 0 1 ] [18] [049] [0x31] [ 0 0 1 1 0 0 0 1 ] [19] [054] [0x36] [ 0 0 1 1 0 1 1 0 ] [20] [056] [0x38] [ 0 0 1 1 1 0 0 0 ] [21] [097] [0x61] [ 0 1 1 0 0 0 0 1 ] [22] [005] [0x05] [ 0 0 0 0 0 1 0 1 ] [23] [018] [0x12] [ 0 0 0 1 0 0 1 0 ] [24] [006] [0x06] [ 0 0 0 0 0 1 1 0 ] [25] [000] [0x00] [ 0 0 0 0 0 0 0 0 ] [26] [160] [0xA0] [ 1 0 1 0 0 0 0 0 ] [27] [000] [0x00] [ 0 0 0 0 0 0 0 0 ] [28] [002] [0x02] [ 0 0 0 0 0 0 1 0 ] [29] [010] [0x0A] [ 0 0 0 0 1 0 1 0 ] [30] [000] [0x00] [ 0 0 0 0 0 0 0 0 ] [31] [003] [0x03] [ 0 0 0 0 0 0 1 1 ] [32] [003] [0x03] [ 0 0 0 0 0 0 1 1 ] [33] [224] [0xE0] [ 1 1 1 0 0 0 0 0 ] [34] [255] [0xFF] [ 1 1 1 1 1 1 1 1 ] [35] [008] [0x08] [ 0 0 0 0 1 0 0 0 ] [36] [009] [0x09] [ 0 0 0 0 1 0 0 1 ] [37] [073] [0x49] [ 0 1 0 0 1 0 0 1 ] [38] [110] [0x6E] [ 0 1 1 0 1 1 1 0 ] [39] [107] [0x6B] [ 0 1 1 0 1 0 1 1 ] [40] [098] [0x62] [ 0 1 1 0 0 0 1 0 ] [41] [105] [0x69] [ 0 1 1 0 1 0 0 1 ] [42] [114] [0x72] [ 0 1 1 1 0 0 1 0 ] [43] [100] [0x64] [ 0 1 1 0 0 1 0 0 ]
And on a different cell app
Device Name: Inkbird Device Address: 62:00:A1:29:16:8A
Services:-------------------------- GAP (00001800-0000-1000-8000-00805f9b34fb) Device Name (00002a00-0000-1000-8000-00805f9b34fb) Appearance (00002a01-0000-1000-8000-00805f9b34fb) Peripheral Preferred Connection Parameters (00002a04-0000-1000-8000-00805f9b34fb)
GATT (00001801-0000-1000-8000-00805f9b34fb) Service Changed (00002a05-0000-1000-8000-00805f9b34fb)
Device Information (0000180a-0000-1000-8000-00805f9b34fb) System ID (00002a23-0000-1000-8000-00805f9b34fb) Firmware Revision String (00002a26-0000-1000-8000-00805f9b34fb)
Unknown service (0000ffc0-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ffc1-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ffc2-0000-1000-8000-00805f9b34fb)
Unknown service (0000ff90-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff91-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff92-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff93-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff94-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff95-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff96-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff97-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff98-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff99-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ff9a-0000-1000-8000-00805f9b34fb)
Unknown service (0000ffe0-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ffe9-0000-1000-8000-00805f9b34fb) Unknown characteristic (0000ffe4-0000-1000-8000-00805f9b34fb)
Unknown service (5833ff01-9b8b-5191-6142-22a4536ef123) Unknown characteristic (5833ff02-9b8b-5191-6142-22a4536ef123) Unknown characteristic (5833ff03-9b8b-5191-6142-22a4536ef123)
hmmm, I have put all raw messages below eachother, but they are 100% the same
Raw Data : 02 01 06 12 FF 49 48 32 50 42 36 32 30 30 61 31 32 39 31 36 38 61 05 12 06 00 A0 00 02 0A 00 03 03 E0 FF 08 09 49 6E 6B 62 69 72 64
Raw Data : 02 01 06 12 FF 49 48 32 50 42 36 32 30 30 61 31 32 39 31 36 38 61 05 12 06 00 A0 00 02 0A 00 03 03 E0 FF 08 09 49 6E 6B 62 69 72 64
Raw Data : 02 01 06 12 FF 49 48 32 50 42 36 32 30 30 61 31 32 39 31 36 38 61 05 12 06 00 A0 00 02 0A 00 03 03 E0 FF 08 09 49 6E 6B 62 69 72 64
Raw Data : 02 01 06 12 FF 49 48 32 50 42 36 32 30 30 61 31 32 39 31 36 38 61 05 12 06 00 A0 00 02 0A 00 03 03 E0 FF 08 09 49 6E 6B 62 69 72 64
Not a single byte is different.
Did you enable the option "active scan" in the BLE monitor settings? Some Inkbirds require active scan to be enabled, after which they are sending more (useful) data.
I tried mocking up a cook by altering the temperature of the 'in cook' probe number 1 and the raw data never changed as you mentioned. I do not see an option in the (many) different ble scanner apps i downloaded to enable active scan. I do see a number of 'unknown' devices getting picked up at different distances. I will try a different method of collecting the data as mentioned in your repo. Maybe a way of doing this via my laptop ble dongle will gather better results.
If you have Home Assistant running, it should work with active scan and the function "report unknown" to get the data as well.
I did try enabling active scan on the integration config and log unknown values for Inkbird to HA log. I do not see that anything was picked up or logged when i switched on the probe multiple times. I wonder if the probe just has some outdated bluetooth. I did reach out to Inkbird but they declined to provide any information. I can try to spend more time this weekend investigating but may be a lost cause for this one unfortunately.
Very strange indeed.
I tried using Wireshark and BTVS on Windows. Hopefully the capture in the image gives you more info. I can save the output as a wireshark file if that suits you better. Temp was hovering around 80F on the probe
This seems to be the same again, Only an UUID 16 and a device name (Inkbird).
It looks like its always preceded by this. But thats all i can see for this device. Unless it advertises with a different MAC for the actual temperature data.
I dont think this is going anywhere. I thank you for your time in this investment but im happy to close this.
@markwoodward86 did you ever figure out a way to pull in data from this device?
I did not. I didnt look at it again after my last comment to be honest.
Looking at the Inkbird IHT-2PB with nrf-connect, it looks like you need to connect to it to get the data from it. If someone wants to look at it, this code may be a good starting point: https://gitlab.com/sensor-stuff/inkbird-iht-2pb-to-mqtt/-/blob/main/inkbird_IHT-2PB/inkbird_IHT-2PB.h?ref_type=heads
Below is the result of a scan in nrf-connect desktop, the ManufacturerSpecificData doesn't change even when temperature changes
When you connect you can see the 'serviceUUID' and 'characteristic1' as in inkbird_IHT-2PB.h. However I was not able to get data and also the IHT disconnect automatically after sometime with a 'BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION'
I have created an ESPHome project to add Inkbird-ITH-2PB to home assistant. It was easier for me to use ESPHome than to understand how ble_monitor and Inkbird integration work. But it should be easy for someone familiar with Home assistant developments to reuse the code to enable notification and parse temperature.
Sensor Description
Inkbird IHT-2PB instant read meat thermometer
Additional information
https://inkbird.com/products/bluetooth-food-thermometer-iht-2pb
BLE advertisements