fahrer16 Posted January 1, 2018 Share Posted January 1, 2018 I've completed a Polyglot v2 node server for Roomba WiFi-enabled vacuums. Here's a link to the GitHub repo: https://github.com/fahrer16/udi-roomba-poly The config is a little trickier than some other node server since you need to specify an IP, BLID, password, and name for each roomba. The BLID and password are obtained using a script from the Roomba980-Python project or the dorita980 project written in node.js. The Python one didn't work for me and I had to use the dorita980 project. If you decide to use the project, I highly recommend using static IP addresses and preventing the Roomba(s) from reaching the internet so they won't update the firmware automatically and break compatibility with the node server. Let me know if you see any issues! 5 Link to comment Share on other sites More sharing options...
einstein.42 Posted January 1, 2018 Share Posted January 1, 2018 Wow, you are churning these out! Awesome job! I added this to the store. Link to comment Share on other sites More sharing options...
fahrer16 Posted January 1, 2018 Author Share Posted January 1, 2018 Wow, you are churning these out! Awesome job! I added this to the store. Thanks, I had the week off from work. Link to comment Share on other sites More sharing options...
Adolfo Posted February 27, 2019 Share Posted February 27, 2019 Help here with the Dorita - I need to install it in a raspi ..correct? Link to comment Share on other sites More sharing options...
Adolfo Posted February 27, 2019 Share Posted February 27, 2019 I meant install Dorita in a raspberry pi Link to comment Share on other sites More sharing options...
fahrer16 Posted March 9, 2019 Author Share Posted March 9, 2019 I was taking a look at the python project used for this node server and it looks like it has a simple script to run in order to get the required roomba connection info (see link below). That means you should be able to get around having to install the Dorita980 node.js project and the required python project should be installed automatically with the Roomba node server. In order to get to the directory where the roomba project is installed you can run the following command in the console of your polyglot computer after the Roomba node server is installed: pip3 show Roomba980-Python https://github.com/NickWaterton/Roomba980-Python#how-to-get-your-usernameblid-and-password 1 Link to comment Share on other sites More sharing options...
danny07 Posted March 31, 2019 Share Posted March 31, 2019 I installed the Roomba Polyglot, got my IP, blind and password for my Roomba at home, added it to the custom configuration parameters using the key 'vacuum1', but it still won't find my Roomba. This is the value that I entered for the key 'vacuum1': "{"ip":"192.168.0.52", "blid":"xxxMyBlidxxx","password":":1:xxxMyPasswordxxx","name":"Moomby"}" This is what the log says: 2019-03-31 04:10:29,167 [NodeServer] [INFO ] Starting Roomba Polyglot v2 NodeServer version 1.1.0 2019-03-31 04:10:29,167 [NodeServer] [DEBUG] Beginning Discovery on Roomba Bridge 2019-03-31 04:10:29,168 [NodeServer] [ERROR] Error with Roomba Connection: Extra data: line 1 column 4 (char 3) 2019-03-31 04:10:29,168 [NodeServer] [DEBUG] Discovery: No new roombas need to be added to ISY What am I missing or doing wrong? Link to comment Share on other sites More sharing options...
danny07 Posted March 31, 2019 Share Posted March 31, 2019 Sorry, I read my post this morning and realized what the problem was. I was leaving the double-quotes at the beginning and end of the value and that was creating the issue. Problem solved! 2 Link to comment Share on other sites More sharing options...
leonpc Posted March 31, 2019 Share Posted March 31, 2019 I am trying to add the Roomba to the Node server but am seeing the following errors in the log of the Roomba node server: 2019-03-31 16:13:48,977 [MainThread] [INFO ] Received Config from STDIN. 2019-03-31 16:13:48,978 [MainThread] [INFO ] UDI Polyglot v2 Interface 2.0.29 Starting... 2019-03-31 16:13:48,981 [MainThread] [ERROR] Traceback (most recent call last): 2019-03-31 16:13:48,982 [MainThread] [ERROR] File "./roomba-poly.py", line 11, in <module> 2019-03-31 16:13:48,983 [MainThread] [ERROR] from roomba import Roomba 2019-03-31 16:13:48,983 [MainThread] [ERROR] ImportError 2019-03-31 16:13:48,984 [MainThread] [ERROR] : 2019-03-31 16:13:48,984 [MainThread] [ERROR] No module named 'roomba' I have removed the Node Server from polyglot and added it again. I can see it in ISY Admin Console but I cannot start the node server. It gives me the above errors. I have added the configuration line with MYBLID and password. Any help would be appreciated. Link to comment Share on other sites More sharing options...
Jimbo.Automates Posted March 31, 2019 Share Posted March 31, 2019 Looks like this wasn't installed.ERROR] No module named 'roomba'Can you run the install.sh in the nodeserver directory and see if it works?Sent from my Pixel 3 XL with Tapatalk Link to comment Share on other sites More sharing options...
leonpc Posted April 4, 2019 Share Posted April 4, 2019 Thanks for the suggestion Jimbo. I checked the directory and all the files had read only rights. Changed the install.sh to allow it to execute and ran the file. It failed 2 or 3 times with errors that it could not download the required files. The one giving me the most problems was the download of the OpenCV package. However it finally downloaded OpenCV and now Roomba is fully installed and working. Thanks again 1 Link to comment Share on other sites More sharing options...
leonpc Posted April 5, 2019 Share Posted April 5, 2019 Wednesday I had Roomba installed and working . It was showing up on ISY and I could add it to programs. This morning I wanted to start it before the scheduled time and I logged into the ISY admin console to start Roomba up. However I cannot find any Roomba related nodes in ISY. I even searched by address in the Network display. The Roomba Node server shows under the Node Server drop down on the ISY admin console but nothing else. I then connect to the Polyglot server to check the dashboard. And the Roomba server is there but it says 0 nodes. Checking the log file I see a message that the node server is waiting for a controller node to be connected. Here is a snippet of the log... Quote 2019-04-05 12:54:03,510 [Interface ] [INFO ] Adding node Roomba Bridge(controller) 2019-04-05 12:54:03,519 [Interface ] [INFO ] Waiting on Controller node to be added....... 2019-04-05 12:54:03,538 [Interface ] [INFO ] Adding node Roomba Bridge(controller) 2019-04-05 12:54:03,540 [Interface ] [INFO ] Waiting on Controller node to be added....... The funny thing is that after I started the roomba up manually that it is still updating the log with it movements. I just cannot control in from ISY. Any information to get this back to a working stay, would be appreciated. Thanks in advance Link to comment Share on other sites More sharing options...
danny07 Posted April 10, 2019 Share Posted April 10, 2019 (edited) Hi, Thank you very much for writing this Polyglot, I've been using it for the past couple of weeks and I love it. The main things I'm doing is making sure that the ISY controls the schedule, and not Roomba, so that on the days I want it to clean it only does so when we're not in the house, and if we come back while it's cleaning it automatically docks itself, which is great. The only minor issue I'm having is with the "Bin Present" parameter. There are 2 parameters with the same name, one refers to the bin being present and the other refers to bin being full, and if I use this in a program it always defaults to the first. What I'm trying to do is have the ISY text me at night, when I'm home, to remind me that the bin is full and I have to empty it. Could you change the name of this second "Bin Present" parameter so that I can use it, please? Edited April 10, 2019 by danny07 Typo 1 Link to comment Share on other sites More sharing options...
fahrer16 Posted April 13, 2019 Author Share Posted April 13, 2019 @danny07, I'm glad it's been useful for you! I updated the node server to correct the description of the "Bin Full" parameter (v1.1.1). 1 Link to comment Share on other sites More sharing options...
danny07 Posted April 15, 2019 Share Posted April 15, 2019 (edited) @fahrer16 Thanks! I updated to version 1.1.1 and I confirmed on my dashboard that it's running, but still in my ISY both parameters show up as "Bin Present". I tried restarting my ISY, Polyglot, deleting my Roomba and rediscovering, but none of these fixed the issue. I also tried uninstalling the Roomba Polyglot but that didn't work. It says uninstalling but never really uninstalls. Any thoughts? Can you help me manually uninstall and re-install? Just for reference, I have a Roomba 980. *EDIT I finally got it to work. I went to the Dashboard, clicked on Details for the Roomba Node, and Deleted it from there. Then I went back to the NodeServer store and uninstalled Roomba. Once it was uninstalled I installed it again and that did the trick. Thanks again for the update! Edited April 15, 2019 by danny07 Link to comment Share on other sites More sharing options...
fahrer16 Posted April 15, 2019 Author Share Posted April 15, 2019 It's odd that uninstalling would be required, it should just require restarting the admin console after updating the node server. Either way, I'm glad it's working out for you! 1 Link to comment Share on other sites More sharing options...
InsteonNut Posted July 24, 2019 Share Posted July 24, 2019 (edited) @fahrer16 I tried installing the Roomba NS multiple times (local on a RPi) and I keep getting this error in the webUI (see screenshot) and this log output for the Roomba NS: 2019-07-24 10:04:32,629 [MainThread] [INFO ] Received Config from STDIN. 2019-07-24 10:04:32,630 [MainThread] [INFO ] UDI Polyglot v2 Interface 2.0.30 Starting... 2019-07-24 10:04:32,632 [MainThread] [ERROR] Traceback (most recent call last): 2019-07-24 10:04:32,632 [MainThread] [ERROR] File "./roomba-poly.py", line 11, in <module> 2019-07-24 10:04:32,633 [MainThread] [ERROR] from roomba import Roomba 2019-07-24 10:04:32,633 [MainThread] [ERROR] ModuleNotFoundError 2019-07-24 10:04:32,633 [MainThread] [ERROR] : 2019-07-24 10:04:32,633 [MainThread] [ERROR] No module named 'roomba' 2019-07-24 10:04:36,481 [MainThread] [INFO ] Received Config from STDIN. 2019-07-24 10:04:36,481 [MainThread] [INFO ] UDI Polyglot v2 Interface 2.0.30 Starting... 2019-07-24 10:04:36,483 [MainThread] [ERROR] Traceback (most recent call last): 2019-07-24 10:04:36,483 [MainThread] [ERROR] File "./roomba-poly.py", line 11, in <module> 2019-07-24 10:04:36,484 [MainThread] [ERROR] from roomba import Roomba 2019-07-24 10:04:36,484 [MainThread] [ERROR] ModuleNotFoundError 2019-07-24 10:04:36,485 [MainThread] [ERROR] : 2019-07-24 10:04:36,485 [MainThread] [ERROR] No module named 'roomba' Let me know what you'd like me to try or grab for you next. Wes Edited July 24, 2019 by InsteonNut Link to comment Share on other sites More sharing options...
fahrer16 Posted July 24, 2019 Author Share Posted July 24, 2019 @InsteonNut. That means the roomba python library hasn't been installed. It should automatically install for you but the file that does the installation isn't executable. I've been meaning to take care of that... If you open a terminal session on your RPi and go to the directory where the nodeserver is installed and run 'chmod +x install.sh' (without the quotes) then './install.sh' it should install that library for you. I've always used Github with windows and I'm not sure how to set that attribute on the file in github. If anybody knows how to do that, that would be great! Link to comment Share on other sites More sharing options...
InsteonNut Posted July 24, 2019 Share Posted July 24, 2019 Hi @fahrer16, Thanks for the suggestions, however, I'm seeing this when running ./install.sh: pi@raspberrypi:~/.polyglot/nodeservers/Roomba $ ./install.sh Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Collecting git+git://github.com/NickWaterton/Roomba980-Python.git@master (from -r requirements.txt (line 3)) Cloning git://github.com/NickWaterton/Roomba980-Python.git (to revision master) to /tmp/pip-req-build-i7_m81sq Requirement already satisfied: polyinterface>=2.0.0 in /home/pi/.local/lib/python3.7/site-packages (from -r requirements.txt (line 1)) (2.0.30) Requirement already satisfied: six>=1.11.0 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 2)) (1.12.0) Requirement already satisfied: numpy in /usr/lib/python3/dist-packages (from Roomba980-Python==1.2.3->-r requirements.txt (line 3)) (1.16.2) Collecting opencv-python (from Roomba980-Python==1.2.3->-r requirements.txt (line 3)) Could not find a version that satisfies the requirement opencv-python (from Roomba980-Python==1.2.3->-r requirements.txt (line 3)) (from versions: ) No matching distribution found for opencv-python (from Roomba980-Python==1.2.3->-r requirements.txt (line 3)) Is there a dependency I need on the RPi that I'm missing? Wes Link to comment Share on other sites More sharing options...
fahrer16 Posted July 24, 2019 Author Share Posted July 24, 2019 @InsteonNut, it looks like it installed the roomba library. The opencv library is used for the generation of coverage maps based on robot position data and isn't implemented in this node server, so that won't impact its ability to run. Is the node server able to start up in polyglot now? Link to comment Share on other sites More sharing options...
InsteonNut Posted July 24, 2019 Share Posted July 24, 2019 @fahrer16 Unfortunately not. Same errors in the log file when I stop/start the Roomba NS. 2019-07-24 13:04:23,152 [MainThread] [INFO ] Received Config from STDIN. 2019-07-24 13:04:23,153 [MainThread] [INFO ] UDI Polyglot v2 Interface 2.0.30 Starting... 2019-07-24 13:04:23,156 [MainThread] [ERROR] Traceback (most recent call last): 2019-07-24 13:04:23,156 [MainThread] [ERROR] File "./roomba-poly.py", line 11, in <module> 2019-07-24 13:04:23,157 [MainThread] [ERROR] from roomba import Roomba 2019-07-24 13:04:23,158 [MainThread] [ERROR] ModuleNotFoundError 2019-07-24 13:04:23,158 [MainThread] [ERROR] : 2019-07-24 13:04:23,158 [MainThread] [ERROR] No module named 'roomba' Link to comment Share on other sites More sharing options...
fahrer16 Posted July 25, 2019 Author Share Posted July 25, 2019 @InsteonNut hmm..could you try 'pip install roomba' to see if that resolves the dependency? Link to comment Share on other sites More sharing options...
InsteonNut Posted July 25, 2019 Share Posted July 25, 2019 Hi @fahrer16 Here's was the output: pi@raspberrypi:~/.polyglot/nodeservers/Roomba $ pip install roomba Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Collecting roomba Could not install packages due to an EnvironmentError: 404 Client Error: Not Found for url: https://pypi.org/simple/roomba/ pi@raspberrypi:~/.polyglot/nodeservers/Roomba $ Link to comment Share on other sites More sharing options...
btreinders Posted August 3, 2019 Share Posted August 3, 2019 Will this work with the newest Roombas? Like the S9+ and I7? Thanks! Link to comment Share on other sites More sharing options...
Rootdet Posted October 13, 2019 Share Posted October 13, 2019 Looking for same info Link to comment Share on other sites More sharing options...
Recommended Posts