Smartthings Roomba Control via Thinking Cleaner Version 1.5.1 Released

Yes, a smartthings hub is required for this to work. When you create the device from the device type it only needs the IP of the thinking cleaner. My code handles everything else, including calculating the Device Network ID.

Got it. Thanks for creating this!

Hi @sidjohn1 . I’ve gotten this installed but I can’t seem to get it to work. When i click the buttons, they don’t do anything. Unresponsive. Not getting an error message or anything either. I’m positive the IP address is correct and the Thinking Cleaner is working fine via it’s app. Any thoughts? Thanks!

This is my screen in ST:

Yes, just 1 thought. Where are the logs? :wink:

I got nuthin’

No logs under the Live Logging tab in IDE, and nothing under the events list for the roomba device itself. I tried deleting the smart app and device type in IDE, but only managed to make TWO device types. Says I don’t have access to delete it.

My floors are so dirty. Help me @sidjohn1 , you’re my only hope. :smiley:

Now the interface seems to be $111USD with shipping from NL I guess. I assume no VAT to USA.

I am getting a little worked up about this this now - I’ll try the smartapp.

Do you have a link for the web app? I can’t find it. Does it run a server on the Roomba? >> YUP - BOGGLING! I am going to time-out myself for a day or two to see if I can save $111.


Web-app - Inside the Thinking Cleaner runs a simple accessible website. This site enables any device with an internet browser to connect to the Thinking Cleaner. On the main page you can directly control your Roomba, see the battery status and the next scheduled time. Our schedules are also available on Roomba’s with no timer option.

I have a feeling I’m missing something obvious. @sidjohn1 said “is easily scheduled like any other light switch.” How is that done? The app works great but I can’t see how to make it trigger based on other actions.

Does your roomba device look like this?
Name, device network id, location and hub should all be populated. device network id should be self populated at the time the device is installed.

Eric, roomba’s by default have no way to communicate to the smartthings hub(no wifi, or zwave). The thinking cleaner device (as well as the roowifi) basicly give you access to the engineering port over wifi through an api. Yes there is a web app built in the thinking cleaner, but not the roomba and its not something you can download, it is embedded in the thinking cleaner.

IDK how obvious this may be, but the device is built as a light switch… on steroids, that happens to clean carpets.
If you don’t see your roomba under lights and switches add it with the gear at the top of the page. then the rest of the screen shots should make sense.

Unfortunately it doesn’t. The device network ID doesn’t seem to be populating.

A couple of questions:
Is there a specific order in which i should be installing things?
Do I need to self-publish the smartapp? or leave it as unpublished?
I’m assuming I was supposed to attach the smartapp to the device, correct?
Do I need to set up some sort of port forwarding?


Is there a specific order in which i should be installing things? - No
Do I need to self-publish the smartapp? or leave it as unpublished? - It doesn’t matter, the only job of the smartapp is to change the polling from every hr when not running to every minuet when running. The smartapp is not required.
I’m assuming I was supposed to attach the smartapp to the device, correct? - Yes, but it is not required.
Do I need to set up some sort of port forwarding? - No, everything happens on your LAN. Also this would not be smart, i hope for the security of your home network you do very little port forwarding.

The device network id is required for smartthings to communicate to any LAN device. The device is coded to set this automagicly when the device is installed or updated. Ultimately there are 2 ways to get this set if it is not.

  1. Change the IP address of your roomba device in smartthings to something else, then change it back to what is is. If this is successful will display the device network id as the codes runs (yes that page is live only if you open this page after making the change, there will be nothing to see).
  2. Manually calculate the device network id from the IP address. (I know this is dumb, but this is just how smartthings works with LAN devices) To calculate the device network id from the IP address you have to convert each octet in the ip address from base 10 (Decimal) to base 16 (Hex). as an example 192 converts to C0 and 168 converts to A8, so an IP address of converts to C0A8000A. The default port on the roowifi is 80 this converts to 0050. Assuming your thinkingcleaner IP address is and has the default port of 80 your device network id would be C0A8000A:0050.
    As a side note, if your thinkingcleaner IP changes so does your device network id and your device will stop working. I would ensure your thinking cleaner gets the same IP every time.

Bingo. That worked. I had to manually calculate the ID, but this puppy is working now. Thank you @sidjohn1. I love having a robot as part of my ST setup! And clean carpets!

1 Like


Feature Request: I want to include my Roomba in our home security plan. How do we turn it into an attack robot?? :wink:

1 Like

Mount a camera to it, and have it follow the burglar. Maybe have it carry a sonos speaker to play tracks from the sound of music or Greece. No way the burglar would risk staying long, for his safety or sanity!

I wish there was a way to pin point exactly where the motion is. This way we can have the roomba chase the burglar right out the door.

(and for chasing cats)

Relevant reference material:

I think if someone broke into your house and saw one of these coming after them, you wouldn’t need to pinpoint where the motion is.


Ha! Then that is what i’m gonna do.