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.9.20 released on Oct. 15, 2022 |
Requires: | Indigo v2022.1.0 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 - S9/S9+
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:
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.
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.
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
Released on: | Oct. 15, 2022 |
Requires: | Indigo v2022.1.0+ |
Download this release |
Update password getting for local use
Recommend using irobot account details for inital password getting. Overcomes timing of button presses
Released on: | Aug. 14, 2022 |
Requires: | Indigo v2022.1.0+ |
Download this release |
0.9.19
Move configuration files and mapping data to Indigo Preferences directory Moves existing Documents files over if exists and should just update without issue Should remove any folder Access needed for plugin
Released on: | Aug. 14, 2022 |
Requires: | Indigo v2022.1.0+ |
Download this release |
Fix for python3 update and get icloud password.
Released on: | May 11, 2022 |
Requires: | Indigo v2022.1.0+ |
Download this release |
Python 3 Bug Fixes.. more widespread than imagined.. Sorry SSL issue, byte socket issues, get password issues Obviously slipped through the high level of quality control (Least updated in record time) Hopefully no more...
Released on: | May 11, 2022 |
Requires: | Indigo v2022.1.0+ |
Download this release |
More bug fixes.. Hopefully getting there
Released on: | May 11, 2022 |
Requires: | Indigo v2022.1.0+ |
Download this release |
0.9.15
Bug fix - for config dialog <= to integer python3
Released on: | May 7, 2022 |
Requires: | Indigo v2022.1.0+ |
Download this release |
Python 3 Version For Indigo 2022.1+ only
Released on: | Dec. 10, 2021 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Download this release |
0.9.4
Shortened the included iroomba english data Add parsing of messages - should immediately update status on all events (not just every 60 seconds)
0.9.3 Decompiled the iroomba android app and added all NotReady and all Error codes; including it would seem for mower! Read the json file completely and use this to create a new errorNotReady state: This is a error/Not Ready sentence specifically using the error code and what the iroomba app says. Strings.xml file included (not used) from android app Changed statement when battery 100% to Fully Charged.
0.9.2 Remove allRoomba check on start of every device. Was a bit overkill. Format all Lifetime numbers as readable number = eg. 3,200 & make string. Add Not Ready states as reported = States 39 & 68 (welcome to report more and can add) Add State lastMission - reports the last Mission time Mission run, uses same datetime formatting as plugin Config Reorder NotReady and Error messages; Error Message will outrank Not Ready for summary CurrentState display
0.9.1 Some change to currentState_Statment shorten mission time add battery percent
0.9.0 Change connection & reconnection to threaded events to avoid hang if one device unavailable/unstable as I recent found Modifications to currentState_statement - more information Add Datetime modification to Plugin Config. Change this to change the Mission/Recharge datetimes format to Sun 2:04PM to 02/2/2021 02:23:22 see examples or webpage link
0.8.9 Add currentState_statement state: Aiming to describe what is happening in sentence for control pages eg. Charging, restarting Mission in 48 minutes Error etc. Ideally replacing status in control pages...
0.8.6 Change Lifetime Runtime to English string weeks,days,minutes etc Add Mission Duration state in minutes Add LifeTimeCleaningJobs run state Add LifeTime Area Cleaned in M2 and Sqft Slight changes to status info; update midMsn state
0.8.5 Add Lifetime Runtime state Hours, Minutes Add Mission Started Date time state Fix RechargeMinutes remaining for later models - had to calculate. Change to a number to allow triggering with greater than/equal to etc. Add Recharge Finish Date stamp as a stamp
Released on: | June 17, 2021 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Download this release |
remove openSSL import unneeded statement
Creates Variable with Current Status of Each iRoomba Device for use in Virtual Devices Status eg. Virtual Device for Clean Kitchen - set ON for Action Group Clean Kitchen, OFF - Dock Status updates - select the variable for that device from variable == "Alexa, Turn on Clean the Kitchen" Converts each iRoomba to a Relay device with ON/OFF/Toggles - means more compatible with HomeKit/Alexa
THIS VERSION REMOVES OpenSSL libraries; this removes support for OSX versions lower than High Sierra (TLS old version problem) This removal is needed to support ongoing functions moving forward, if you are running an old version of OSX stick with 0.7.5 below
(0.8.1 Bug Fix, 0.8.3 Change variable to True/False)
Few Logging changes Couple of rare bug fixes
Add: Save Last Command from Roomba (as Action Group) Enables you to copy the last run command from the App and save it as a Action Group Enables Room, selective cleaning support for those iRoombas that allow this Example: From App Start cleaning on one or more rooms Go to Indigo, Create New Action Group, iRoomba Actions, Save Last Command Select iRoomba Device, press button and save. This command is now saved and accessible now and into the future (if you change maps etc may need to be redone)
Move to IP Address to differentiate iRoombas Few bug fixes for connect/disconnect - hopefully starting up with needing restart Add IP address as Device State as well for CP use Default to forceSSL checkbox True - think needed for all versions now Add Debug Log Menu Item for troubleshooting down the track
Summary of few updates summarised below: Prior 0.6.0 - Adds SSL libraries to the plugin to bypass any issues with older versions of IOS
& 0.6.0 onwards
Note:
Occasionally after updating from github find get security alert from Big Sur and need to then run
Terminal Command below: (change for version of Indigo - this example 7.5)
sudo xattr -rd com.apple.quarantine /Library/Application\ Support/Perceptive\ Automation/Indigo\ 7.5/Plugins
Released on: | April 25, 2021 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Download this release |
Summary of few updates summarised below: Prior 0.6.0 - Adds SSL libraries to the plugin to bypass any issues with older versions of IOS
& 0.6.0 onwards
Note:
Occasionally after updating from github find get security alert from Big Sur and need to then run
Terminal Command below: (change for version of Indigo - this example 7.5)
sudo xattr -rd com.apple.quarantine /Library/Application\ Support/Perceptive\ Automation/Indigo\ 7.5/Plugins
Plus: Soon to have 2 iRoombas to test more thoroughly on... Until then will leave this release here But please report any issues...
Released on: | Aug. 17, 2019 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Download this release |
Add support for iRoomba S9/S9+ Changes to some debug logging (less verbose) Add Software Version Status item (first used in getPassword) Force SSL usage (advanced option) to Device Config
Released on: | May 3, 2019 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Download this release |
Remove update code for Indigo 7.2 Fix for BinFull not updating appropriately
Released on: | Dec. 1, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Download this release |
Adds better logging for getPassword section (no longer debug logging only Name change on PluginStore
Released on: | Nov. 28, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Download this release |
Bug fix for new firmware/changes primarily for getting password for new device More debug logging
Released on: | Oct. 9, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Download this release |
Support for new line of iRoomba i7 robots
Released on: | Feb. 3, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Download this release |
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)
Released on: | Jan. 11, 2018 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Download 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
Released on: | Dec. 31, 2017 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Download 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)
Released on: | Dec. 29, 2017 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Download this release |
Updated documentation Less error logging for expected conditions/events (now debug)
Released on: | Dec. 25, 2017 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Download this release |
Proper fix for restart issue (missed the full Stop)
Released on: | Dec. 24, 2017 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Download this release |
Plugin Store Bug fix for restart error given name change
Released on: | Dec. 24, 2017 |
Requires: | Indigo v7.0.2 thru v2022.2 |
Download this release |
PluginStore Release
Indigo 7 Only Needs paho-mqtt python library installed. In terminal Window pip install paho-mqtt