Skip to content

Bluetooth Control

Ben edited this page Jul 27, 2023 · 31 revisions

Bluetooth Requirements

See the Bluetooth Plugins wiki article in the Homebridge wiki for more information about setting up BLE control on your system:

Plugin Setup

  • You need to enter your Govee username and password into the configuration
  • You need to add an entry for your device in the 'Light Devices' configuration section with at least the device id and the 'Enable BLE Control' ticked

Finding the Bluetooth Address

In most cases, the plugin is able to determine the BLE address of your device from the configured device ID. However if you are having issues with the plugin not connecting to the lights, you may need to find and configure the BLE address manually.

⚠️ Note the Device ID is not the same as the BLE address of your device

  • The following steps assume that the light was set up following the guide on GitHub and shows up in the Homebridge interface and the Home app.
  • Debug logging is needed for this, which is enabled via installing a Beta Version of the plugin
  • After installing the beta version and restarting Homebridge, try to change the state of the light (for example: try turning it on/off).
  • The log will show all bluetooth devices in range, log entries are marked with [noble] followed by the bluetooth address and an identifying name.
  • The tricky part is finding the right entry - the light should show up as [ihoment_HXXXX_XXXX], [govee_HXXXX_XXXX] or [Minger_HXXXX_XXXX].
  • Copy the bluetooth address and paste it in the light setup dialog in the plugin settings.
  • After that restart Homebridge and everything should work!

Limitations

  • Since bluetooth modules on a raspberry pi can only connect to a small number of devices at the same time, the plugin has been designed to make as 'little' use of the module as possible. Each time a device is updated in HomeKit, the plugin will attempt to connect via bluetooth to the device, apply the update, and disconnect again. The plugin does not maintain a long term bluetooth connection with a device.
  • Bluetooth control can be temperamental - sometimes the connection can be ended before any update is applied.
    • For models that also support cloud control, the plugin will try once to control via bluetooth, and if the attempt fails, the command will be sent via the cloud.
    • For models that don’t support cloud control, the plugin will try three times to control via bluetooth, and unfortunately if all attempts fail, then a 'No Response' message will be shown in HomeKit.
  • Bluetooth control seems more likely to fail when multiple commands are sent in a short space of time.
    • For example, setting a HomeKit scene involving 2 devices means sending 6 commands in a short space of time (state/brightness/colour for both devices)
  • The plugin cannot determine the current state of your device via the bluetooth connection
    • If your model also allows for cloud control then the state of the device will be refreshed this way
    • If your model only allows for bluetooth control then any changes to the state made outside of HomeKit will not be reflected in HomeKit
  • The plugin will be unable to control your device via bluetooth whilst you have the device connected to a phone via bluetooth (i.e. using the Govee app)