iRobot 9xx on openHAB

It turns out my password was too secure to be accepted -_-
I had to cut it to 20 chars without special characters, then I executed

nelsonaponte@NELSONS-AIR roomba % python3 ./getcloudpassword.py UUUUUUUU PPPPPPPPP

And this time I could retrieve the passwords, manually add them to the things on the MainUI and the things went online right away.

Official binding worked great for my 980 , now i got i7 , autodiscovery seamless and in seconds . All is great but regions is still no go .

Someone somewhere suggested that he uses exec binding . I’ll try to dig up that post from history to read it again.

For everyone struggling to get per room cleaning commands .

I’ve made it work using example as stated in official documentation for irobot binding link

Although example is simple it uses “code” not simple for average user to understand using all sorts of brackets not actually used .

String that should be put in command goes like this :

cleanRegions:sCJ9evBChslsuXKpgTLuA;z=0;220826Magk666

for zones , and

cleanRegions:sCJ9evBChslsuXKpgTLuA;r=0;220826Magk666

for regions .

For regions one can omit “r=” and just write number between semicolons .
Zones and regions id (as your pmap-id and user-pmapv) you extract from last command

1 Like

Hi there,
first of all thanks for the effort you all put into this protect!

I came to a point were I need further guidance. I tried both bindings the “official” and the one by falkena.
But both show the exact same error, no password is retrieved and if I enter the password manuell (I had an old installation running, but I switched to OH3) it shows online for a millisecond and than goes back to communication error.

I use openhabian 3.3.0 on a Raspberry Pi 4 Model B Rev 1.2. The MQTT Binding is installed and the robot is a 980. What am I missing here?

This is what the logs show with the official binding:
2022-10-06 11:59:58.065 [INFO ] [.reconnect.PeriodicReconnectStrategy] - Try to restore connection to ‘192.168.xxx.xxx’. Next attempt in 10000ms

2022-10-06 11:59:58.071 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to ‘192.168.xxx.xxx’ with clientid 317709184xxxxxx

This with the other one:
2022-10-06 13:46:03.225 [INFO ] [.reconnect.PeriodicReconnectStrategy] - Try to restore connection to ‘192.168.xxx.xxx’. Next attempt in 10000ms

2022-10-06 13:46:03.229 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to ‘192.168.xxx.xxx’ with clientid 317709184xxxxxx

Thanks in advance.

Greetings,
Andreas

Hi there,
anybody got an idea? Did I miss necessary information for you?
Greetings
Andreas

Hi, I own an i7 too. How did you make “last_command” work? It doesn’t show any values on my end
 Thx for reply.

I am running openhabian 3.4.2 (stable) on a raspberry pi 3b+

What I did so far is, I have the i7 as a Thing.
I linked the “last_command” item to a channel.
I tried to make an output of the channelt to a sitemap.
Result: no values


Hi ,
Didn’t do anything special. Binding has advanced options to access last_command , under thing channels tab . There I added new item to channel and commands appeared .
Nothing special did I do to binding.
Check if item is of type string . Should work out of the box.
P.s I don’t use sitemaps only OH3 UI page .

Hi ,
Bit late to reply. If you still didn’t manage to get pw mine OH wasn’t able to extract pw for irobot. I had to use cli script to get it. I did it first for roomba 980 and for other house other oh for i7 again using script.

Hi,

ok thanks. I can’t link the last_command by the UI page. It simply doesn’t show


Did you select advanced options ?

Yes I did, still no last_command. I think thats the issue
 specifically it’s a roomba i7+ (I755840) maybe the last_command isn’t simply working with this model yet.

Do you have other “advanced options” ? RSSI , SNR ?

Yes, these I have.

Then something odd is happening. That option should be there . Had it for three separate installations of oh3 with two different robots working the same , although I did it few months back
 maybe something somewhere changed meanwhile.

1 Like

map_upload is missing too, for example. There isn’t any other way to figure out the room id’s, is there?
Goran, thank you anyway.

To those who are interested in solving this, this is a link I found that maybe helping to solve this: Get the status by rest980.

Thanks for your reply!
But in the meantime I switched to Roborock.

Hi, everyone.

Does anyone know how can we send robot-specific commands?
This is an example of a command sent to the Braava from the iRobot app where the liquid amount and the mop path overlap can be defined per room:

{"command":"start","initiator":"rmtApp","ordered":1,"pmap_id":"XXXXXX","regions":[{"params":{"padWetness":{"disposable":2,"reusable":2},"rankOverlap":67},"region_id":"22","type":"rid"},{"params":{"padWetness":{"disposable":3,"reusable":3},"rankOverlap":85},"region_id":"0","type":"zid"}],"time":1712054570,"user_pmapv_id":"YYYYYYY"} 

The “disposable” and “reusable” values are always equal to each other, and they are either 1, 2, or 3, depending on the level of liquid, and the rankOverlap 25, 67, or 85.