homebridge-plugin for Roomba 9xx (Roomba 900 Software Version 2.x).
https://github.com/umesan/homebridge-roomba
https://github.com/steedferns/homebridge-roomba980
https://github.com/gbro115/homebridge-roomba690
@matanelgabsi for keepAlive feature
sudo npm install -g homebridge --unsafe-perm
sudo npm install -g homebridge-roomba-stv
npm run getrobotpwd 192.16.xx.xx
where this plugin in installedIf successful, the following message will be displayed.
Please check blid and Password of displayed message.
Robot Data:
{ ver: '2',
hostname: 'Roomba-xxxxxxxxxxxxxxxx',
robotname: 'Your Roomba’s Name',
ip: '192.168.xx.xx',
mac: 'xx:xx:xx:xx:xx:xx',
sw: 'vx.x.x-x',
sku: 'R98----',
nc: 0,
proto: 'mqtt',
blid: '0123456789abcdef' }
Password=> :1:2345678910:ABCDEFGHIJKLMNOP <= Yes, all this string.
"accessories": [
{
"accessory": "Roomba",
"name": "Roomba",
"model": "960",
"blid": "1234567890",
"robotpwd": "aPassword",
"ipaddress": "10.0.0.30",
"autoRefreshEnabled": true,
"keepAliveEnabled": true, //If you use local network mode in roomba app, consider disabling. see note below
"cacheTTL": 30 //in seconds
}
]
This plugins supports these refresh modes:
NONE (autoRefreshEnabled
and keepAlive
both set to false) - no auto refresh, we will connect to roomba and poll status when requested by home app. Please note that this will cause "Updating" status for all homebridge accessories.
AUTO REFRESH (autoRefreshEnabled
set to true) - we will connect to roomba, every pollingInterval
seconds, and store the status in cache. if pollingInterval
= cacheTTL
- 10 (or more), this will make sure we will always have a valid status.
KEEP ALIVE (keepAlive
set to true) - we will keep a connection to roomba, this will cause app to fail to connect to roomba in local network mode (cloud mode will work just fine, even in your home wifi). This will lead to better performance (status will refresh faster, and toggle will work faster as well). Keep in mind this will increase the Roomba battery consumption.