iRobot 9xx on openHAB

Hi all,
I am very excited that I found this by accident.
I am running OH3.0.1, Roomba 960, i could download the binding plus jts-core plus OpenPNP and I could setup a thing that I see after a start the batterystatus and phase saying charing… so far so good.
But: I could not manage to trigger a control-command. Looking into the “offical” Binding I used the item plus Map … but no reaction with this binding. Any thoughts what I am doing wrong … sadly I do not see any negative response in the log…
THis is really an exciting piece of work - I looking forward to see the first MAP!!!
Thanks for any help / suggestion.

Same problem for me. Status items work, but not control command. When I set a command, connection get lost. Seems to be a wrong command enumeration?
Another question: How can I get map information? Where?

Hello everybody,

ok, let’s dive in. As i wrote above, i haven’t migrate start command with region support introduced here. Are another commands working?

Switch RoombaSearch       { channel="irobot:roomba:Roomba:control#find" }
Switch RoombaAlwaysFinish { channel="irobot:roomba:Roomba:control#always_finish" }
String RoombaCleanPasses  { channel="irobot:roomba:Roomba:control#clean_passes" }
String RoombaLanguage     { channel="irobot:roomba:Roomba:control#language" }
Switch RoombaUploadMap    { channel="irobot:roomba:Roomba:control#upload_map" }

If command was send successfully, then robot shall make a noise. Talk we only about?

String RoombaCommand      { channel="irobot:roomba:Roomba:control#command" }

Map can be found in mission group:

Image       RoombaMissionMap { channel="irobot:roomba:Roomba:mission#map" }

There are a lot of advanced channels. Please, be sure to activate the check box to seems them.

@alacard Thanks for JSON :slight_smile: It helped a lot. Binding have a channel for:

String RoombaJSON  "Roomba JSON [%s]" { channel="irobot:roomba:Roomba:state#json" }

every change will be logged in events.log file

Greetings,
Alexander

Danke!
Thanks for your fast reply- I will try it out ASAP

Hi!
When switching control#find to ON no sound comes up and after ~10seconds the switch goes back to OFF.
The state#json does not show any messages and while cleaning.
A map is not generated at the of a mission.

Greetings - Michael

Hello! I am very happy that the binding found a new maintainer. I simply don’t have time for it, i moved on to other projects

I use the “original” binding, coming with openHAB 3.1.0 Build #2271.

When I trigger command from Stop to Clean, nothing happens, here the log:

2021-03-27 14:13:15.854 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'RoombaKommando' received command clean
2021-03-27 14:13:15.858 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'RoombaKommando' predicted to become clean
2021-03-27 14:13:15.861 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RoombaKommando' changed from stop to clean
==> /var/log/openhab2/openhab.log <==
2021-03-27 14:13:20.958 [INFO ] [.reconnect.PeriodicReconnectStrategy] - Try to restore connection to '192.168.0.44'. Next attempt in 5000ms
2021-03-27 14:13:20.978 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '192.168.0.44' with clientid 3167031442422570
==> /var/log/openhab2/events.log <==
2021-03-27 14:13:22.732 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RoombaKommando' changed from clean to stop

Changed to latest GitHub version Fix map generation trigger as well rendering. · falkena/binaries@d18b530 · GitHub and now it works.
Command and map.

Only problem is, that there is always a disconnect after a command:

2021-03-27 15:06:47.842 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'RoombaKommando' received command clean
2021-03-27 15:06:47.843 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'RoombaKommando' predicted to become clean
2021-03-27 15:06:47.844 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RoombaKommando' changed from dock to clean
2021-03-27 15:06:49.103 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RoombaKarte' changed from raw type (image/png): 3750 bytes to UNDEF
2021-03-27 15:06:49.104 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RoombaZustand' changed from charge to run
2021-03-27 15:06:49.109 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RoombaReinigungAktiv' changed from OFF to ON
2021-03-27 15:07:01.069 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RoombaDockingstation' changed from ON to OFF
2021-03-27 15:07:02.100 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RoombaDockingstation' changed from OFF to ON
2021-03-27 15:07:04.963 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'RoombaKommando' received command dock
2021-03-27 15:07:04.964 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'RoombaKommando' predicted to become dock
2021-03-27 15:07:04.965 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RoombaKommando' changed from clean to dock
2021-03-27 15:07:06.038 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RoombaKommando' changed from dock to stop
2021-03-27 15:07:06.038 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RoombaZustand' changed from run to stop
2021-03-27 15:07:07.192 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RoombaKarte' changed from UNDEF to raw type (image/png): 2795 bytes
2021-03-27 15:07:07.193 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RoombaZustand' changed from stop to hmUsrDock
==> /var/log/openhab2/openhab.log <==
2021-03-27 15:07:17.128 [INFO ] [.reconnect.PeriodicReconnectStrategy] - Try to restore connection to '192.168.0.44'. Next attempt in 10000ms
2021-03-27 15:07:17.133 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '192.168.0.44' with clientid 3167031442422570

Thanks

Hi!

I still have the

Thing ‘irobot:roomba:staubinator’ changed from ONLINE (CONFIGURATION_PENDING): Robot authentication is successful to ONLINE

message - but blid and password are correct.
I can not send a command …

Any idea?

Hi,

just to make the things clear: I don’t maintaine the binding. I simply share my work with the community. The “offical” binding is broken since openHAB 3.1.0 build #2269 (at least as far i observed it).

@davesen Strange, i see no disconnect on my I7. I haven’t implement the dock “short cut” properly now. It seems, that, first “stop” command shall be send and only then “dock”. May be another models interpret “dock” without “stop” bevore as error and cut the connection.

Greetings,

Alexander.

Can you tell me what’s broken there ?

Hi,

yes: iRobot 9xx on openHAB - #239 by falkena

There was a bugfix in mqtt, that breaks command send. I refactored massively the handler and discovery. Additionally, the password fetching was fixed, that it works now for 980, I-Series and Braava M-Series:

May be it’s of interest: openhab-addons/bundles/org.openhab.binding.irobot at feature/irobot · falkena/openhab-addons · GitHub

EDIT: I’ve integrated the fix by @J-N-K for [iRobot] Make thing ID persistent · Issue #10116 · openhab/openhab-addons · GitHub into my fork too. It was merged into GitHub - J-N-K/openhab-addons: The next-generation open Home Automation Bus (openHAB) only.

Greetings,

Alexander

I bought a Roomba 697 recently. The binding works but it’s not sending the commands to the roomba.
I also turned all my devices in airplane mode, except the OpenHAB server. I’ve rebooted the Roomba several times, but it does not work. I really hope OpenHAB works with the 697 model of the Roomba.
(Also I hope I’m here in the right thread.)

Thank you in advance!

You using the official one? or falkena?

The one that you can download from the webUI

the official addon is bugged, use falkena version (its better in my opinion any way) binaries/org.openhab.binding.irobot-3.1.0-SNAPSHOT.jar at master · falkena/binaries · GitHub

Okay Thank you!

Now when I try adding the new Thing it’s saying:
“Error while creating item: OK”

I read the topic and maybe I missed something, but if I understood correctly, there is no version of binding for the moment (official or not official), that works with OH 3.1 M3? If I want to use @falkena one, I need to move to snapshot not older than S2270?

no @falkena works with latest snapshot

did you also added the 2 required files/addon to work? there’s 2 way you can add them via openhab console with command (if you using dockers not the best way because it dont survive a upgrade/update)

bundle:install https://repo1.maven.org/maven2/org/locationtech/jts/jts-core/1.18.1/jts-core-1.18.1.jar
bundle:install https://repo1.maven.org/maven2/org/openpnp/opencv/4.5.1-2/opencv-4.5.1-2.jar

or you can just download the files and add them to the addon folder up to you

https://repo1.maven.org/maven2/org/locationtech/jts/jts-core/1.18.1/jts-core-1.18.1.jar
https://repo1.maven.org/maven2/org/openpnp/opencv/4.5.1-2/opencv-4.5.1-2.jar