Miio Binding - Xiaomi X20+ Max Vaccum robot

Hey All :slight_smile:

I’m on openHAB 5.0.2 Release Build with the Miio binding added and controlling my Xiaomi X20+ Max vacuum robot.

I have configured the binding as a Xiaomi basic device with direct connection.

I have generated the device string using the unsupported method (xiaomi.vacuum.d109gl) and have the cleaner up and running almost 100%.

Im struggeling to achieve one last goal, i want to be able to send it to a specific room.

I have retrieved the room ID :

Received response for device Roboclean type: GET_PROPERTIES, result: [{"did":"1172358078","siid":2,"piid":16,"code":0,"value":"{\"rooms\":[{\"id\":3,\"name\":\"\"},{\"id\":4,\"name\":\"Living room\"},{\"id\":6,\"name\":\"Kitchen\"},{\"id\":7,\"name\":\"\"},{\"id\":8,\"name\":\"Corridor\"},{\"id\":9,\"name\":\"Bedroom\"},{\"id\":10,\"name\":\"Bathroom\"},{\"id\":11,\"name\":\"\"},{\"id\":12,\"name\":\"\"},{\"id\":13,\"name\":\"\"}],\"map_uid\":8}"}], 

I have tried to send this to both the command to the actions and actions#commands channel

actions.sendCommand("app_segment_clean[4]")

My rule

rule "Start Romeo Kitchen Cleaning (ID 4) "
when
    Item Kitchen_Clean_Switch received command ON 
then
   
        actions.sendCommand("app_segment_clean[4]")
    
end 

When sending it to the actions channel I get this error

08:04:05.843 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.843 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[15.0] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[12.0] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[16.0] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[24.0] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[15.0] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[15.0] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.844 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[24.0] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[24.0] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[24.0] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[39.0] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[12.0] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[42.0] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[43.0] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[42.0] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[43.0] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.845 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.846 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[24.0] not send, condition 'matchValue' not met
08:04:05.846 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[24.0] not send, condition 'matchValue' not met
08:04:05.846 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.846 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.846 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.846 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[6.0] not send, condition 'matchValue' not met
08:04:05.846 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[6.0] not send, condition 'matchValue' not met
08:04:05.846 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.846 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.846 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[8.0] not send, condition 'matchValue' not met
08:04:05.846 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.846 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[6.0] not send, condition 'matchValue' not met
08:04:05.846 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.846 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met
08:04:05.846 [DEBUG] [iio.internal.handler.MiIoBasicHandler] - Conditional command action[] not send, condition 'matchValue' not met

And when i send it to the actions#commands channel i get this error:

08:17:07.500 [DEBUG] [.internal.handler.MiIoAbstractHandler] - Received response for device Roboclean type: START_SEGMENT, result: {}, fullresponse: {"id":14673,"error":{"code":-9999,"message":"user ack timeout"},"exe_time":4001}

The Json device string is attached below

Hope there is someone that can point me in the right direction :slight_smile:

xiaomi.vacuum.d109gl.json (72.3 KB)