This is the Roomba Node Server for the ISY Polyglot V2 interface.
(c) fahrer16 aka Brian Feeney.
MIT license.
This project functions with Roomba WiFi enabled vacuums running version 2 firmware. Currently, Roomba 980, Roomba 960, Roomba 890, and Roomba 690.
Roomba vacuums have a local interface reverse-engineered in the following projects. Without the efforts of those developers, this project would not have been possible.
You'll need to use a static IP address for each Roomba or else the connection won't work each time the IP address changes. Either set a static IP through Roomba app or through router.
The Roomba980-Python Github linked above explains the limitations of connections to Roomba vacuums. This node server is configured to keep a constant local connection to each vacuum. Only one location connection is possible but it is still possible to use the app with a cloud connection to the vacuum. I recommend preventing the Roomba's from reaching the internet though, so that they don't update their firmware automatically to a version not compatible with this node server.
Add Node Server into Polyglot instance.
For each vacuum, a configuration item needs to be added to the Polyglot Node Server configuration: 2.1. Follow instructions here for obtaining roomba blid and password needed for configuration: https://github.com/NickWaterton/Roomba980-Python 2.2. Use a key starting with "vacuum" (e.g. vacuum1, vacuum2, etc...) 2.3. Key value format: {"ip":"192.168.3.36", "blid":"6945841021309640","password":":1:1512838259:R0dzOYDrIVQHJFcR","name":"Upstairs Roomba"} Note the use of double quotes
1.0.0: Initial Release 1.1.0: Only update WiFi strength in ISY if the reported value has changed by more than 15% since the last update 1.1.1: Corrected display name of parameter 'GV7' from 'Bin Present' to 'Bin Full' 1.1.2: Updated requirements file to use forked repository of Roomba980 project. 1.1.3: Update to account for changes to json reported from i7 series Roombas. 1.1.4: Updated underlying Roomba980 python project with changes that have been made in base repo.