ble_monitor icon indicating copy to clipboard operation
ble_monitor copied to clipboard

[New Sensor]: Govee H5184 and H5198 Smart Meat Thermometer

Open LunkwillAndFook opened this issue 2 years ago • 50 comments

Sensor Description

Govee Meat Thermometer H5184 (4

Additional information

Square body with 4 probes.

https://us.govee.com/products/govee-bluetooth-meat-thermometer

BLE advertisements

Device Name: Govee_H5184_5840
Device Address: CD:31:30:30:58:40

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)
Unknown characteristic (00002ac9-0000-1000-8000-00805f9b34fb)


GATT (00001801-0000-1000-8000-00805f9b34fb)
Service Changed (00002a05-0000-1000-8000-00805f9b34fb)


Unknown service (494e5445-4c4c-495f-524f-434b535f4857)
Unknown characteristic (494e5445-4c4c-495f-524f-434b535f2011)
Unknown characteristic (494e5445-4c4c-495f-524f-434b535f2012)
Unknown characteristic (494e5445-4c4c-495f-524f-434b535f2013)


Unknown service (02f00000-0000-0000-0000-00000000fe00)
Unknown characteristic (02f00000-0000-0000-0000-00000000ff03)
Unknown characteristic (02f00000-0000-0000-0000-00000000ff02)
Unknown characteristic (02f00000-0000-0000-0000-00000000ff00)
Unknown characteristic (02f00000-0000-0000-0000-00000000ff01)

LunkwillAndFook avatar Jul 13 '22 19:07 LunkwillAndFook

Can you post ble advertisement as well.

See https://custom-components.github.io/ble_monitor/sensor_request

Ernst79 avatar Jul 16 '22 07:07 Ernst79

@Ernst79 is this the advertisement data you are requesting?

Screenshot_20220730-133732_Bluetooth LE Scanner

Screenshot_20220730-133741_Bluetooth LE Scanner

LunkwillAndFook avatar Jul 30 '22 17:07 LunkwillAndFook

Yes, it is. But it looks like this govee is using the iBeacon (Apple) format. That is not what i would have expected. Can you get some more of these, along with the measured data (temperature, ....)

Ernst79 avatar Jul 30 '22 18:07 Ernst79

Note to myself: https://github.com/Bluetooth-Devices/govee-ble/pull/29

Ernst79 avatar Aug 12 '22 18:08 Ernst79

@Ernst79 Apologies for not getting back to this. I should have some downtime over the holiday to do some more captures at different temperatures.

LunkwillAndFook avatar Dec 13 '22 04:12 LunkwillAndFook

I was going to open a new request for the Govee 5198 4 probe meat thermometer.

Then I noticed I got the same information as above for it. Even has the iBeacon format.

I will upload some screen shots. The current temp on probe 1 is 73F

NightShaman avatar Dec 25 '22 03:12 NightShaman

Screenshot_20221224_212836_Bluetooth LE Scanner.jpg

Screenshot_20221224_212844_Bluetooth LE Scanner.jpg

NightShaman avatar Dec 25 '22 03:12 NightShaman

Here is 93 F

Screenshot_20221224_213437_Bluetooth LE Scanner.jpg

Screenshot_20221224_213442_Bluetooth LE Scanner.jpg

NightShaman avatar Dec 25 '22 03:12 NightShaman

Probe 2 79F

Screenshot_20221224_213718_Bluetooth LE Scanner.jpg

NightShaman avatar Dec 25 '22 03:12 NightShaman

Port 3 91F

Screenshot_20221224_213908_Bluetooth LE Scanner.jpg

NightShaman avatar Dec 25 '22 03:12 NightShaman

Port 4 76F

Screenshot_20221224_214056_Bluetooth LE Scanner.jpg

NightShaman avatar Dec 25 '22 03:12 NightShaman

Hope that helps. If you need anything else let me know.

NightShaman avatar Dec 25 '22 03:12 NightShaman

Thanks, can this be correct? it is the second probe that reports a value. And I have 5 temperatures in the data. 63 can be the alarm?

{'firmware': 'Govee', 'temperature probe 1': 0.0, 'temperature probe 2': 74.0, 'temperature probe 3': 0.0, 'temperature probe 4': 0.0, 'temperature alarm': 63.0, 'rssi': -59, 'mac': 'C6313030226C', 'type': 'H5198', 'packet': 'no packet id', 'data': True}

Can this be right?

Ernst79 avatar Jan 08 '23 11:01 Ernst79

I think the H5198 will the same format as the H5184. Can you both test with 11.4.0-beta (enable beta releases in HACS). I'm pretty convinced about the H5184, not 100% sure about the H5198

Ernst79 avatar Jan 08 '23 19:01 Ernst79

Possible on the alarm, I do not believe I had an alarm set that low. The lowest I set it was 95. To let me know the smoker went out... Testing 11.4.0-beta, It found the device, and not an iBeacon so progress :)

After 8 min still unknown for temp, I set the alarm on the first one to 95. and that was unknown as well.

Looks like it found 3 of the 4

image

NightShaman avatar Jan 09 '23 12:01 NightShaman

This was probe 1 @ 73 with alarm set if it goes below 95

Screenshot_20230109_064627_Bluetooth LE Scanner.jpgScreenshot_20230109_064633_Bluetooth LE Scanner.jpg

NightShaman avatar Jan 09 '23 12:01 NightShaman

The messages are alternating between sensor 1+2 and sensor 3+4- (it needs 2 messages for all data). This is a message of sensor 3+4. Can you try another one, to get sensor 1+2

Ernst79 avatar Jan 09 '23 13:01 Ernst79

A little bit of background, how I have programmed it in the beta version. When looking at your data, I printed the part that starts with 17ff...., which is the manufacturer specific data.

# 17ff  3022     6c01000101c0 01 0f ffff   1ce8    ffff ffff   189c    ffff 1aff4c000215494e54454c4c495f524f434b535f48575075f2ff0c00000000
# 17ff  3022     6c01000101b5 02 0f ffff   ffff    ffff ffff   ffff    ffff 1aff4c000215494e54454c4c495f524f434b535f48575075f2ff0c00000000
#     comp_id                 id    temp 1 alarm 1 ---- temp 2 alarm 2 ---- |------------iBeacon package---------------------------------|

The id is 01 for probe 1 and 2. If the id is 02, than it reports probe 3 and 4 (that is how the 5184 works, looks the same here). As you can see, I left 2x2 bytes unused, not sure what data is in these parts. If you can make some more screenshots for which you write down which sensor is connected, which alarm temperature is set and which temperature is measured, I can probably find out how it works. But keep an eye on the id, that it corresponds to what you want to have measured (01 for probe 1 and 2. 02 for probe 3 and 4)

Ernst79 avatar Jan 10 '23 10:01 Ernst79

Ok I will work on that. I was out of town this week so was unable to. I will get more readings this weekend. I will try to do each probe with a low alarm, high alarm and no alarm set. And all 4 plugged in at the same time. to see if that helps.

NightShaman avatar Jan 14 '23 16:01 NightShaman

Sorry weekend was crazy pants. I plugged in all 4 got them to different Temps. No alerts set figured a good place to start.

20230117_200227.jpg

Screenshot_20230117_200221_Bluetooth LE Scanner.jpg

NightShaman avatar Jan 18 '23 02:01 NightShaman

#     comp_id              ?? ??    temp a alarm a ---- temp b alarm b ----
---------------------------------------------------------------------------
# 17ff  3022    6c01000101 b5 02 0f ffff   ffff   ffff   ffff   ffff   ffff (probe 1 and 2 not connected)
#
#
# 17ff  3022    6c01000101 bf 42 0f 0ce4   ffff   ffff   ffff   ffff   0dac (probe 3 = 91F)
#                                   33.0C                              35.0C
#                                   =91F                               =95F
# 17ff  3022    6c01000101 c0 01 0f ffff   1ce8   ffff   ffff   189c   0dac (probe 1 and 2 not connected)
#                                          74.0C                63.0C
#                                          =165F                =145F
# 17ff  3022    6c01000101 b5 02 0f ffff   ffff   ffff   ffff   ffff   ffff (probe 1 and 2 not connected)
#
#
# 17ff  3022    6c01000101 c0 41 0f 0ce4   1ce8   ffff   ffff   189c   ffff (probe 1 = 93F, or perhaps probe 3 = 91F???)
#                                   33.0C  74.0C                63.0C
#                                   =91F   =165F                =145F
# 17ff  3022    6c01000101 b2 c2 0f 0af0   ffff   ffff   0e74   ffff   ffff (probe 3 = 82F, probe 4 = 99F)
#                                   28.0C                37.0C
#                                   =82F                 =99F

I'm able to find the temperatures just fine, but the problem is that I can't figure out when it reports probe 1+2 and when probe 3+4. The other sensors have a byte that is 01 or 02 I thought the second ?? column was used for this, but it turns out it has more different values. Can't see the logic yet.

Do you have the Bluetooth integration installed in HA. if so, can you make a longer log in HA, by enabling debug logging in HA for the Bluetooth integration. Please make a printscreen of the connected sensors temperatures.

Ernst79 avatar Jan 18 '23 20:01 Ernst79

I do I think when I tried before It wasn't logging. Probably a me issue. I will try again once I get a chance.

NightShaman avatar Jan 20 '23 03:01 NightShaman

Not sure if I messed up and should have stayed on 11.4.0 beta, I have a habit of just updating. Now when it connected it goes back to iBeacon. I don't see the option for that beta anymore.

Was able to find the Set debug I will attach. But as it went back to iBeacon I can tell you the temps. Probe 1: 84 Probe 2: 73 Probe 3: 97 Probe 4: 79

Not sure if it makes a difference or not in what you are looking at but this model also has WiFi

home-assistant_2023-01-22T16-09-06.297Z.log

NightShaman avatar Jan 22 '23 16:01 NightShaman

You should have stayed on that beta. I'll create a new one,

Ernst79 avatar Jan 22 '23 17:01 Ernst79

I just released 11.5.0-beta, which has the Govee H5184 and H5198 code.

For the H5198, you now only have to enable debug logging for BLE monitor (at debug level). I added a line of code that will make the logs.

Ernst79 avatar Jan 22 '23 18:01 Ernst79

Ok will make sure not to update again until we get this down. No matter what yells at me..

Installing now. Should have some data soon

NightShaman avatar Jan 22 '23 18:01 NightShaman

Hoping this helps. HA shows Unknown for all temps.

Current Temps with no alarms is Probe 1: 86 Probe 2: 75 Probe 3: 97 Probe 4: 72

image

home-assistant_2023-01-22T18-56-12.401Z.log

NightShaman avatar Jan 22 '23 18:01 NightShaman

This is the right info I need. I collected some of the data of all previous messages, including the last.

  • [x] Temperature is clear.

Now I need to figure out how it determines which sensor is broadcasting. I can see it is switching between probe 1+2 and probe 3+4, but I don't see the logic how you can see when it is sending what.

Can you make a long log, like 5 minutes long log for each of the following cases

  • all probes connected
  • all probes connected, all alarms set
  • probe 1 and 4 connected
  • probe 1 and 4 connected, alarms set
  • probe 2 and 3 connected
  • probe 2 and 3 connected, alarms set
#     comp_id              ?? ??    temp a alarm a ---- temp b alarm b ----   temp C  temp F  temp C  temp F    probe
---------------------------------------------------------------------------      probe a          probe b
# 17ff  3022    6c01000101 b5 02 0f ffff   ffff   ffff   ffff   ffff   ffff   not connected    not connected   1 and 2
# 17ff  3022    6c01000101 b5 02 0f ffff   ffff   ffff   ffff   ffff   ffff   not connected    not connected   1 and 2
# 17ff  3022    6c01000101 a6 c1 0f 0bb8   ffff   ffff   0960   ffff   ffff   30 C = 86 F      24 C = 75 F     1 and 2
# 17ff  3022    6c01000101 a5 c1 0f 0bb8   ffff   ffff   0960   ffff   ffff   30 C = 86 F      24 C = 75 F     1 and 2
# 17ff  3022    6c01000101 bf 42 0f 0ce4   ffff   ffff   ffff   ffff   0dac   33 C = 91 F      alarm set       1 and 2
# 17ff  3022    6c01000101 c0 01 0f ffff   1ce8   ffff   ffff   189c   0dac   alarm set        alarm set       1 and 2

# 17ff  3022    6c01000101 c0 41 0f 0ce4   1ce8   ffff   ffff   189c   ffff   33 C = 91 F      alarm set       1 and 2 or 3 and 4

# 17ff  3022    6c01000101 b2 c2 0f 0af0   ffff   ffff   0e74   ffff   ffff   28 C = 82 F      37 C = 99 F     3 and 4 
# 17ff  3022    6c01000101 a6 c2 0f 0e10   ffff   ffff   0898   ffff   ffff   36 C = 97 F      22 C = 72 F     3 and 4
# 17ff  3022    6c01000101 a5 c2 0f 0e10   ffff   ffff   0898   ffff   ffff   36 C = 97 F      22 C = 72 F     3 and 4

Lets assume we should be able to extract it from the second ?? column

02 = probe 1+2 not connected, no alarm c1 = probe 1+2, no alarm c2 = probe 3+4, no alarm

Ernst79 avatar Jan 22 '23 19:01 Ernst79

Ok think I got it all

Should be about every 5 min.

home-assistant_2023-01-22T20-38-41.026Z.log

NightShaman avatar Jan 22 '23 20:01 NightShaman

I know 1st order of business is sensors. When looking through all the data, are you able to see battery level as well?

NightShaman avatar Jan 22 '23 20:01 NightShaman