Govee H5054 water sensor

I recently added the Govee H5054 to my arsenal. I’m reding the sensor in with an rtl_sdr and the rtl_433 plug-in. The rtl_433 MQTT auto discovery integration for this sensor sucks but that is besides the point.

How often does this sensor broadcast information?

I would like to keep track of this sensor to make sure it doesn’t go offline. If it does go offline then I will get a notification. So far after the initial install, there don’t seem to be any updates. The two sensors that show up are battery and time. They haven’t updated in over a day. I assume that if using the govee base station the sensor has to check in periodically.

I found these to be silent little creatures. Only sending a message when needed. I got the battery levels when I first installed the batteries and have been waiting 6 months for another. I remember reading somewhere(?) that a battery message is only sent when the sensor detects a change in battery level.

If you want a water detected message, press the test button.

so sorry: i was thinking of the H5040

Thanks, I was afraid of that. So there is no great way to keep track of it other than monitor battery life and hope for the best.

Got my first battery reading just last night. Went from 100% to 95%. More than 6 months.

Please post your HA configuration for these devices. I am considering purchasing some, and would like to know how they connect.

Can you please share your config? I’m trying/failing to integrate these at the moment. See reddit discussion here

and Github ticket here which is attempting to integrate these devices with auto discovery.

Using rtl_433 & MQTT with a SDR dongle. No auto discovery here. Been awhile since I looked at this code but still works.

#Govee Water Leaks

#Location
#  34958 - Utility HW Tank
#  35651 - Utility HW Heat
#  8703  - Kitchen
#  35403 - Bath1

#Events
#  {"time":"2022-01-01 07:48:00","model":"Govee-Water","id":34958,"event":"Water Leak","code":"770a04040744","mic":"PARITY"}
#  {"time":"2022-01-01 07:18:51","model":"Govee-Water","id":34958,"event":"Button Press","code":"770a05050744","mic":"PARITY"}
#  {"time":"2022-01-01 07:24:29","model":"Govee-Water","id":34958,"battery_ok":1.0,"battery_mV":3000,"event":"Battery Report","code":"770a039b034e","mic":"PARITY"}
#  Battery Level ??? Look in MQTT FX for battery level  ???  Maybe only occurs when battery drops  ???
 
- alias: Alert Msg Red Leaks
  mode: single
  max_exceeded: silent

  trigger:
    - platform: mqtt
      topic: rtl_433/Govee-Water/34958
      id: HW Tank
    - platform: mqtt
      topic: rtl_433/Govee-Water/8703
      id: Kitchen
    - platform: mqtt
      topic: rtl_433/Govee-Water/35403
      id: Bath1
    - platform: mqtt
      topic: rtl_433/Govee-Water/35651
      id: HW Heat

  action:
    - choose:
        - conditions:
            - condition: or
              conditions:
                - condition: template
                  value_template: '{{ trigger.payload != "" and trigger.payload_json.event == "Button Press" }}'
                - condition: template
                  value_template: '{{ trigger.payload != "" and trigger.payload_json.event == "Water Leak" }}'
          sequence:
            - service: mqtt.publish
              data:
                topic: '{{trigger.topic}}'
                payload: ''
                retain: true

            - condition: state
              entity_id: 
                - input_boolean.govee_water_34958
                - input_boolean.govee_water_8703
                - input_boolean.govee_water_35403
                - input_boolean.govee_water_35651
              state: 'off'

            - service: input_boolean.turn_on
              data_template:
                entity_id: 'input_boolean.govee_water_{{ trigger.payload_json.id }}' 

            - service: script.alert_control_rotate_notify 
              data:
                level:   '- RED -'
                message: '{{ trigger.payload_json.event }} {{ trigger.id }}'
                notify:  '{{ trigger.payload_json.event }} {{ trigger.id }}'
                msg:     '' 


    - choose:
        - conditions:
            - condition: template
              value_template: '{{ trigger.payload != "" and trigger.payload_json.event == "Battery Report" }}'
          sequence:
            - service: mqtt.publish
              data:
                topic: '{{trigger.topic}}'
                payload: ''
                retain: true

            - service: mqtt.publish
              data:
                topic: '{{trigger.topic}}/batteryReport'
                payload: '{{trigger.payload}}'
                retain: true


    - choose:
        - conditions:
            - condition: template
              value_template: '{{ trigger.payload != "" and trigger.payload_json.event == "Battery Level" }}'
          sequence:
            - service: mqtt.publish
              data:
                topic: '{{trigger.topic}}'
                payload: ''
                retain: true

            - service: mqtt.publish
              data:
                topic: '{{trigger.topic}}/batteryLevel'
                payload: '{{trigger.payload}}'
                retain: true