DeebotUniverse / Deebot-4-Home-Assistant

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

Command to send Deebot to coordinate #410

Open Denkra opened 11 months ago

Denkra commented 11 months 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 11 months 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 11 months 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 11 months 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 11 months 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"