Latest (2019) iRobot Roomba integration methods

What is the latest method of integrating Roomba (I have an i7) with Smartthings? Right now I am just using IFTTT.com but am using 3 virtual switches to do so. I have a Virtual Switch called Robot that I used to Start Cleaning (ST is the Trigger and iR is the Action), a Virtual Switch called Robot Cleaning that turns on when a Cleaning Starts (iR is the Trigger and ST is the Action). I also have a uDTH (switch and motion) called Robot Stuck that turns on when the Roomba reports its stuck to IFTTT (iR is the Trigger and ST is the action).

I use Robot vSwitch to control Roomba via SmartThings. I use Robot Cleaning vSwitch to know if it started cleaning via another source (iRobot app, scheduled clean, or button press on Roomba). I use the Robot Stuck uDTH for an Alexa Routine to tell me that Roomba is stuck on my Echo devices. (Alexa Routines only seem to work with motion triggers).

This seems less than ideal or optimal. Anyone got a better way?

I saw that RooWiFi, Thinking Cleaner, dorita989, rest980, etc all seem to be dead.

Also something intersting. I wanted to use the Universal Device Type Handler (uDTH) for all 3 switches, but for some reason the uDTH was not reporting status updates to IFTTT.com. Had to switch 2 of them to Virtual Switch. The other has to be a uDTH because Alexa Routines only seem to work with Motion triggers.

As far as the echo, see the community FAQ:

FAQ: Can I trigger an Echo Action without Speaking to It?

If the UDTH is working for you, that’s great, but since I believe it is no longer being supported by the author, you might just want to be aware of the alternatives as well. :sunglasses:

IFTTT can turn on and off the uDTH, however when a uDTH is updated in SmartThings it does not update to IFTTT for some reason.

I this is how i get full integration for my I7’s in SmartThings:

1 Like

Just remembered I created a “lite” version of the uDTH that works with IFTTT and Alexa. There are some abilities that either IFTTT or Alexa will not allow to be added. I think the main one is locks. I removed those abilities and it works.

I was never able to get Roomba 980 Wifi Connectivity Reverse engineering working for me.

I was in a similar state of virtual switches and IFTT so I starting working on my own DH. I modified the simulated button DH, creating buttons for Start, Pause, Stop, Dock and a manual reset; leveraging webcore to send IFTT webhooks based on the respective button press. I also added a valuetile to report a quasi-status. Unfortunately, the status was based on intended action rather than actual activity.

So for help with the feedback, the irobot IFTT channel has 3 triggers: mission complete, robot started and robot stuck which can act upon a ST switch, lock, or alarm so I added those capabilities to get feedback.

Robot started = switch on = status of Running
Mission Complete = locked = status of Job Complete
Stuck (error) = strobe alarm = status of Error
but there is still no way to confirm receipt of paused, stopped, or docking commands/status within ST.

Downside is that you still need to use IFTT and webcore, no direct interaction. Upside is that I was able to downsize to only one virtual device and regardless of how you start Roomba (via ST, Google Home, or manually) the status will be updated in ST. (Sorry, don’t have Alexa, Google Assistant can talk directly to Roomba).

Just updated the feedback mechaisms so I want to fully test before I share code but screenshots below:

Screenshot_20190912-155716_SmartThings Screenshot_20190912-155828_SmartThings

© 2019 SmartThings, Inc. All Rights Reserved. Terms of Use | Privacy Policy

SmartThings; SmartApps®; Physical Graph; Hello, Home; and Hello, Smart Home are all trademarks of the SmartThings, Inc.