custom-components / ble_monitor

BLE monitor for passive BLE sensors
https://community.home-assistant.io/t/passive-ble-monitor-integration/
MIT License
1.9k stars 245 forks source link

Support for H5071? #670

Closed PerfectBake420 closed 2 years ago

PerfectBake420 commented 2 years ago

I have a Govee H5071 and was hoping to integrate it. Is there any support for that model?

Ernst79 commented 2 years ago

Not yet, but it's probably easy to add. I just need some BLE advertisement data from you. The FAQ explains how to get this in this article. https://custom-components.github.io/ble_monitor/faq#my-sensor-is-not-in-the-list-of-supported-ones-how-to-request-implementation

Try with report_unknown: Govee first, if that doesn't work, make a log with report_unknown: Other.

Ernst79 commented 2 years ago

You most likely will have to use report_ unknown: Other

just post a log here and I will find the advertisements I need

PerfectBake420 commented 2 years ago

I will get you this information when I get a usb bluetooth adapter. I didnt think i would need 1. I have it on the wifi already and thought it would just read it. I did download the bluetooth le android app and got this information:

Govee_H5071_A059 MAC: e3:60:59:21:a0:59 Updated: 2022-01-29 20:41:00 RSSI: -74.0db / -71.0db UUID: 494e5445-4c4c-495f-524f-434b535f4857 MAJOR: 20816 MINOR: 22944 TX POWER: -62 DISTANCE: 2.67m DESCRIPTOR: Near

Ernst79 commented 2 years ago

BLE monitor is BLE only. I need a scan record from this sensor, which you e.g. can get with Bluetooth LE scanner on android. But we can also wait till you have your Bluetooth adapter, no problem.

PerfectBake420 commented 2 years ago

I should have it tomorrow evening. I did post the information from the Bluetooth LE Scanner on Android. Thank you for you assistance

PerfectBake420 commented 2 years ago

Wait until a number of “BLE ADV from UNKNOWN” messages accumulate in the log.

where do i find the log they want?

Ernst79 commented 2 years ago

In the home assistant log . Config -- Log

PerfectBake420 commented 2 years ago

Here is the log. The device i have is a govee h5071 thermostat/humidistat

home-assistant.log

Here is the info I got from Bluetooth LE Android App: Govee_H5071_A059 MAC: e3:60:59:21:a0:59 Updated: 2022-01-29 20:41:00 RSSI: -74.0db / -71.0db UUID: 494e5445-4c4c-495f-524f-434b535f4857 MAJOR: 20816 MINOR: 22944 TX POWER: -62 DISTANCE: 2.67m DESCRIPTOR: Near

Ernst79 commented 2 years ago

The messages only show the following data

020106 --> Flags, not interesting 07030a18f5fe88ec --> 16-bit Service Class UUIDs ??? 1109476f7665655f48353037315f41303539 --> Full name: Govee_H5071_A059

Normally, Govee puts its data in a xxFFxxxx packet. 16-bit service class UUIDs are normally only two bytes long, like 0303AABB , so lets analyze it:

07030a18f5fe88ec 07 = length (7 bytes after 07) 03 = indicator for 16-bit service class UUIDs 0a18 = 16-bit service class UUID (normally) f5fe = ???? 0xFEF5 = 88ec = This is normally used as company identifier for Govee.

So, it might be that it is just sending "hello, I'm here" to set up an connection (I read it also uses wifi). Or we somehow didn't catch the correct data packet.

PerfectBake420 commented 2 years ago

Yes it is on the wifi also. It connects via Bluetooth for settings then uses wifi to send out phone notifications. The main connection is bluetooth as it is needed to make any changes to the unit. I will see if I can find any other information that you will need. Thank you again for your assistance

PerfectBake420 commented 2 years ago

Here is the full log. I hope it helps. I did see it pop up in the entities area. I can get readings from it. It shows up as a H5051 and the temp and hum updates are far inbetween eachother. home-assistant.log

Ernst79 commented 2 years ago

It looks like your forgot to enable debug logging at info level, there is no report_unknown data in the log. Did you enable report_unknown: Other and did you enable debug logging at info level for BLE monitor?

PerfectBake420 commented 2 years ago

Your totally right. I forgot I turned those off after sending the last log. I apologize for that.

home-assistant.log

PerfectBake420 commented 2 years ago

Bump to bring the dev back

Ernst79 commented 2 years ago

Sorry, forgot to look. Unfortunately still the same messages.

020106 --> Flags, not interesting 07030a18f5fe88ec --> 16-bit Service Class UUIDs ??? 1109476f7665655f48353037315f41303539 --> Full name: Govee_H5071_A059

It's exactly the same message as before, so it doesn't seem to contain the measurement data.

If I understand this package correct, it should have the same format as the H5051 and H5074 https://github.com/natekspencer/hacs-govee_ble/blob/76e27898f60568948310ce1444365fc52d8b1886/custom_components/govee_ble/scanner/device.py#L126

But I don't see any message that starts with xxFF88EC (xx can be anything)

So, my question to you is, can you try the hacs-govee_ble integration and check if it works.

If it works with that integration (which they say it does), we should be able to add it to BLE monitor, but I doubt it does work. You might have to stop BLE monitor temporary, if you use that for other sensors. You can do that by setting your BLE adapter to "disable" temporary.

Ernst79 commented 2 years ago

Did you give it a try ?

PerfectBake420 commented 2 years ago

I did not give it a try. It does work, it is just slow to update and if I restart HA, it comes in at as high as 22,000 degrees lol. The RH is almost always correct. It shows up as a H50501 instead of the H5071. I just accepted it as is. Thank you

Ernst79 commented 2 years ago

Thanks. Are you using the latest version of BLE monitor? This strange values during restart were fixed in the most recent update, but if you still have this issue, let us know. But first check for updates in HACS.

PerfectBake420 commented 2 years ago

I was on 7.7.1. I have now updated to 7.9.2 and the crazy temp at start up is no longer there. Thank you.

Ernst79 commented 2 years ago

Excellent. I'll add the sensor to the docs and device name.

Ernst79 commented 2 years ago

Changed the device name in 5.9.3 to H5051/H5071