Govee H5054: Difference between revisions
Created page with "Govee H5054 is a wireless water sensor to detect water leaks. It uses the 433MHz radio to broadcast events. == RTL 433 == See the source code here: https://github.com/merbanan/rtl_433/blob/master/src/devices/govee.c Here's a sample output from rtl_433 for this device: {{highlight|lang=text|code= _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ time : 2025-03-21 18:13:09 model : Govee-Water id : 14029 event..." |
No edit summary |
||
| Line 1: | Line 1: | ||
Govee H5054 is a wireless water sensor to detect water leaks. It uses the | Govee H5054 is a wireless water sensor to detect water leaks. It uses the 433 MHz radio to transmit events. | ||
== RTL 433 == | == RTL 433 == | ||
| Line 26: | Line 26: | ||
== Other notes == | == Other notes == | ||
The device will begin chirping when the battery voltage drops below 2 volts (verified with a bench power supply). | The device will begin chirping when the battery voltage drops below 2 volts (verified with a bench power supply). Every time it chirps, it will broadcast its battery reading values. | ||
== Home assistant integration == | |||
The rtl_433 utility is able to listen for and decode specific 433 MHz radio transmission messages using a RTL-SDR USB dongle. It supports sending decoded messages to various destinations including MQTT. As a result, we can use rtl_433 to effectively act as a gateway between 433 MHz radio transmissions and our Home Assistant MQTT broker. | |||
For my personal setup, I have a Nooelec RTL-SDR USB dongle plugged into a OpenWRT router. The rtl_433 package is available on OpenWRT 24's package repos. Once installed, run the following to listen for the Govee messages: | |||
{{Highlight | |||
| code = # rtl_433 -C si -F mqtt://mqtt-broker-server:1883,devices=rtl_433/Govee-Water[/id] | |||
| lang = terminal | |||
}} | |||
The MQTT topic specified here is <code>rtl_433/Govee-Water/<device-id></code>. | |||
To get Home Assistant configured for these sensors, add the MQTT integration. | |||
Next, use the auto-discovery script at: https://github.com/mekaneck/Govee-Water-Leak-Home-Assistant-Autodiscovery. The installation involves copying and pasting the script into the Home Assistant configuration file. The script contains a list of devices that should be added. You will need to determine the random 5 digit device ID that the sensors are set to from the factory, their serial number (optional but helpful for you to identify the sensors later on), and a friendly name. Save the configuration file, restart Home Assistant, and then run the script (under Settings -> Automation -> Scripts). After running the script, you should see the sensors appear under the MQTT integration. | |||
If you need help determining the 5 digit device ID for each sensor, you can run rtl_433 without the <code>-F</code> flag (so that it outputs directly to standard out) and then press the sensor button. You should be able to see the device id in the output. For example, 14029: | |||
{{Highlight | |||
| code = # rtl_433 -C si | |||
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |||
time : 2025-03-21 21:49:08 | |||
model : Govee-Water id : 14029 | |||
event : Button Press detect_wet: 0 Raw Code : 36cd30547e22 Integrity : CRC | |||
| lang = terminal | |||
}} | |||
Revision as of 05:12, 22 March 2025
Govee H5054 is a wireless water sensor to detect water leaks. It uses the 433 MHz radio to transmit events.
RTL 433
See the source code here: https://github.com/merbanan/rtl_433/blob/master/src/devices/govee.c
Here's a sample output from rtl_433 for this device:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time : 2025-03-21 18:13:09
model : Govee-Water id : 14029
event : Button Press detect_wet: 0 Raw Code : 36cd30547e22 Integrity : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time : 2025-03-21 18:13:11
model : Govee-Water id : 14029
Battery level: 0.050 Battery : 1860 mV event : Battery Report Raw Code : 36cd310507c7 Integrity : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time : 2025-03-21 18:13:12
model : Govee-Water id : 14029
Battery level: 0.050 Battery : 1860 mV event : Battery Report Raw Code : 36cd310507c7 Integrity : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time : 2025-03-21 18:13:14
model : Govee-Water id : 14029
event : Button Press detect_wet: 0 Raw Code : 36cd30547e22 Integrity : CRC
Other notes
The device will begin chirping when the battery voltage drops below 2 volts (verified with a bench power supply). Every time it chirps, it will broadcast its battery reading values.
Home assistant integration
The rtl_433 utility is able to listen for and decode specific 433 MHz radio transmission messages using a RTL-SDR USB dongle. It supports sending decoded messages to various destinations including MQTT. As a result, we can use rtl_433 to effectively act as a gateway between 433 MHz radio transmissions and our Home Assistant MQTT broker.
For my personal setup, I have a Nooelec RTL-SDR USB dongle plugged into a OpenWRT router. The rtl_433 package is available on OpenWRT 24's package repos. Once installed, run the following to listen for the Govee messages:
# rtl_433 -C si -F mqtt://mqtt-broker-server:1883,devices=rtl_433/Govee-Water[/id]
The MQTT topic specified here is rtl_433/Govee-Water/<device-id>.
To get Home Assistant configured for these sensors, add the MQTT integration.
Next, use the auto-discovery script at: https://github.com/mekaneck/Govee-Water-Leak-Home-Assistant-Autodiscovery. The installation involves copying and pasting the script into the Home Assistant configuration file. The script contains a list of devices that should be added. You will need to determine the random 5 digit device ID that the sensors are set to from the factory, their serial number (optional but helpful for you to identify the sensors later on), and a friendly name. Save the configuration file, restart Home Assistant, and then run the script (under Settings -> Automation -> Scripts). After running the script, you should see the sensors appear under the MQTT integration.
If you need help determining the 5 digit device ID for each sensor, you can run rtl_433 without the -F flag (so that it outputs directly to standard out) and then press the sensor button. You should be able to see the device id in the output. For example, 14029:
# rtl_433 -C si
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time : 2025-03-21 21:49:08
model : Govee-Water id : 14029
event : Button Press detect_wet: 0 Raw Code : 36cd30547e22 Integrity : CRC