Solved: Controlling Roomba 980
Under Consideration
If anyone has a Roomba 980 and wants to know how to control it with the Zipabox, I can explain how it's done.
No connection
Real-time notifications may not work
I don't have it yet but I'm considering to buy one. I was actually thinking of how to do that, are you using IR Extender?
I don't have it yet but I'm considering to buy one. I was actually thinking of how to do that, are you using IR Extender?
No, the 980 isn't compatible with the such devices like earlier models. Instead it has its own wifi control via a smartphone app. But the smartphone app is pretty limited. You can set up a schedule, but it's inflexible. You can't say "every Monday, Wednesday and Friday, but not if it's a public holiday and I'm not working that day". Also, I found that the robot frequently failed to start, for no good reason. So you have to be babysitting it by checking the app to see whether it's really started when it's supposed to. And the final thing I don't like is not being able to control the time that the Roomba base is turned on (I have it plugged into a Z-Wave on/off socket) according to the current battery life.
So searching around I found that somebody had created a Node.js project called dorita980 which allows you to control the roomba via HTTP requests. I used the project to obtain the password and user name from the robot, which was fiddly, and then pieced together from forum posts and the code itself what HTTP commands I needed to operate the roomba.
Unfortunately there's another piece of the puzzle that you can't do with the Zipabox, and that's extract information via HTTP from the roomba (are you listening Zipato?). So I do that using a Google App script, which I sort of have to coordinate with my roomba scheduling. But it seems to be working quite well now. Basically I just query the battery percentage and the current state (stopped, cleaning...) and send them to a virtual meter.
Gory details available on request.
No, the 980 isn't compatible with the such devices like earlier models. Instead it has its own wifi control via a smartphone app. But the smartphone app is pretty limited. You can set up a schedule, but it's inflexible. You can't say "every Monday, Wednesday and Friday, but not if it's a public holiday and I'm not working that day". Also, I found that the robot frequently failed to start, for no good reason. So you have to be babysitting it by checking the app to see whether it's really started when it's supposed to. And the final thing I don't like is not being able to control the time that the Roomba base is turned on (I have it plugged into a Z-Wave on/off socket) according to the current battery life.
So searching around I found that somebody had created a Node.js project called dorita980 which allows you to control the roomba via HTTP requests. I used the project to obtain the password and user name from the robot, which was fiddly, and then pieced together from forum posts and the code itself what HTTP commands I needed to operate the roomba.
Unfortunately there's another piece of the puzzle that you can't do with the Zipabox, and that's extract information via HTTP from the roomba (are you listening Zipato?). So I do that using a Google App script, which I sort of have to coordinate with my roomba scheduling. But it seems to be working quite well now. Basically I just query the battery percentage and the current state (stopped, cleaning...) and send them to a virtual meter.
Gory details available on request.
Well, it sucks Zipato cannot use HTTP on zipato to GET status from roomba, probably is the same for several HTTP enabled devices.
If I decide to invest on the Roomba I will let you know. Thanks as always for sharing.
Well, it sucks Zipato cannot use HTTP on zipato to GET status from roomba, probably is the same for several HTTP enabled devices.
If I decide to invest on the Roomba I will let you know. Thanks as always for sharing.
Very good David. Maybe Zipato support can contact you and work with you to "officially" integrate this. It would be a very good addition, and developing HTTP get to a virtual meter directly would be a big step forward for many platforms to integrate easier into Zipato.
At least now that you have done this once, you should be able to do it easier with a lot of other devices.
Again, well done. Nice to see outside development happening.
Very good David. Maybe Zipato support can contact you and work with you to "officially" integrate this. It would be a very good addition, and developing HTTP get to a virtual meter directly would be a big step forward for many platforms to integrate easier into Zipato.
At least now that you have done this once, you should be able to do it easier with a lot of other devices.
Again, well done. Nice to see outside development happening.
Yeah, I understand that there would be some complexity involved in defining how to extract the information from the data structures and place them in variables, but it seems to be a vital piece of the system. I've done the same to extract data from my Tado thermostat and from alternative weather services.
Yeah, I understand that there would be some complexity involved in defining how to extract the information from the data structures and place them in variables, but it seems to be a vital piece of the system. I've done the same to extract data from my Tado thermostat and from alternative weather services.
The dorita980 project I referred to (not implemented by me!)
https://github.com/koalazak/dorita980
The dorita980 project I referred to (not implemented by me!)
https://github.com/koalazak/dorita980
Funny thing is that I have seen pics of the Tado thermostat at Zipato shows, so I thought it may have already been integrated. Obviously not.
What happens if the Roomba firmware updates?
Funny thing is that I have seen pics of the Tado thermostat at Zipato shows, so I thought it may have already been integrated. Obviously not.
What happens if the Roomba firmware updates?
Nope!
Then, of course, we could be screwed. It's odd that they've chosen to make this Roomba so unhackable when previous models were easy to play with. Reflexive corporate control-freakery, I suspect.
Nope!
Then, of course, we could be screwed. It's odd that they've chosen to make this Roomba so unhackable when previous models were easy to play with. Reflexive corporate control-freakery, I suspect.
bumping this thread as the roomba 980 now has support for ITFFF
https://ifttt.com/irobot
bumping this thread as the roomba 980 now has support for ITFFF
https://ifttt.com/irobot
Well, i have neato so out of luck.
Well, i have neato so out of luck.
Just spotted that Neato also does IFTTT - finally my vacum vill be controlled via the system.
Just spotted that Neato also does IFTTT - finally my vacum vill be controlled via the system.
I neglected to mention here that the Roomba firmware was updated, and it *did* screw us. It completely broke HTTP support in favour of MQTT (I have no idea what to do with that, even though Zipato says it's now supported).
<rant>Companies obviously will claim the right to modify unpublished APIs at will, but wreaking havoc in this way really challenges what it means to own a product. </rant>
On the upside, the mobile app is now a good deal more reliable. The robot cleans at the appointed time, day in, day out.
The IFTTT support is interesting because, if it will reliably allow me to trigger the cleaning from the Zipabox, I can avoid it cleaning on my days off, which would be nice. If IFTTT works reliably, though, it will be the first time ever in my experience.
This is still inferior to the HTTP integration. I was able to use a Google App Script to get info on the robot's state, including the battery charge, and send it to the Zipabox.
I neglected to mention here that the Roomba firmware was updated, and it *did* screw us. It completely broke HTTP support in favour of MQTT (I have no idea what to do with that, even though Zipato says it's now supported).
<rant>Companies obviously will claim the right to modify unpublished APIs at will, but wreaking havoc in this way really challenges what it means to own a product. </rant>
On the upside, the mobile app is now a good deal more reliable. The robot cleans at the appointed time, day in, day out.
The IFTTT support is interesting because, if it will reliably allow me to trigger the cleaning from the Zipabox, I can avoid it cleaning on my days off, which would be nice. If IFTTT works reliably, though, it will be the first time ever in my experience.
This is still inferior to the HTTP integration. I was able to use a Google App Script to get info on the robot's state, including the battery charge, and send it to the Zipabox.
The IFTTT integration works. I was able to set the Roomba cleaning by triggering a switch in the Zipabox, then stop it and send it back to base. Now to see whether it works reliably.
The IFTTT integration works. I was able to set the Roomba cleaning by triggering a switch in the Zipabox, then stop it and send it back to base. Now to see whether it works reliably.
Hello,
Could you tell me how can we make it work ?
Regards
Hello,
Could you tell me how can we make it work ?
Regards
I'm having an issue setting up my triggers on IFTTT for the roomba. I have created my irobot account and registered my robots, downloaded the android app (irobot) and I'm able to control my roomba 980 while in local network and through the internet, however, when go to IFTTT I have succesfully added the irobot applet to my IFTTT account but when I try to create the trigger, while trying to select which robot to command it says "No options found", anyone else has had this issue?
I'm having an issue setting up my triggers on IFTTT for the roomba. I have created my irobot account and registered my robots, downloaded the android app (irobot) and I'm able to control my roomba 980 while in local network and through the internet, however, when go to IFTTT I have succesfully added the irobot applet to my IFTTT account but when I try to create the trigger, while trying to select which robot to command it says "No options found", anyone else has had this issue?
Replies have been locked on this page!