iRoomba iRobot Plugin

Posted on
Tue Jan 09, 2018 11:33 pm
GlennNZ offline
User avatar
Posts: 1555
Joined: Dec 07, 2014
Location: Central Coast, Australia

iRoomba 980 iRobot Plugin

pmgendon wrote:
Hey !

thanks for the awesome work with this plugin.

Now I'm getting the following errors when running the start and dock commands:

Jan 9, 2018, 11:13:27 PM
Action Group roomba - ++ - rdc - start
iRobot-Roomba Error Error in plugin execution ExecuteAction:

Traceback (most recent call last):
File "plugin.py", line 544, in startRoombaAction
File "plugin.py", line 569, in RoombaAction
AttributeError: 'NoneType' object has no attribute 'send_command'

Action Group roomba - ++ - rdc - dock
iRobot-Roomba Error Error in plugin execution ExecuteAction:

Traceback (most recent call last):
File "plugin.py", line 556, in dockRoombaAction
File "plugin.py", line 569, in RoombaAction
AttributeError: 'NoneType' object has no attribute 'send_command'

the actions are not performed.

cheers!

pm


I presume the other issues earlier have been overcome by installing paho-mqtt?

Essentially you are getting that error because the plugin is not connected to your Roomba - either at anytime because of the earlier issues, or when you are trying to send the Commands.
(should add some better checks for a connected state - but that won’t change the end result for you)

Probably need a bit more info about the connection itself - (a debug log from beginning)

Glenn

Posted on
Thu Jan 11, 2018 3:43 pm
GlennNZ offline
User avatar
Posts: 1555
Joined: Dec 07, 2014
Location: Central Coast, Australia

Re: iRoomba 980 iRobot Plugin

OK

Have found the issue - only applies if not running in 'continuous connection mode' which is default and recommended if you have 1 roomba.

Have posted a fix and version 0.2.4

Glenn

Posted on
Sun Jan 28, 2018 2:41 pm
akimball offline
Posts: 559
Joined: Aug 07, 2013
Location: Sandy, Utah

Re: iRoomba 980 iRobot Plugin

Hi, Thank you for this plugin. I’ve been using a roomba 690 now for several months but it was intended for the master bedroom which is still under construction. This is my 6th roomba....I’ve been using them for many many years, but this is the first with wifi.

I’m doing a couple of bedroom mods in the master specifically for cleaning with roomba. First, I’ve taken apart one of my older virtual wall towers and have provided it with constant dc power and built it into the wall at the door to the master bedroom suite, to keep the bot from escaping. Second, I’ve built a “roomba cave” into the baseboard in a location where my wall cavity is 25” thick (it has 2 gas fireplaces and all kinds of other goodies in that space). The roomba cave has a door 5” tall, 24” wide, using SOSS hidden hinges which pops up using a short turnbuckle linkage mechanism to the swivel arm of a powerful z-wave Dome Home Automation Water Shutoff Valve>...obviously I’m not using it for water shutoff....just a roomba cave door opener. The roomba finds it’s way back to the cave because while it’s cleaning, the roomba cave door is left open and the charger is anchored in the back of the cave.

If all else fails, I figured I could just use the irobot software to schedule cleaning each day at a given time, and open the door to the roomba cave one or two minutes prior to scheduled activation. Something similar, or perhaps a sensor may work too....the moment the roomba pulls away the door could auto open and the moment it docks the door could close.

Anyway, I would love to be able to control my 690 via indigo, 100%. Do you see any hitches and has anyone reported the plugin working for sure with a roomba 690?

TIA

-Al

Posted on
Sun Jan 28, 2018 5:21 pm
GlennNZ offline
User avatar
Posts: 1555
Joined: Dec 07, 2014
Location: Central Coast, Australia

Re: iRoomba 980 iRobot Plugin

akimball wrote:
Hi, Thank you for this plugin. I’ve been using a roomba 690 now for several months but it was intended for the master bedroom which is still under construction. This is my 6th roomba....I’ve been using them for many many years, but this is the first with wifi.

I’m doing a couple of bedroom mods in the master specifically for cleaning with roomba. First, I’ve taken apart one of my older virtual wall towers and have provided it with constant dc power and built it into the wall at the door to the master bedroom suite, to keep the bot from escaping. Second, I’ve built a “roomba cave” into the baseboard in a location where my wall cavity is 25” thick (it has 2 gas fireplaces and all kinds of other goodies in that space). The roomba cave has a door 5” tall, 24” wide, using SOSS hidden hinges which pops up using a short turnbuckle linkage mechanism to the swivel arm of a powerful z-wave Dome Home Automation Water Shutoff Valve>...obviously I’m not using it for water shutoff....just a roomba cave door opener. The roomba finds it’s way back to the cave because while it’s cleaning, the roomba cave door is left open and the charger is anchored in the back of the cave.

If all else fails, I figured I could just use the irobot software to schedule cleaning each day at a given time, and open the door to the roomba cave one or two minutes prior to scheduled activation. Something similar, or perhaps a sensor may work too....the moment the roomba pulls away the door could auto open and the moment it docks the door could close.

Anyway, I would love to be able to control my 690 via indigo, 100%. Do you see any hitches and has anyone reported the plugin working for sure with a roomba 690?

TIA


Wow - I think we all want to see photos or better yet movies of the Roomba cave!

Unfortunately it seems that the 690 has moved on to 3.2 firmware which this plugin and base libraries do not support. This 3 firmware - Is not compatible with the 980 firmware.
See here in base library: https://github.com/koalazak/dorita980/issues/56

Is possible the 980 will be changed down the track and all will be forced to update deal with - but presently they seem to be seperate lines.

Pretty easy to run the plugin and check though - welcome to PM any debug logs and can see if easy to add compatibility for.

Glenn

Posted on
Sun Jan 28, 2018 6:08 pm
akimball offline
Posts: 559
Joined: Aug 07, 2013
Location: Sandy, Utah

Re: iRoomba 980 iRobot Plugin

Wow - I think we all want to see photos or better yet movies of the Roomba cave!

Unfortunately it seems that the 690 has moved on to 3.2 firmware which this plugin and base libraries do not support. This 3 firmware - Is not compatible with the 980 firmware.
See here in base library: https://github.com/koalazak/dorita980/issues/56

Is possible the 980 will be changed down the track and all will be forced to update deal with - but presently they seem to be seperate lines.

Pretty easy to run the plugin and check though - welcome to PM any debug logs and can see if easy to add compatibility for.


Thanks for response and yes, I’ll definitely post some pictures.

I checked the firmware version in my 690 and it’s 3.27 currently. I’ll play with stuff and maybe report on or get help on accomplishing that....but I’ve got a few months before the bedroom is completely ready for an automated vacuum:

The bedroom is still a work in progress and will be for a few months since it’s also my remodel shop full of saws and tools until the adjacent master bathroom and master walk-in-closet are also finished. At that time, I will be doing the final install on the hardwood floor that the roomba will be cleaning, but I’ll take some photos and do a writeup for sure before then. I’ve done a couple of other surprise automations in that room already having to do with home theater. Everything is being sanded and painted currently with some final trim work on some pencil molding I milled going in soon. I have a mill and make 90% of my own molding.

My wife is happy to allow me to install speakers, electronics, projectors, and roomba caves.......as long as she can’t see any of it lol. :) Hence, I use automated panels and natural break-lines in the molding design to hide most stuff. The roomba cave door is in plain sight but you wouldn’t know it until you see the door pop up and the bot comes out...check out SOSS hinges; they allow you to really hide stuff. Amazon sells them. They do require a $40 router jig and a special router bit but thats a 1-time expense.

The $100 Dome water-valve motor I currently use is a very reliable z-wave type that really works well with indigo. I’m sure there are plenty of other ways to accomplish the door automation but this method is just too easy to ignore.

I still have not shown it to the cat...looking forward to that.

As I said, i might have a little time to play with the irobot but right now most of my focus is woodworking. In a few months, that’s when I’ll need it to all come together.

-Al

Posted on
Tue Mar 06, 2018 7:43 pm
cjp767 offline
Posts: 136
Joined: May 02, 2013
Location: Gig Harbor, WA

Re: iRoomba 980 iRobot Plugin

Some good news: I have the plugin all setup with two Roombas all linked in with passwords-- Started the plugin and had an Mqtt error showing in the log.

Starting plugin "iRobot-Roomba 0.2.6" (pid 2647)
iRobot-Roomba
iRobot-Roomba ================================================ Initializing New Plugin Session
iRobot-Roomba Plugin name: iRobot-Roomba
iRobot-Roomba Plugin version: 0.2.6
iRobot-Roomba Plugin ID: com.GlennNZ.indigoplugin.irobot
iRobot-Roomba Indigo version: 7.1.1
iRobot-Roomba Python version: 2.7.10 (default, Jul 15 2017, 17:16:57) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)]
iRobot-Roomba Python Directory: /System/Library/Frameworks/Python.framework/Versions/2.7
iRobot-Roomba =========================================================================================================
Started plugin "iRobot-Roomba 0.2.6"
iRobot-Roomba Starting Roomba
iRobot-Roomba Error =========================================================================================================
iRobot-Roomba Error Need to install module Mqtt for this plugin to work. See Forum.
iRobot-Roomba Error =========================================================================================================


So, Here I go with another extremely basic question. inside terminal, the sudo command pip install paho-mqtt failed with some errors that did not help me fix the problem.

I understand Mac OS 10.13.3 has python 2.7 built in. Was it looking for python 3? Or should I have downloaded paho-mqtt from GitHub or someplace?

Here is a copy/paste from Terminal, if it helps. I'm clearly missing something extremely basic (as usual). And thank you for pointing me in the right direction.

MacPro:~ cjp767$ sudo pip install paho-mqtt
Traceback (most recent call last):
File "/usr/local/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3095, in <module>
@_call_aside
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3081, in _call_aside
f(*args, **kwargs)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3108, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 658, in _build_master
ws.require(__requires__)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 959, in require
needed = self.resolve(parse_requirements(requirements))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 846, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pip==7.1.2' distribution was not found and is required by the application
MacPro:~ cjp767$

Posted on
Tue Mar 06, 2018 8:10 pm
GlennNZ offline
User avatar
Posts: 1555
Joined: Dec 07, 2014
Location: Central Coast, Australia

Re: iRoomba 980 iRobot Plugin

Wonder whether this is a multiple python install issue or potentially just don't have pip installed

Try this first.

Code: Select all
sudo easy_install pip


But see here for more information:

viewtopic.php?f=107&t=19129

Posted on
Tue Mar 06, 2018 8:36 pm
cjp767 offline
Posts: 136
Joined: May 02, 2013
Location: Gig Harbor, WA

Re: iRoomba 980 iRobot Plugin

As usual, I'm humbled. Thank you for your direction.

From the log---- Successfully installed paho-mqtt-1.3.1

Now both Roombas are showing Green and Charge. I disabled the continuous connection selection in the Configure window. The second Roomba took about a minute to be found and update its status. I set the update interval to 5 minutes, for no particular reason. Is there a suggested interval when running two Roombas?

For now, all is well. Thank you again.

Posted on
Tue Mar 06, 2018 8:43 pm
GlennNZ offline
User avatar
Posts: 1555
Joined: Dec 07, 2014
Location: Central Coast, Australia

Re: iRoomba 980 iRobot Plugin

cjp767 wrote:
As usual, I'm humbled. Thank you for your direction.

From the log---- Successfully installed paho-mqtt-1.3.1

Now both Roombas are showing Green and Charge. I disabled the continuous connection selection in the Configure window. The second Roomba took about a minute to be found and update its status. I set the update interval to 5 minutes, for no particular reason. Is there a suggested interval when running two Roombas?

For now, all is well. Thank you again.


Good to hear.

Not sure the idea interval - you are a ground breaker I think!

Essentially it connects, updates the states of the devices at this interval. If a command is sent, it immediately connects, then sends the command (with a slight connection related delay)

Glenn

Posted on
Tue Mar 06, 2018 9:37 pm
cjp767 offline
Posts: 136
Joined: May 02, 2013
Location: Gig Harbor, WA

Re: iRoomba 980 iRobot Plugin

I'll have to pause my updates after this posting-- I'm leaving for about a week.

I've created a set of action groups: Start, Stop, Resume, Dock, Pause. The action groups send identical commands to both Roombas. The initial Start action group was good, but the plugin failed after I used the Dock action group. To help remedy any confusion I set an arbitrary 10 second delay between the commands in the action group. (I don't know if the Plugin is waiting for a response or whatever). But, after adding the delay, I had a clean Start and a clean Dock action group execution. The Roomba's States don't match, but they read: hmUsrDock and Charge. That sounds pretty normal.... And a few minutes later they both read charge.

So far so good. thank you again.

Posted on
Tue Mar 06, 2018 9:38 pm
GlennNZ offline
User avatar
Posts: 1555
Joined: Dec 07, 2014
Location: Central Coast, Australia

Re: iRoomba 980 iRobot Plugin

cjp767 wrote:
I'll have to pause my updates after this posting-- I'm leaving for about a week.

I've created a set of action groups: Start, Stop, Resume, Dock, Pause. The action groups send identical commands to both Roombas. The initial Start action group was good, but the plugin failed after I used the Dock action group. To help remedy any confusion I set an arbitrary 10 second delay between the commands in the action group. (I don't know if the Plugin is waiting for a response or whatever). But, after adding the delay, I had a clean Start and a clean Dock action group execution. The Roomba's States don't match, but they read: hmUsrDock and Charge. That sounds pretty normal.... And a few minutes later they both read charge.

So far so good. thank you again.


Hmm
I have a look at it when can - but shouldn’t be sending same command to all....
Glenn


Sent from my iPhone using Tapatalk

Posted on
Tue Mar 06, 2018 10:54 pm
cjp767 offline
Posts: 136
Joined: May 02, 2013
Location: Gig Harbor, WA

Re: iRoomba 980 iRobot Plugin

Oh sorry I wasn’t clear— by identical commands I meant that my action group sends 2 start commands, one to the living room and one to the bedroom.

Working perfectly. My fault for being unclear.

Posted on
Wed Mar 07, 2018 8:48 pm
GlennNZ offline
User avatar
Posts: 1555
Joined: Dec 07, 2014
Location: Central Coast, Australia

Re: iRoomba 980 iRobot Plugin

Hi

To the post that was here - that has disappeared!

Yes the plugin will allow start, stop, dock clean for one or a few iRoomba 980's (which has wifi)

As an aside - I have been testing a Xiaomi Mi Vacuum (mine is version 1); which recently purchased.
https://www.vacuumsguide.com/xiaomi-rob ... -upgraded/

And it actually does a very good similar to iRoomba job in my limited experience at about 1/3rd the price
(straight from China/AliExpress). Mine has issue where complains of main brush blocked issue occasionally (probably overheating on carpet) but can just restart and continues.

It is easy to setup, and can change to English language easily within App, has a few more suction modes (so can be a lot quieter than iRoomba980 on lower setting)

Was considering a Plugin for it as well - but access to the mi's key is difficult and now apparently need to download iphone backup and pull data/key from that. Doable - but probably not the easiest to talk users through - hence haven't got around it to. But is on the todo list....

Glenn

Posted on
Tue Mar 13, 2018 7:28 pm
pmgendon offline
Posts: 35
Joined: Apr 20, 2015

Re: iRoomba 980 iRobot Plugin

Hey Glenn,

I have a problem with the plugin, every now and then, the plugin will restart without reason.

here's the log

Code: Select all

Mar 13, 2018, 9:23:09 PM
   iRobot-Roomba                   restart Plugin Called.
   Reloading plugin "iRobot-Roomba 0.2.4"
   Stopping plugin "iRobot-Roomba 0.2.4" (pid 1019)

Mar 13, 2018, 9:23:25 PM
   Error                           process (pid 1019) failed to quit after polite request -- forcing it to quit now
   Stopped plugin "iRobot-Roomba 0.2.4"
   Starting plugin "iRobot-Roomba 0.2.4" (pid 1067)
   Started plugin "iRobot-Roomba 0.2.4"
   iRobot-Roomba                   Starting Roomba

Mar 13, 2018, 9:26:45 PM
   iRobot-Roomba                   restart Plugin Called.
   Reloading plugin "iRobot-Roomba 0.2.4"
   Stopping plugin "iRobot-Roomba 0.2.4" (pid 1067)

Mar 13, 2018, 9:27:00 PM
   Error                           process (pid 1067) failed to quit after polite request -- forcing it to quit now
   Stopped plugin "iRobot-Roomba 0.2.4"
   Starting plugin "iRobot-Roomba 0.2.4" (pid 1159)
   Started plugin "iRobot-Roomba 0.2.4"
   iRobot-Roomba                   Starting Roomba



any idea as to how I screwed up?

thanks in advance!

Posted on
Tue Mar 13, 2018 8:56 pm
pmgendon offline
Posts: 35
Joined: Apr 20, 2015

Re: iRoomba 980 iRobot Plugin

it appears that the problem was caused when the roomba changed IP. I assigned a fixed IP to the unit and so far, so good!

keep up the good work,

Who is online

Users browsing this forum: No registered users and 2 guests