The @switchbot/homebridge-switchbot-ble is a nodejs module , and also a homebridge plug-in that directly controls SwitchBot products via BLE.
Now supports:
sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev
See the document of the @abandonware/noble for other operating systems details.
sudo npm install -g @switchbot/homebridge-switchbot-ble
You can also install it on the homebridge plugins page.
Add this to your homebridge config.json
file
"platforms": [
{
"platform": "SwitchBotPlatform",
"name": "SwitchBotPlatform"
}
]
If it work, add devices.
"platforms": [
{
"platform": "SwitchBotPlatform",
"name": "SwitchBotPlatform",
"devices": [
{
"type": "bot",
"name": "Bot 2c",
"bleMac": "d4:cc:43:97:ae:2c"
},
{
"type": "bot",
"name": "Bot 51",
"bleMac": "e7:4d:36:cf:9e:51",
"scanDuration": 2000
},
{
"type": "curtain",
"name": "Curtain 11",
"bleMac": "ec:58:c5:d0:01:11",
"scanDuration": 2000,
"reverseDir": false,
"moveTime": 2000
},
{
"type": "meter",
"name": "Meter 84",
"bleMac": "d0:d5:64:14:43:84",
"scanDuration": 5000,
"scanInterval": 60000
}
]
}
]
Requird Settings
devices
- SwitchBot devices list.type
- Device type. Currently supportsbot
,curtain
andmeter
.name
- Device name.bleMac
- Device MAC address. You can find it in App settings.
Optional Settings
scanDuration
- Scan timeout. BLE Central must first scan the advertising. Default is1000
(unit: ms). Longer time to ensure device discovery but slower response.reverseDir
- Set totrue
to exchange the "opened" and "closed" directions of Curtain after calibration. Default isfalse
. So you can swap the directions without recalibration.moveTime
- Set the actual running time of Curtain, which is also the time to switch from running state to opened/closed state in the Home APP. Default is2000
(unit: ms).scanInterval
- For a Meter, sets how frequently to scan in order to retrieve temperature and humidity values. Default is
60000
(unit: ms). - For a Curtain, sets how frequently to scan in order to retrieve the curtain position. Default is
60000
(unit: ms) when idle.
- For a Meter, sets how frequently to scan in order to retrieve temperature and humidity values. Default is
openCloseThreshold
- Set the threshold before/after which the curtain is reported as fully open/closed to HomeKit. Default is5
, so any position under 5% is reported as fully open and above 95% as fully closed.
Please note that:
- The device
name
cannot be the same. - Restart HomeBridge after updating the config file.
- The "opened" and "closed" directions of HomeKit are the same as those in Curtain and SwitchBot APP, but the percentage definitions are different. "Closed" is 0% in HomeKit but 100% in Curtain and APP.