merdok / homebridge-miot

Homebridge plugin for devices supporting the Xiaomi miot protocol
MIT License
383 stars 62 forks source link

Question dreame.vacuum.p2140o - Room cleaning #402

Closed WojtekWro closed 1 year ago

WojtekWro commented 1 year ago

Hi Guys,

Is there a chance to have room cleaning using this device dreame.vacuum.p2140o. It support room cleaning from the Xiaomi mobile app, but I can't find this feature in Miot spec metadata fetcher.

Best, Wojtek

merdok commented 1 year ago

You can have a look in the docs for robot vacuums on how to setup dreame devices for room cleaning.

WojtekWro commented 1 year ago

Hi @merdok. I have some doubts about how to set room cleaning. My device is dreame.vacuum.p2140o.

When I try to obtain room numbers I got this.

_miot send 192.168.x.x -t 736f38744966616c5a544476xxxxxxx get_room_mapping '[]' INFO Connecting to device at 192.168.x.x INFO Device found! Sending command: get_room_mapping [] (Protocol) 192.168.x.x <- Reached maximum number of retries, giving up get_roommapping - [] ERROR Call to device timed out

So I try with room numbers like 1,2,3,4 but without success.

My config looks like this: { "action": "4.1", "name": "3", "params": [ "{\"selects\":[[3,1,1,1,1]]}" ] },

I know that example in docs has this part: { "piid": 1, "value": 18 } Sorry but, I don't know howe to find proper piid and values for my vacuum.

Can you help me with this?

merdok commented 1 year ago

The thing is that the vacuums behave differently so it is not that easy to do a guide which works for everyone, so sometimes you would need to adjust to your own specific device. For getting the values, you need to visit http://www.merdok.org/miotspec/ and type in your device model, then on the actions tab you will have a list of all available actions with the description of what params they accept. The in piid corresponds to the property on the same service as the action, so you have to lookup that up on the properties tab.

WojtekWro commented 1 year ago

It seems that action is 4.1 ( vacuum-extend:start-clean ) and this "{"selects":[[X,1,1,1,1]]}" is correct with exclusion number of a room.

Could you explain to me if the X is number of a room, do I need to declare this section "{ "piid": 1, "value": 18 }"?

by the way - thanks for your quick answer. :-)

merdok commented 1 year ago

This is a hidden property which was retrieved during having a look at the requests send by the xiaomi home app. It should more or less always stay the same.

WojtekWro commented 1 year ago

Thank you. Now works well.