homebridge-miot
homebridge-miot copied to clipboard
Dreame - always last cleaning mode executed by default
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" } ],
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...
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!
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.
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.
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
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 :(