This project is a Proof of Concept (POC) for integrating and interacting with the Govee H615B BLE (Bluetooth Low Energy) device through a web-based interface. This was built by reverse engineering the connection from a smartphone to the device, and is documented on XDA.
h615b_controller_cli.py is included so that you can see how this would be implemented in simple code, outside of a Flask app. It switches on the lights, sets them to magenta, sets the brightness to 100%, and then turns them off. It is essentially a template.
- Scan for nearby Govee H615B devices (using scanner.py, separate to the Flask app).
- Connect and interact with the device via BLE.
- Control device settings and retrieve data.
- Python
- Flask[async]
- Bleak
-
Clone the repository:
git clone https://github.com/Incipiens/Govee-H615B-Reverse-Engineered-Controls.git cd Govee-H615B-Reverse-Engineered-Controls -
Start the server:
flask run --host=0.0.0.0
-
Open your browser and navigate to
http://localhost:5000.
- Ensure your host device is compatible with Bluetooth LE.
- Get the MAC address of your Govee H615B using a tool like nRF Connect, or scan using scanner.py.
- Replace the ADDRESS field in h615b_controller.py with the MAC or UUID of the device.
- Control the device from your browser
- Bleak: For BLE communication.
- Flask: Web client
This project is licensed under the MIT License.
This project and the reverse engineering process is documented on XDA.
- reydanro for their work reverse engineering the H5080.
- BeauJBurroughs for their work reverse engineering the H6127.