Govee H5054
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