A Python desktop application to control Govee Bluetooth LED light strips over BLE.
- Turn Govee lights ON and OFF successfully
- Note: Setting custom RGB colors is not fully functional yet
- Python 3.8 or higher
- Bluetooth adapter compatible with BLE or a BLE compatible bluetooth card (I believe most modern computers have BLE?)
- Windows, macOS, or Linux with Bluetooth support
This app uses the following Python packages:
bleak- Cross-platform Bluetooth Low Energy clientasyncio- For asynchronous programming (comes with Python)threadingtk- GUIdevicegovee-api-ble- The one thing that connects everything together (Govee wise)
To install dependencies, run:
pip install bleak asyncio threading tk device govee-api-ble-
Clone or download this repository to your local machine.
-
Ensure your Govee BLE device is powered on and in range.
-
Run the app:
python server.py- Use the provided commands in the app interface or API to turn lights on/off, set brightness, or activate scenes.
- Setting custom RGB colors does not work reliably yet due to BLE characteristic differences in some devices.
- The app currently assumes the write handle
0x13is correct; some devices may require different handles. - BLE support and behavior may vary by platform and adapter.
- If the app cannot find your device or fails to write commands, verify Bluetooth is enabled and the device is in pairing mode.
- Use a BLE scanner app (e.g., nRF Connect) to confirm your device’s services and handles.
- Errors about missing characteristic UUIDs likely mean the handle needs adjustment in the code.
This project is licensed under the MIT License.
Feel free to contribute or open issues if you encounter bugs or have feature requests!
Happy lighting!