Connect Govee power plug H5080 bluetooth via MQTT

Someone did a bunch of work to reverse engineer how to talk to the H5080 power plug and pair with it and some scripts to work with it… so I wrote a script that ties it all together and uses ha_mqtt_discoverable to hook it up to a switch in home assistant. It’s a bit laggy, but seems to work so far. :slight_smile:

The way it works is you setup MQTT, install requirements.txt, and then use the scan script to find your device, the pair script to pair with it, then use the information from those to create devices.toml:

[[devices]]
# Entity shown to home assistant
name = "G1"

# Unique id
uid = "ihoment_H5080_xxx"

# Obtain this using pair.
auth = "xxx"

# repeat for each device you have

Once you have that, then you can just run python3 ./client.py and if everything is hooked up correctly you’ll see some switches in home assistant. It will also update HA if you manually toggle the power using the physical switch.

The nice thing about this is that it’s 100% local, doesn’t require WiFI, and doesn’t require the Govee app. I did have an issue connecting to the device using one of my bluetooth dongles, but the other CSR 4.0 one I tried works fine.

I ended up writing a full HA integration for this because I was having performance issues with this MQTT client.