homebridge-miot icon indicating copy to clipboard operation
homebridge-miot copied to clipboard

Dreame - always last cleaning mode executed by default

Open Phil2kj opened this issue 1 year ago • 4 comments

Hello everyone, I have the following issue and/or question: I am using a Dreame L10S and have successfully integrated it into Homebridge / HomeKit. The vacuum cleaner responds and I can control it via Apple HomeKit / Homebridge. However, I have created a command for my kitchen. This command should be defined so that only this room is vacuumed once by default. No mopping. This command is as follows:

{ "action": "vacuum-extend:start-clean", "name": "saugen Küche", "params": [ { "piid": 1, "value": 18 }, { "piid": 10, "value": "{\"selects\":[[1,1,1,1,1]]}" } ] },

Now my problem: If I start a wipe cleaning via the Xiaomi app and the Dreame wipes my apartment and I then afterwards execute the above command the next time, the Dreame starts a wipe cleaning and not the vacuuming command. So the cleaning mode that the Dreame last had is then always carried out by default via my room cleaning command.

My question: How can I change this? What am I doing wrong?

Thank you for your support Phil

Here is my full code of my DREAME used incl. some test commands (which do not work): { "devices": [ { "name": "DreameBot", "ip": "192.168.xxxxxx", "token": "xxxxxxxxxxxxxxxx", "deviceId": "xxxxxx", "model": "dreame.vacuum.r2228o", "pollingInterval": 10, "deepDebugLog": false, "micloud": { "country": "de" }, "buzzerControl": true, "ledControl": true, "childLockControl": true, "modeControl": true, "actionButtons": [ { "action": "audio:play-sound", "name": "play sound" }, { "action": "vacuum-extend:start-clean", "name": "saugen Küche", "params": [ { "piid": 1, "value": 18 }, { "piid": 10, "value": "{\"selects\":[[1,1,1,1,1]]}" } ] }, { "action": "vacuum-extend:start-clean", "name": "saugen Küche 2x", "params": [ { "piid": 1, "value": 18 }, { "piid": 10, "value": "{\"selects\":[[1,2,1,2,1]]}" } ] }, { "action": "vacuum:start-sweep", "name": "Test Küche", "params": [ { "piid": 1, "value": 18 }, { "piid": 10, "value": "{\"selects\":[[1,2,1,2,1]]}" } ] }, { "action": "vacuum:start-sweep", "name": "Test Küche sweep", "params": [ { "piid": 1, "value": 18 }, { "piid": 10, "value": "{\"selects\":[[1,1,1,1,1]]}" } ] }, { "action": "vacuum-extend:wash-mop", "name": "Wash mop" }, { "action": "vacuum-extend:start-clean", "name": "saugen Wohnung" } ] } ], "platform": "miot" } ],

Phil2kj avatar Jan 20 '24 08:01 Phil2kj

Hi, i guess that you have to set the mode the desired one before starting the clean, so you more or less would need to create an automation which consists of the two commands: first set the mode and then start the kitchen clean. I am nor sure if you can include the mode in the room clean action, it might be that one of the selects params decides the mode...

merdok avatar Jan 20 '24 10:01 merdok

Hi merdok, thanks for your reply. With the current selects I understood from the readme that the following 5 attributes can be configured: * 1. = Room ID * 2. = number of cleaning times * 3. = Vaccum power * 4. = Mopping Mode * 5. = Order of rooms Thus in this case - at least I - was unsuccessful via trial & error to get to my goal.

With your hint I tried to add following command: { "action": "vacuum-extend:cleaning-mode", "name": "Staubsauger Modus", "params": [ "2" ] }

Unfortunately I am unable to include this action command into my exiting kitchen command. Do you have any idea how to do so?

THANKS a lot!

Phil2kj avatar Jan 27 '24 08:01 Phil2kj

or would you somehow add this as a property command? I tried to add two properties to my JSON: "propertyControl": [ { "property": "vacuum-extend:cleaning-mode", "name": "Vacuum Mode Cleaning", "value": "2" }, { "property": "vacuum:mode", "name": "Vacuum Mode", "value": "2" } ] Not really anything with success - probably because they do not have any relations to my kitchen clean command. Would be awesome if anyone of you could give me some hint. Thank you so much.

Phil2kj avatar Jan 27 '24 08:01 Phil2kj

Like mentioned, you already have the possibilities with the home app to run two commands, like by creating a scene and activating it. Currently it is not possible to have a switch which executes multiple commands and/or sets multiple properties.

merdok avatar Jan 27 '24 09:01 merdok

Hi merdok, thanks for your reply. With the current selects I understood from the readme that the following 5 attributes can be configured: * 1. = Room ID * 2. = number of cleaning times * 3. = Vaccum power * 4. = Mopping Mode * 5. = Order of rooms Thus in this case - at least I - was unsuccessful via trial & error to get to my goal.

With your hint I tried to add following command: { "action": "vacuum-extend:cleaning-mode", "name": "Staubsauger Modus", "params": [ "2" ] }

Unfortunately I am unable to include this action command into my exiting kitchen command. Do you have any idea how to do so?

THANKS a lot!

Feeling stupid. Why providing a mopping mode when you dont mop ?

That does not work. { "action": "vacuum:start-room-sweep", "name": "kitchen_adHoc_clean", "params": [ "{"selects":[[5,1,2,0,1]]}", #Room, No of Cleaning, Vac Power, Mopping mode?, Order { "piid": 1, "value": 18 } ] } leave on parameter (mopping mode?) does not work as well. { "action": "vacuum:start-room-sweep", "name": "kitchen_adHoc_clean", "params": [ "{"selects":[[5,1,2,1]]}", { "piid": 1, "value": 18 } ] }, and to set mopping mode to zero doest not work also. { "action": "vacuum:start-room-sweep", "name": "kitchen_adHoc_clean", "params": [ "{"selects":[[5,1,2,0,1]]}", { "piid": 1, "value": 18 } ] }, Someone may can explain the piid and what this number meaning? Any documentation explaining in the world where the parameters get explained? no parameter explaination in found doc: [what this](https://www.merdok.org/miotspec/?model=dreame.vacuum.r2228o) https://github.com/merdok/homebridge-miot/blob/main/docs/robotcleaner.md

BenjaminNiemann avatar Jul 24 '24 15:07 BenjaminNiemann

I studied this and got the robot running. https://miot-spec.org/miot-spec-v2/instance?type=urn:miot-spec-v2:device:vacuum:0000A006:dreame-r2228o:2 my json is now this { "action": "vacuum:start-room-sweep", "name": "kitchen_adHoc_clean", "params": [ "5" ] }, but vacuum:start-room-sweep results in vacum an mopping :(

BenjaminNiemann avatar Jul 24 '24 16:07 BenjaminNiemann