Open bce626 opened 5 months ago
Hey there @overloadut, @mib1185, @edenhaus, mind taking a look at this issue as it has been labeled with an integration (ecovacs
) you are listed as a code owner for? Thanks!
(message by CodeOwnersMention)
ecovacs documentation ecovacs source (message by IssueLinks)
Please add the config entry diagnostic information. Without I cannot help you. Thanks
where can i find the config entry diagnostic information.
Van: Robert Resch @.> Verzonden: maandag 12 februari 2024 09:30 Aan: home-assistant/core @.> CC: bce626 @.>; Author @.> Onderwerp: Re: [home-assistant/core] ecovacs deebot x2 won't start (Issue #110177)
Please add the config entry diagnostic information. Without I cannot help you. Thanks
— Reply to this email directly, view it on GitHubhttps://github.com/home-assistant/core/issues/110177#issuecomment-1938228232, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFNGURCMAFIGDWNF2R3J4XTYTHHJLAVCNFSM6AAAAABDCU7IS2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZYGIZDQMRTGI. You are receiving this because you authored the thread.
here you can find the diagnostics data
You have still installed the custom component Deebot 4 Home Assistant
. Please uninstall it and restart HA, this is required as you currently overwrite the dependency of the core integration
I took Ecovacs out of devices and services and then a reboot. Then took it out of HACS and rebooted again. After the restart, I looked up the application in devices and services and installed it on new, but the problem remains. config_entry-ecovacs-e21baaf5502e44c766a4927588f77ce8 (1).json
Logger: deebot_client.message Source: /usr/local/lib/python3.12/site-packages/deebot_client/message.py:69 First occurred: 12:24:41 (1 occurrences) Last logged: 12:24:41
Could not parse getCleanInfo: {'code': 20003, 'msg': 'rcp not support'} Traceback (most recent call last): File "/usr/local/lib/python3.12/site-packages/deebot_client/message.py", line 62, in wrapper if response.state == HandlingState.ANALYSE: ^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'state'
It looks like Ecovacs introduced a new cleaning command, which is currently unsupported by deebot-client
.
Feel free to add support for it directly to the library
@bce626 Does the Map work with your X2? I get all the status information, but the map only returns HTTP 500, but I did not investigate any further until now...
@chrfin No, the Map does not work. I get a broken logo sign. I just don't know if it's a 500 code, or if the file doesn't exist.
@chrfin No, the Map does not work. I get a broken logo sign. I just don't know if it's a 500 code, or if the file doesn't exist.
I have the same issue, the map was working before the migration. Now it's a broken logo sign. Is there an issue logged for this or do I need to log one?
Same to me. Map not working.
Same to me. Map not working. 500 code
It will not help to comment "Same to me". Please use reactions on the issue descriptions.
I don't own an X2 and therefore I cannot implement support for it. Someone with an X2 needs to add the missing commands to the client.
Dear @edenhaus, I have a Omni X2 available for testing. If you could give some guidance how to experiment with the coding? I have some experience. DeebotOmniX2DebugLog.txt
I have an x2 Omni too. Integration fails at these points: Map fails, Rooms missing fully, all Stationfunctions(for example when bot is washing the pads, drying)
If the X1 working fully now, how to get at the config data in python 3.12(have searched, cant find the whole dir ^^)
As i have seen, the classfile and the reference is missing (must be "class": "lf3bn4"), but without to come into the deebot-client directory in python... Functions in ecovacs-deebot.js are implemented now and same as with X1 and come from T20.
But as i sayed, without access to deebot-client directory i cant give it a try to make some files.
Any hint how to come into the magic parts would be great(i'm not an programmer nor did i anything with homeassistant scripting, but be an sysadmin)
Should be fixed with #116025
I am on 2024.5.0 and map is still not working for x2.
X2 got the device file in 7.0.0 deebot_client(this is the main component for functionality)
But it is referenced to the Deebot T20, 7.0.1 gives the X2 his own featureset but with the map settings from T20(still) I've an pull request open to change this into V2 of Map generation(hopefully this will do the trick)
I would love to test it in my own HA installation first, but i can't find a way to go into the needed container at file level. So changes comes slowly over the HA updates
there are some things that will be better with deebot_client 7.0.1, more sensors(round mop, voice etc), but the map and the rooms are obvious bound together and need some try and error with the v2 map generation(my hope that this will do the trick then later)
generally my x2 send the rooms in debuglog, but at the end they are not in the vaccum entity at the moment
While the map is fixed, this specific issue is not in deebotclient 7.2.0
2024-05-15 10:30:34.683 DEBUG (MainThread) [homeassistant.components.ecovacs.vacuum] async_send_command spot_area with {'rooms': '0,1,2', 'cleanings': 2}
2024-05-15 10:30:34.683 DEBUG (MainThread) [deebot_client.authentication] Calling api(1/3): url=https://portal-eu.ecouser.net/api/iot/devmanager.do, params={'mid': 'lf3bn4', 'did': '84bd0abe-a201-4c00-af5a-47a5b8a5f4fc', 'td': 'q', 'u': 'fcirumq0e0f6f242', 'cv': '1.67.3', 't': 'a', 'av': '1.3.1'}, json={'cmdName': 'clean', 'payload': {'header': {'pri': '1', 'ts': 1715761834.683294, 'tzm': 480, 'ver': '0.0.50'}, 'body': {'data': {'act': 'start', 'type': 'spotArea', 'content': '0,1,2', 'count': 2}}}, 'payloadType': 'j', 'td': 'q', 'toId': '84bd0abe-a201-4c00-af5a-47a5b8a5f4fc', 'toRes': 'yQnl', 'toType': 'lf3bn4'}
2024-05-15 10:30:34.723 DEBUG (MainThread) [deebot_client.mqtt_client.client] Received PUBLISH (d0, q0, r0, m0), 'iot/p2p/clean/HelperMQClientId-awseu-sts-ngiot-mqsjmq-1/ecosys/1234/84bd0abe-a201-4c00-af5a-47a5b8a5f4fc/lf3bn4/yQnl/q/2a4l/j', ... (148 bytes)
2024-05-15 10:30:34.723 DEBUG (MainThread) [deebot_client.mqtt_client] Got message: topic=iot/p2p/clean/HelperMQClientId-awseu-sts-ngiot-mqsjmq-1/ecosys/1234/84bd0abe-a201-4c00-af5a-47a5b8a5f4fc/lf3bn4/yQnl/q/2a4l/j, payload=b'{"header":{"pri":"1","ts":1715761834.683294,"tzm":480,"ver":"0.0.50"},"body":{"data":{"act":"start","type":"spotArea","content":"0,1,2","count":2}}}'
2024-05-15 10:30:34.723 DEBUG (MainThread) [deebot_client.mqtt_client] Command clean does not support p2p handling (yet)
2024-05-15 10:30:34.837 DEBUG (MainThread) [deebot_client.authentication] Success calling api url=https://portal-eu.ecouser.net/api/iot/devmanager.do, params={'mid': 'lf3bn4', 'did': '84bd0abe-a201-4c00-af5a-47a5b8a5f4fc', 'td': 'q', 'u': 'fcirumq0e0f6f242', 'cv': '1.67.3', 't': 'a', 'av': '1.3.1'}, json={'cmdName': 'clean', 'payload': {'header': {'pri': '1', 'ts': 1715761834.683294, 'tzm': 480, 'ver': '0.0.50'}, 'body': {'data': {'act': 'start', 'type': 'spotArea', 'content': '0,1,2', 'count': 2}}}, 'payloadType': 'j', 'td': 'q', 'toId': '84bd0abe-a201-4c00-af5a-47a5b8a5f4fc', 'toRes': 'yQnl', 'toType': 'lf3bn4'}, response={'ret': 'ok', 'resp': {'header': {'pri': 1, 'tzm': 60, 'ts': '1715761834672', 'ver': '0.0.1', 'fwVer': '1.75.0', 'hwVer': '0.1.1', 'wkVer': '0.1.54'}, 'body': {'code': 20003, 'msg': 'rcp not support'}}, 'id': '2a4l', 'payloadType': 'j'}
2024-05-15 10:30:34.837 WARNING (MainThread) [deebot_client.commands.json.common] Command "clean" was not successfully. body={'code': 20003, 'msg': 'rcp not support'}
@edenhaus I know this is not something you can fix, but could you re-open the issue?
I have an Ecovacs Deebot X2. When I try to start it, it won't work. In the logs, I see the error message: 'Command "clean" was not successful. Body={'code': 20003, 'msg': 'rcp not support'}.' config_entry-ecovacs-7b27019369b4809b4fc4f87802e4d13d (1).json
any help, please.
Hi, I have the same problem. Start, stop and pause don't work! :(
I cannot analyze and debug the problem as I don't have the model. The only one who can solve it is you all by analyzing the traffic of the app and checking what is different
Hi, how can I analyse the traffic of the app ? What application do you use to analyze the frames ?
Hi @edenhaus, you can find attached my wireshark data of my iphone. I have done start, stop, pause and every commands of my ecovacs x2
Thanks
@sebcbien37 Did you use a proxy in between otherwise we cannot inspect the traffic as it is encrypted. I use always man in the middle proxy for my analysis
Hi, I recorded a lot of messages. I don't know what I'm allowed to post on the internet, I wouldn't want to post private things. This could help?
{"body":{"data":{"act":"go"}},"header":{"channel":"iOS","reqid":"XXXXXX","ts":"XXXXXX","ver":"0.0.50","m":"request","pri":1,"tzm":120}}
{"body":{"data":{"act":"stop"}},"header":{"channel":"iOS","reqid":"XXXXXX","ts":"XXXXXX","ver":"0.0.50","m":"request","pri":1,"tzm":120}}
{"body":{"data":{"act":"pause"}},"header":{"channel":"iOS","reqid":"XXXXXX","ts":"XXXXXX","ver":"0.0.50","m":"request","pri":1,"tzm":120}}
{ "app": { "id": "ecovacs" }, "auth": { "realm": "ecouser.net", "resource": "IOS581F4F7G8", "token": "XXXXX, "userid": "XXXXX", "with": "users" }, "cmdName": "GetWKVer", "payload": {}, "payloadType": "j", "td": "q", "toId": "XXXXX", "toRes": "2TWb", "toType": "lf3bn4" }
The important part is probably "cmdName": "GetWKVer",
, but there must be different commands for cleaning.
Until now I now the following cleaning commands clean
and clean_V2
I've finally had some time to enter the game using mitmproxy.
The ecovacs deebot x2 also uses clean_v2: This is where I clean three rooms:
POST https://api-ngiot.dc-eu.ww.ecouser.net/api/iot/endpoint/control?<redacted>&apn=clean_V2&fmt=j HTTP/2.0
{"body":{"data":{"act":"start","content":{"type":"freeClean","value":"1,0;1,1;1,2"}}},"header":{"channel":"Android","m":"request","pri":2,"reqid":"B5tzsN","ts":"1718695345068","tzm":120,"ver":"0.0.22"}}
And this is the stop command:
POST https://api-ngiot.dc-eu.ww.ecouser.net/api/iot/endpoint/control<redacted>l&apn=clean_V2&fmt=j HTTP/2.0
{"body":{"data":{"act":"stop"}},"header":{"channel":"Android","m":"request","pri":2,"reqid":"AcsiQj","ts":"1718695488122","tzm":120,"ver":"0.0.22"}}
The problem
Ecovacs Deebot X2 won't start when you give the command to clean via home assistant.
Next in the log " Logger: deebot_client.commands.json.common Source: components/ecovacs/vacuum.py:319 First occurred: 12:23:22 (2 occurrences) Last logged: 12:23:25
Command "clean" was not successfully. body={'code': 20003, 'msg': 'rcp not support'} " home-assistant_ecovacs_2024-02-10T11-24-41.525Z.log
What version of Home Assistant Core has the issue?
2024.2.1
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
ecovacs
Link to integration documentation on our website
https://www.home-assistant.io/integrations/ecovacs/
Diagnostics information
home-assistant_ecovacs_2024-02-10T11-24-41.525Z.log
Example YAML snippet
No response
Anything in the logs that might be useful for us?
Additional information
No response