Roomba 980 Wifi Connectivity Reverse engineering

Only the Clean Map part is out. There is also a tidbit in there about being able to voice control from Alexa.

To be fair it took them long enough. I also suspect they got sick of ‘us’ asking them for an open API and them refusing and then going at reverse engineering it anyway

Any news/progress to get Roomba 980 new software version working again with SmartThings?

Have someone been able to get it to work?

Any updates if iRobot Roomba 980 or 960 can be paired with SmartThings? I’m considering purchasing any of those two and would love to make it work SmartThings.

I am working on one, based on dorita989 and the REST interface exposed locally on a Raspberry PI. Will have some working DTH by end of weekend. I have the PI working, service and all, now all I need to do is the DTH with the local requests. Breeze.

1 Like

I haven’t had time to test it yet, but I just published what I built last night. I will take the time to write some installation guide this weekend. Maybe.

Until then, on a local server with a fixed internal IP, install nodejs and this:

Then find the DTH on my github ady624 / iRobot / master

The DTH is pretty much Steve Gregory’s DTH modified to work with the rest980 library.

You will need to manually install the device for now (add a new device from the IDE) then go to the st app and configure the IP of your server.


I’m having some functionality issues with pause and resume buttons, other than that the device seems to work pretty well.

It seems to work well on Android, however, on iPhone and ipad the pause and resume buttons don’t work, I can only stop and send home. I’m not sure if this is a device handler issue or an ST app issue…

I would like to integrate the roomba with the home alarm. This way when roomba cleans the house, the alarm wont trigger.

@ady624 I was able to get my username/BLID and password from dorita980. I see a lot of options in the DTH. Which ones do I need to fill to make my Roomba work with ST?

Is there a NOOBS guide to installing this on RPI?

Ok, typing to myself on this one.

  1. Installed Dorita980 and obtained my blid and password and IP address of Roomba
  2. Installed rest980 and then edited the config/default.json file and entered my ip address, blid and password.
  3. Added the DTH from @ady624 repository (on a side note, does this guy ever sleep!)
  4. Added a custom device through the IDE and entered the IP address, BLID and PWD into the settings.
  5. Started rest980 and see the following (BTW, can I close terminal? because it seems to do nothing after this).

    Now this is what I see for my device status (the device is on the dock and not docking so something is wrong).

I am even able to access the roomba using the REST980 through my browser to start/stop/resume/dock the roomba… but I must be missing something regarding the DTH setup.

I’m not sure if you have this right the DTH should have the ip of your rpi.

I also recommend creating an autostart the event your rpi loses power.

I’m fairly certain I am using the correct DTH… its @ady624 DTH and I am running node.js on my synology NAS.

So for the IP address within settings, I input the IP of my NAS drive and set the port to 3000

Whose settings? The smartapp or the nodejs app?

Did you set the firmware version in config?

How do I update from 2.0.3?

Firmware is set in the config to 2 because FW is 2.xx

I actually reconfigured the entire thing this morning to remove it from my NAS as synology has some weird restrictions on SSH.

Dorita980 and Rest980 are on RPI and the web server is running and active. I know this because I can run my local:3000/map and see the map and execute commands to start/stop the roomba.

Within the settings for the DTH these are my settings.

I still have questions about auto start… i followed the instructions posted in the link from @jcoppolo and whenever I reboot the RPI rest980 does not start.

But that is incident to the fact that the DTH seems to not communicate.

So with a fresh install on the pi your st device is still not working?

Out of curiosity is your ST hub v1 or v2?

On your pi if you run npm start and leave the terminal open, then click refresh on the st device do you get a response in terminal?

Hub v1

and it does not appear to generate a response when I hit refresh on the app.