Skip to content

Bluetooth Control

Ben edited this page Jul 13, 2021 · 31 revisions

System Requirements

  • Your system running Homebridge/HOOBS must have an available bluetooth module

  • Prerequisites for noble bluetooth package:

    Homebridge RPi Image

    Run these commands in the Homebridge terminal:

    sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev
    sudo setcap cap_net_raw+eip $(eval readlink -f `which node`)

    Other Systems

    See the noble documentation for instructions specific to 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 Bluetooth Control' ticked

Limitations

  • Since bluetooth modules on a raspberry pi can only connect to one device at a 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, from general use I have noticed about an 80% success rate. Sometimes the connection can be ended before any update is applied.
    • For models that also support cloud control, there is a 2 second timeout for the bluetooth attempt, meaning that if a bluetooth command fails then after 2 seconds the command will be sent via the cloud.
    • For models that don’t support cloud control, there is a 9 second timeout, and unfortunately if the bluetooth command fails 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
  • Whilst the device is connected to your Homebridge/HOOBS instance via bluetooth, the Govee app will be unable to connect to the device via bluetooth