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 parameterdeviceId
deviceId
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 bluetooth
rfkill unblock bluetooth
Also make sure, that the computer can discover the SwitchBot device:
sudo bluetoothctl
scan on
This 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 Off
deviceId
& deviceName
to Device ConfigEnable Bluetooth Low Energy (BLE) Connection
on Device Config