iRobot-Roomba  

Developer: Glenn's Plugins     Like this plugin? Show your appreciation!
Category: Miscellaneous
Github: Github Repo
Assistance: Get help!    Check the online documentation
Plugin ID: com.GlennNZ.indigoplugin.irobot
Latest release: v0.3.3 released on Dec. 1, 2018
Requires: Indigo v7.0.2 or higher
(Check the Releases tab below for older releases that may have different requirements)
  Download latest release

Hi all,

* Models Supported: * Confirmed in this post by other users. - 980 Model https://store.irobot.com/default/roomba-vacuuming-robot-vacuum-irobot-roomba-980/R980020.html - 985 Model - i7 and i7+ Model https://store.irobot.com/default/roomba-vacuuming-robot-vacuum-irobot-roomba-i7-7150/i715020.html

Theoretically the 800 series and 900 series should also work, but seem to remain untested 600 series should also be compatible, but may need some feedback to me to fully support. (Please let us know other models and will update this list)

Currently - have it functioning well and it enables a continuous connection to one Roomba-980 or multiple intermittent connections to two or more Roombas (although cannot test that aspect - as only have one sadly)

The benefit of continuous connection is status is updated immediately - so can trigger events to occur which happen within a few seconds; Status is immediately updated.
The library I am using also supports mapping/drawing a map of cleaning - which I would imagine would look good on a control page. (I haven't worked through those aspects as yet - but have it on a todo list)

Installation:

Indigo 7 Only

Needs paho-mqtt for python installed via terminal window: Within a terminal Window: <sudo> pip install paho-mqtt

Download and Install from Plugin Store as below link:

https://www.indigodomo.com/pluginstore/132/ or https://github.com/Ghawken/Indigo-iRobotRoomba

Setup

For this plugin to work correctly you irobot needs to have a fixed IP address so to know whom it is. Assign your iroomba a fixed IP address; either a router level (would be my recommendation) or within iroomba setup.

Install the plugin.

Configure the Plugin:

[i]Continous connection to ONE Roomba Device only[/i] Preferred method of communication. Maintains constant local connection to iroomba. If any status change any triggers or status change triggers will occur immediately. Reestablishes the connection only every 24 hours. If any communication issues restarts the plugin to overcome.

Create your iroomba Device

& Edit Settings

[i]Roomba IP Address:[/i] Enter the IP address (fixed ideally) of your iroomba robot

This can be a slightly tricky part as need to be quick between activating iroomba with holding Home button (four notes confirm) and pressing the Get Password button. Indigo will also give a timeout error (as communication takes longer than allowed). This can be ignored. This will possibility take a couple of goes to establish communication.

It then saves the communication password to a IP address based config file and will use this file if you happen to delete you device.

Status

The plugin reports the following status - and this is updated live in the setting of continuous communication.

Actions

The plugin supports the following actions to control you iroomba.

What could go wrong:

  1. Connection fails with a 'Broken Pipe' Error:

Debug info may display the following info about your iroomba during the Get Password connection phase: iRobot-Roomba Debug Received: { "robotname": "pmgk roomba rdc ", "sku": "R980020", "nc": 0, "ver": "2", "proto": "http", "ip": "192.168.1.13", "hostname": "Roomba-", *"sw": "v1.6.4", * "mac": " }

This means that your iroomba is on very old software 1.6.4 and is still using its old http protocol. The iroomba automatically update when connected to cloud after a short period of time (unless blocked at firewall level). This plugin only works on the newer firmware version. Wait it out and your iroomba will be updated and try again.

  1. If you do not have a fixed IP address for your device it will lose its connection when this is updated by your dhcp server. Set it to fixed.

  2. Occasionally if the plugin loses its connection to iroomba it will restart the plugin itself to reestablish. It does this automatically with no user input required.

Glenn

Release details
Released on: Dec. 1, 2018
Requires: Indigo v7.0.2+
Changes in this release

0.3.3

Adds better logging for getPassword section (no longer debug logging only Name change on PluginStore

Release details
Released on: Nov. 28, 2018
Requires: Indigo v7.0.2+
Changes in this release

0.3.2

Bug fix for new firmware/changes primarily for getting password for new device More debug logging

Release details
Released on: Oct. 9, 2018
Requires: Indigo v7.0.2+
Changes in this release

0.3.1

Support for new line of iRoomba i7 robots

Release details
Released on: Feb. 3, 2018
Requires: Indigo v7.0.2+
Changes in this release

0.2.6

Add better Logging to debug log Add Plugin Store Menu item (moving to this for updating) Better error messaging if missing modules/not installed Better messaging if iRoomba not connectable (normally means have lost charge somewhere)

Release details
Released on: Jan. 11, 2018
Requires: Indigo v7.0.2+
Changes in this release

FIx for action error if not running continuous mode Better handling actions if no connection possible/exists Update Plugin Config to remind that continuous connection preferred method

Release details
Released on: Dec. 31, 2017
Requires: Indigo v7.0.2+
Changes in this release

0.2.3 Added a Action for Toggle Cleaning. Start or Stops and Docks iroomba depending on current cleaning phase. (only useful if using continuous connection)

Release details
Released on: Dec. 29, 2017
Requires: Indigo v7.0.2+
Changes in this release

Updated documentation Less error logging for expected conditions/events (now debug)

Release details
Released on: Dec. 25, 2017
Requires: Indigo v7.0.2+
Changes in this release

Proper fix for restart issue (missed the full Stop)

Release details
Released on: Dec. 24, 2017
Requires: Indigo v7.0.2+
Changes in this release

Plugin Store Bug fix for restart error given name change

Release details
Released on: Dec. 24, 2017
Requires: Indigo v7.0.2+
Changes in this release

PluginStore Release

Requirements

Indigo 7 Only Needs paho-mqtt python library installed. In terminal Window pip install paho-mqtt