Jump to content

Roomba How-To


Recommended Posts

I came across this discussion about integrating Roombas.  I've had three Roombas integrated with the ISY for about 2 years now.  We don't even have any other vacuums at the house anymore.  Our floors are way cleaner than if a human cleaned them.  This should be no surprise.  Three Roombas clean for an hour a day, every day.  A human might clean the floors once every one or two weeks on a good month.



I've seen many people who are disappointed with Roomba's efficacy.  This usually boils down to having unrealistic expectations for the little robots.  In my experience, the following are the most common barriers to Roombas pleasing their owners:

  • too much dirt or dust per cleaning (they can't clean the whole house if you only run them for an hour a month)
  • inappropriate timing of cleaning (they disturb people with noise and by being underfoot)
  • too much area per Roomba (see the "numbers game" section)
  • clutter on the floors (Roombas don't have arms and they can't move your junk on the floor to clean under it.)

Effective Cleaning is a Numbers Game

Roomba's cleaning pattern is random.  This means that there is a mere probability, not a certainty, that any given spot on the floor will be cleaned on any given cleaning cycle.  To maintain clean floors you want to keep this probability as high as possible.  Here are the things you can do to meaningfully increase the probability:

  • restrict each Roomba to a manageable sized area
  • run Roombas at least once per day
  • set yourself up to clean and repair Roombas

How Much Area Can One Roomba Clean?

I have no pets and a high-efficiency furnace filter.  Windows are rarely open.  Despite this, without vacuuming, a noticeable layer of dust forms on our floors in about 4 days.  I started with one Roomba in my 1400 square foot floorplan, and quickly increased that to two and then three.  Even in these most ideal conditions a single Roomba cannot effectively clean more than 700 square feet.  I'd say you should budget between 300 and 500 square feet per Roomba depending on how dusty/dirty your space is and how frequently you'll be able to run them.


Actually Running Roomba Regularly

Roomba needs to run at least once per day in order to keep up.  Because they are noisy they won't be welcome to run at night.  Because they end up underfoot and in the way, they probably won't be welcome when people are going about their day at home.  I have found that occupants cut Roomba's cleaning cycle short when they around during vacuuming.  The only time you can be sure Roomba's cleaning won't be curtailed is when no one is home.  The only reliable way to get Roomba to clean when no one is home is to start them automatically when everyone leaves.  This is critical to getting Roomba's numbers up, and is therefore critical to having clean floors.


I experimented with a few different criteria to trigger Roomba's cleaning.  I finally settled on Roomba cleaning once per day starting when the house is vacated.  I use the arming of the alarm as the event to trigger cleaning.  Roombas take about an hour to finish their cleaning cycle, and I've found that it is rare that anyone returns home within that hour.  If I had pets, I'd try to find second daily window for Roombas to run.


Cleaning and Maintenance

Roombas require regular cleaning and maintenance -- more if they're cleaning a backlog lot of hair or debris, less if they're just maintaining.  At around 500 square feet per Roomba with no pets, emptying Roomba's bin and cleaning the filter about every two weeks is adequate.  You also need to clean hair and string from the rollers about every six weeks.


Roombas have many wear parts: Brushes, motors, batteries, rollers, etc. These wear parts don't last forever.  Occasionally, non-wear parts like the charging station also fail.  Failures are a matter of if, not when.  I keep an inventory of parts so I can replace failed parts immediately.


Integrating Roomba with ISY

The only signal you need to send to Roomba from ISY is "Clean".  Roombas natively respond to infrared commands and they return to their docks automatically.  I experimented with a few different methods of sending the "Clean" command from the ISY.  The only reliable method I found is mounting a Global Cache Wifi2IR and IR blaster to Roomba's dock.  That setup looks like this:




You "teach" the Wifi2IR with the Roomba remote and set up a Network Resource on the ISY to send the "Clean" signal.  I have three such Network Resources: Once for each Roomba's Wifi2IR.


Here's are the contents of one of my Network Resources:

protocol: tcp
Host: <the IP address of the Wifi2IR>
Port: 4998
Timeout: 500 ms
Mode: C Escaped
Body: sendir,1:3,1,38343,1,1,111,39,36,113,35,113,35,113,108,39,36,113,35,113,35,783,111,39,36,113,35,113,35,113,108,39,36,113,35,113,35,783,111,39,36,113,35,113,35,113,108,39,36,113,35,113,35,783,111,39,36,113,35,113,35,113,108,39,36,113,35,113,35,793,111,39,36,113,35,113,35,113,108,39,36,113,35,113,35,783,111,39,36,113,35,113,35,113,108,39,36,113,35,113,35,783,111,39,36,113,35,113,35,113,108,39,36,113,35,113,35,783,111,39,36,113,35,113,35,113,108,39,36,113,35,113,35,4907\r\n

I hope this helps others get on the right track with Roomba,





Link to comment

I have Roombas ans Scoobas. Gutter cleaners. too. And also a network module.


How can I control these iRobot devices with an ISY? Specifically, what do I select in the Resource Editor?

Link to comment


As far as I know all Roombas respond to the same IR commands.  I believe the the sensor for the IR commands is the same as it uses for detecting IR beacons (eg. virtual wall, docking station).  iRobot would have to go out of their way to cripple IR command reception.  Many Roombas including the ones I bought are packaged without remotes, but you can buy the remote separately.  I bought my remote separately just so I could capture the "Clean" command from it for automation. 



Link to comment
  • 2 weeks later...


I'm curious how your roowifi turns out in the end.  Is there something specific you're planning to do that can't be done with a dock-mounted IR transmitter?  My main concern with adding wifi to Roomba was that the modules were vulnerable to damage, increased Roomba's height, or required repeat time-consuming alterations to Roomba.  



Link to comment
  • 4 weeks later...



Integrating Roomba with ISY

The only signal you need to send to Roomba from ISY is "Clean".  Roombas natively respond to infrared commands and they return to their docks automatically.  I experimented with a few different methods of sending the "Clean" command from the ISY.  The only reliable method I found is mounting a Global Cache Wifi2IR and IR blaster to Roomba's dock.  That setup looks like this:







Alex,  What about using an IRLINC Transmitter (2411T)?  http://www.smarthome.com/irlinc-transmitter-insteon-2411t-insteon-to-ir-converter.html


Have you tried one of those?  I don't have the network module for my ISY and I'm thinking for the price, this is a better option.  (The Global Cache WF2IR you mentioned is $111.00 at the cheapest place I found online.  The IRLINC is $89.99).


Please advise, as I would really like to automate my Roomba!  






(If it ain't broke - FIX IT ANYWAYS!)

Link to comment

Hi atomicbear,


I haven't tried the IRLINC.  I would not expect satisfactory results unless you have an extremely robust Insteon network.  Insteon does not guarantee delivery.  This is particularly problematic for sending toggle IR signals.  Roomba's clean signal is a toggle signal.  This means that when Roomba receives "toggleClean" it starts cleaning, and when it receives "toggleClean" again it stops.  Because of the unreliable nature of Insteon, the ISY can never be sure how many (if any) "toggleClean" signal Roomba has received if you are sending them over the IRLINC.  So ISY can't know whether the next "toggleClean" signal will start or stop Roomba.


Contrast this with the Wifi2IR: The connection from the ISY to the Wifi2IR is TCP which guarantees delivery of packets by transparently retransmitting if they don't reach the destination on the first try.  The result is that when the ISY sends "toggleClean" to Roomba, it is certain that Roomba receives it.


My rule of thumb is, if you can choose between TCP and Insteon, choose TCP -- your system will be much more reliable.



Link to comment

It will probably sounds crazy, so really sorry if it is, but how about a contact or a motion sensor very close to roomba, just to make sure it left after the initial toggle? So you may send again if it doesn't move. The same for turning it off, you may have a delay (time required to return), so it may also help with some notification if it got stuck somewhere.

If you have already the IRlinc, should be an not that expensive to have the sensor, but programming may get more challenging.....


Just a crazy idea....



Enviado do meu iPad usando Tapatalk

Link to comment


That sort of feedback mechanism is not crazy at all.  If you implement that to compensate for an unreliable communications channel, you will need to implement what amounts to a custom state machine in the ISY to track the state of Roomba so that you can resend the signals in a sensible manner.  I've got a bunch of such state machines in my ISY to compensate for various devices that just don't seem to get the message on the first try.  These state machines are time-consuming and tricky to get right, and usually completely avoidable if your communications channels are reliable.  The result is never as reliable as what you get with a good communications channel in the first place.


If you're trying to save money by going the Insteon rather than TCP route, expect that money saved to result in much time spent programming your own retry logic.  And expect your hourly rate to work out to much less than minimum wage in the end.  



Link to comment

Agree, it was more "conceptual". I thought it should be something like a start program with some loop with a delay (ie 2minutes) until next IR toggle and a second one that stops the previous if roomba leaves the dock.

The turn-off can be more complex if you want to detect and notify if it got stuck.


But at the end this is just theory and putting it in practice is way more complex.


Thanks !



Enviado do meu iPad usando Tapatalk

Link to comment
  • 1 year later...



Alex,  What about using an IRLINC Transmitter (2411T)?  http://www.smarthome.com/irlinc-transmitter-insteon-2411t-insteon-to-ir-converter.html


Have you tried one of those?  I don't have the network module for my ISY and I'm thinking for the price, this is a better option.  (The Global Cache WF2IR you mentioned is $111.00 at the cheapest place I found online.  The IRLINC is $89.99).


Ninety bucks!?!   Hopefully the price for a WiFi->IR module will come down soon.   


Funny that you can get the same WiFi connectivity at less than half the price by using a Raspberry Pi 3, an IR expansion board, and LIRC.   Or you could get the cost down around ten bucks with an NodeMCU or ESP8266 solution.  (google “esp8266 ir” or "esp8266 ir station")


Looks like there are pre-written ESP8266 packages to make it easy to have Network resources with TCP to send any arbitrary IR code you like from the ISY994.   Hopefully somebody will roll these together with english language instructions and sell them at around the $19.99 price that the Chinese-language-only units go for.

Link to comment
  • 1 year later...

Thanks, Alx9r.

I've got an old Roomba 790 before Wifi and recently realized I had an empty channel on GC wifi2ir for the tv right beside the Roomba dock. The automatic schedule usually just annoys whoever is still at home.  I was having trouble finding the right IR code to start cleaning to automate it.  Also was having trouble capturing the code from the remote.  Just the normal condition for me. :) I know this is an older post, but wanted you to know it was really  helpful.

Thanks again,


Link to comment
  • 5 months later...

Hi All.

Total success using the website IFTTT.com. I use Mobilinc with my iOS devices and I have the Mobilinc Connect service and the necessary module added to my ISY. Mobilinc recently announced that they have set up an IFTTT channel. While I did not really need a Roomba, I could not pass up this opportunity. Now that both Mobilinc and iRobot have IFTTT channels the path was clear.

So now I have it such that my Roomba vacuums when I leave. If I get home before he is done, he stops and goes back to his base. I got the new i7 and was surprised to discover that this advanced Roomba requires a bit of light to function as it has a camera for location awareness. So in addition to starting, I have a low level lighting scene that comes on when the Roomba runs. And iRobot has a mission complete trigger on IFTTT so it is sorta two way communication. When the Roomba is done, he sends the trigger to the iRobot servers, which gets sent to IFTTT which triggers a Mobilinc IFTTT response to trigger a program in my ISY and the Roomba light scene gets shut off. 

It is working great. 

Link to comment
  • 3 months later...
Question about the roomba 890: how is navigation? I saw videos where it seems to choose a random direction, hit something then go off in another direction


Find a real review site that isn't really just another advertising site faking it. There is a lot of money left over to advertise these toys that should sell for $39.95. 


I have seen a few videos exposing their deficiencies but they have all disappeared since.

I have a model 500ish with dead batteries that lasted about 7 or 8 uses. They are still using ni-cad.



Sent from my SM-G930W8 using Tapatalk






Link to comment


This topic is now archived and is closed to further replies.

  • Create New...