Xiaomi Robot Vacuum Binding

Just the miio binding from this thread:

https://www.openhab.org/addons/bindings/miio/#xiaomi-mi-io-binding

then use the commands channel:

{channel="miio:vacuum:ABABAB:actions#commands"}

1 Like

many thx for the fast help!
Commands vacuum and dock are working well but get_room_mapping[16] is doing nothing.
Any idea how to use get_room_mapping[]?

The get command is used to find out which room numbers you have.
If you want to target your vacuum to a room you need to execute

YourVacuumItem.sendCommand("app_segment_clean[xx]")

where YourVacuumItem is linked to the commands channel.

1 Like

I’m always getting:
[INFO ] [nding.miio.handler.MiIoVacuumHandler] - Command app_segment_clean not recognised

Which vacuum do you own? Maybe that command is not supported with your device …

It’s a Roborock S6

Did you set up room names in the Mi Home App?

Yes I did. I divided rooms, merged rooms, named it and added some NoGo zones.

1 Like

Then I am out of ideas, sorry.

OK, no worries, you helped anyway.
It should work with a S6, right?
How do I have to use get_room_mapping[]. To which channel do I have to link this command?

You need to enable the actions#command channel send it to there.
the channel will update itself with the response from the vacuum

so you use same channel as you would use for the app_segment_clean see the mail of @black0r1337

1 Like

thx
unfortunately I receive also an error:

Command get_room_mapping not recognised, same as with app_segment_clean:

==> /var/log/openhab2/events.log <==
2019-12-08 20:31:23.971 [ome.event.ItemCommandEvent] - Item ‘Robo_Actions_ControlVacuum’ received command app_segment_clean

==> /var/log/openhab2/openhab.log <==
2019-12-08 20:31:23.971 [DEBUG] [e.osgi.LoggingCommandSessionListener] - Command: 'smarthome:send Robo_Actions_ControlVacuum app_segment_clean[16]' returned 'null'
2019-12-08 20:31:23.971 [DEBUG] [org.eclipse.jetty.server.HttpChannel] - sendResponse info=null content=DirectByteBuffer@3bf644c[p=0,l=177,c=32768,r=177]={<<<event: message\nda...ommandEvent"}\n\n>>>P device RINCON_7...>\n\t\tGraphen\n\t</} complete=false committing=false callback=Blocker@7212d998{null}
2019-12-08 20:31:23.972 [DEBUG] [.eclipse.jetty.server.HttpConnection] - org.eclipse.jetty.server.HttpConnection$SendCallback@e2d7090[PROCESSING][i=null,cb=org.eclipse.jetty.server.HttpChannel$ContentCallback@1283748] generate: FLUSH (null,[p=0,l=177,c=32768,r=177],false)@COMMITTED
2019-12-08 20:31:23.972 [INFO ] [nding.miio.handler.MiIoVacuumHandler] - Command app_segment_clean not recognised

Do you have any idea?

Maybe I could hook in here. I’ve set up my zones and stuff last Summer but since then I reinstalled openhab from scratch but forgot to backup my zones. No problem (I thought) I’ll set them up again…I encounter a strange problem: Whenever I start a zoned cleanup, the vacuum itself says “starting zone cleanup” but in fact it’s starting a normal ‘clean all’ session. There’s no zone marked on the map and it keeps on cleaning until all areas are visited completely. If I start a zoned cleanup on the valetudo-webgui (the robot itself), everything works as expected. The rectangle is drawn, it goes there, cleans inside the bounds and returns to the charger.

Is there something wrong with the binding? I’m on binding-miio - 2.5.0.M6 with an S50
valetudo 0.4.0 (didn’t change anything on the robot since it worked last time)

im running this command inside openhab-cli for example
smarthome:send vacuum_ActionsCommands app_zoned_clean[24138,24872,25085,25723,1]

Anyone encountered something similar?

Looks like you are using the wrong channel. The command channel is by default hidden/advance, in paperUI you need to unhide it first to enable it.

1 Like

After trying both methods now for a few days I found the disadvantages:
with the segment clean method the vacuum tries to reach spaces which are blocked through obstacles (for example space below the kitchen table while the kitchen chairs block the access) for a huge amount of time.
With the zone clean method it just scans the room again and immediately notices it can’t reach the space below the table.
So I am back to zoned cleaning (Xiaomi 1S).

Oh yes, you are great, thx!
I mixed up actions#commands with actions#control all the time :see_no_evil:
Now its working like a charme

Now I think it ran for like five days and the binding stopped responding again. Other bindings worked fine. But I had to restart the whole openhab to make it work again.
It’s kinda frustrating.
Should I just put openhab restart into cron for each day?

not sure if it was already solved, but is it possible to add support for Xiaomi Vacuum v7 ( STYJ02YM) its already supported in python miio, (as well as xiaomi air humidifier mjjsq)

@marcel_verpaalen Does the Mi Bedside Lamp 2 supported by this binding? Do you think that it is possible to make it work with one of the profiles already available?

I have the same problem. The type Boolean doesn’t exist in Openhab at all.

I think the item type here is wrong. I tried using String, but it didn’t show anything either.

1 Like