DeebotUniverse / Deebot-4-Home-Assistant

Home Assistant integration for deebot vacuums
https://deebot.readthedocs.io/integrations/home-assistant/
GNU General Public License v3.0
179 stars 40 forks source link

Command to send Deebot to coordinate #410

Open Denkra opened 1 year ago

Denkra commented 1 year ago

Is there an existing issue for this?

Is your feature request related to a problem?

I have the T9 AIVI and I miss the function of sending the vacuum cleaner to a specific coordinate and then stopping it. I noticed in the logs that {"type":"mapPoint","value":"707,271"} is being transmitted. Can this be integrated somehow?

Suggested solution

Include the "mapPoint" command so that you can send the vacuum cleaner to a specific coordinate without it starting a suction process there.

Api example request

No response

Alternatives you've considered

No response

Additional information

No response

edenhaus commented 1 year ago

Please feel free to add this command to https://github.com/DeebotUniverse/client.py As my robot does not support this command, I don't have any knowledge for adding it. But I can give you tips and feedback if you want :)

As a first step, I would suggest activating debug logs or even better capturing the traffic of the ecovacs app while sending the command multiple times. It is needed to find out the permutation/combinations of the new command.

Denkra commented 1 year ago

Unfortunately I'm not familiar with that. So help would be really great. When I look in the debug log I always find the same line when I send the vacuum cleaner to a certain position. Here I think that "value" is then the coordinates where I send it and "mappoint" is then the command. If I do an area cleaning, it is structured the same way, only then there are four coordinates and a different command.

{"pri":1,"tzm":480,"ts":"1693232817140","ver":"0.0.1","fwVer":"1.4.9","hwVer":"0.1.1"},"body":{"data":{"trigger":"app","state":"clean","cleanState":{"cid":"122","router":"plan","motionState":"working","content":{"type":"mapPoint","value":"307,571"}}}}}'

What I also saw was the line

[deebot_client.mqtt_client] Command getMapPoint does not support p2p handling (yet)

Does that have anything to do with it?

grandmastermarco commented 1 year ago

I dont know which bot you have. But maybe try this setup in home assistant :

Service : vacuum: send command Command: clean_v2 Parameters:

act: start content: type: customArea total: 0 donotClean: 1 count: 1 value: "307,571,307,571"

grandmastermarco commented 1 year ago

OR based on your last comment (very wild guess).

Service : vacuum: send command

Command: clean

Parameters: act: start content: type: mapPoint value: "307,571"