The Homebridge SwitchBot plugin allows you to access your SwitchBot Device(s) from HomeKit with Homebridge.
@switchbot/homebridge-switchbot
token to Clipboardtoken into the config parametersecret to Clipboardsecret into the config parameterdeviceIddeviceId into the Device Configbluetoothctl must be installed on the device, otherwise it cannot communicate via Bluetooth. Enable it with sudo bluetoothctl power on.
If errors occur, while enabling it, restart the process:
rfkill block bluetoothrfkill unblock bluetoothAlso make sure, that the computer can discover the SwitchBot device:
sudo bluetoothctlscan onThis lists all discovered Bluetooth devices. The BLE address of the SwitchBot device should be included in this list, otherwise your computer does not discover it.
Security & Privacy -> Privacy to the node executable, eg /usr/local/bin/node
(This is what is intended in documentation for the noble bluetooth package prerequisites by "Add terminal app", however for HomeBridge it is node that needs the permission granted, not terminal.
Without this step, then you will receive the following error when the swichbot plugin launches, which will cause Homebridge or the child bridge process to restart:Error: Failed to initialize the Noble object: unauthorized
at Noble.<anonymous> (file:///usr/local/lib/node_modules/@switchbot/homebridge-switchbot/node_modules/node-switchbot/src/switchbot.ts:244:19)
at Object.onceWrapper (node:events:629:26)
at Noble.emit (node:events:514:28)
at Noble.onStateChange (/usr/local/lib/node_modules/@switchbot/homebridge-switchbot/node_modules/@stoprocent/noble/lib/noble.js:92:8)
at NobleMac.emit (node:events:514:28)
deviceId & deviceName to Device ConfigEnable Bluetooth Low Energy (BLE) Connection on Device ConfigdeviceId & deviceName to Device ConfigEnable Bluetooth Low Energy (BLE) Connection on Device ConfigdeviceId & deviceName to Device ConfigEnable Bluetooth Low Energy (BLE) Connection on Device ConfigdeviceId & deviceName to Device ConfigEnable Bluetooth Low Energy (BLE) Connection on Device ConfigOn or OffdeviceId & deviceName to Device ConfigEnable Bluetooth Low Energy (BLE) Connection on Device Config