core: Can't control my Deebot (Ping did not reach VacBot. Will retry)

The problem

My deebot ozmo slim 10 is connected to home assistant but I can’t get it controlled or get any readout, I already tried some other settings for country and even tried using a custom integration to but same issue. in the log file it is unable to get any info across. (Ping did not reach VacBot. Will retry.)

Environment

x86_64 chassis | vm dev | false docker | true docker_version | 19.03.8 hassio | true host_os | HassOS 4.11 installation_type | Home Assistant OS os_name | Linux os_version | 5.4.50 python_version | 3.8.3 supervisor | 229 timezone | Europe/Amsterdam version | 0.113.3 virtualenv | false

Problem-relevant configuration.yaml

 ecovacs:
  username: !secret ecovacs_user
  password: !secret ecovacs_pass
  country: NL
  continent: EU

Traceback/Error logs

2020-08-07 13:15:15 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-08-07 13:15:15 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for samsungtv_smart which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-08-07 13:15:45 DEBUG (SyncWorker_5) [homeassistant.components.ecovacs] Creating new Ecovacs component
2020-08-07 13:15:45 DEBUG (SyncWorker_5) [sucks] Setting up EcoVacsAPI
2020-08-07 13:15:45 DEBUG (SyncWorker_5) [sucks] calling main api user/login with (('account', 'xxx'), ('password', 'xxx'))
2020-08-07 13:15:46 DEBUG (SyncWorker_5) [sucks] got {'code': '0000', 'msg': '操作成功', 'time': 1596798946309, 'data': {'uid': 'xxx', 'username': 'xxx', 'email': 'xxx', 'country': 'nl', 'accessToken': 'xxx'}}
2020-08-07 13:15:46 DEBUG (SyncWorker_5) [sucks] calling main api user/getAuthCode with (('uid', 'xxx'), ('accessToken', 'xxx'))
2020-08-07 13:15:46 DEBUG (SyncWorker_5) [sucks] got {'code': '0000', 'msg': '操作成功', 'time': 1596798946665, 'data': {'authCode': 'xxx', 'ecovacsUid': 'xxx'}}
2020-08-07 13:15:46 DEBUG (SyncWorker_5) [sucks] calling user api loginByItToken with {'country': 'NL', 'resource': 'RF0UIKLZ', 'realm': 'ecouser.net', 'userId': 'xxx', 'token': 'xxx'}
2020-08-07 13:15:47 DEBUG (SyncWorker_5) [sucks] got {'todo': 'result', 'result': 'ok', 'userId': 'xxx', 'resource': 'RF0UIKLZ', 'token': 'xxx', 'last': 604800000}
2020-08-07 13:15:47 DEBUG (SyncWorker_5) [sucks] calling user api GetDeviceList with {'userid': 'xxx', 'auth': {'with': 'users', 'userid': 'xxx', 'realm': 'ecouser.net', 'token': 'xxx', 'resource': 'RF0UIKLZ'}}
2020-08-07 13:15:48 DEBUG (SyncWorker_5) [sucks] got {'todo': 'result', 'result': 'ok', 'devices': [{'did': 'xxx', 'name': 'xxx', 'class': '02uwxm', 'resource': '0d7H', 'nick': None, 'company': 'eco-ng', 'bindTs': 1596718308153}]}
2020-08-07 13:15:48 DEBUG (SyncWorker_5) [homeassistant.components.ecovacs] Ecobot devices: [{'did': 'xxx', 'name': 'xxx', 'class': '02uwxm', 'resource': '0d7H', 'nick': None, 'company': 'eco-ng', 'bindTs': 1596718308153}]
2020-08-07 13:15:48 INFO (SyncWorker_5) [homeassistant.components.ecovacs] Discovered Ecovacs device on account: xxx with nickname None
2020-08-07 13:15:48 DEBUG (SyncWorker_5) [homeassistant.components.ecovacs] Starting vacuum components
2020-08-07 13:16:00 DEBUG (event_thread_0) [sucks] ----------------- starting session ----------------
2020-08-07 13:16:00 DEBUG (event_thread_0) [sucks] event = {}
2020-08-07 13:16:00 DEBUG (SyncWorker_4) [sucks] *** sending ping ***
2020-08-07 13:16:00 WARNING (SyncWorker_4) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:16:00 DEBUG (SyncWorker_4) [sucks] *** Error type: wait
2020-08-07 13:16:00 DEBUG (SyncWorker_4) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:16:00 DEBUG (SyncWorker_4) [homeassistant.components.ecovacs.vacuum] Vacuum initialized: xxx
2020-08-07 13:16:00 DEBUG (SyncWorker_4) [homeassistant.components.ecovacs.vacuum] Adding Ecovacs Vacuums to Home Assistant: [<Entity e965b1f0-c7dc-466a-a2a8-47d22bbfbd25: off>]
2020-08-07 13:16:31 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:16:31 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:16:31 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:16:31 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:17:01 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:17:01 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:17:01 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:17:01 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:17:33 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:17:33 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:17:33 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:17:33 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:18:03 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:18:03 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:18:03 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:18:03 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:18:33 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:18:33 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:18:33 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:18:33 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:19:03 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:19:03 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:19:03 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:19:03 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:19:34 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:19:34 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:19:34 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:19:34 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:20:04 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:20:04 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:20:04 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:20:04 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:20:34 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:20:34 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:20:34 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:20:34 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:21:04 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:21:04 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:21:04 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:21:04 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:21:34 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:21:34 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:21:34 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:21:34 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:22:04 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:22:04 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:22:04 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:22:04 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:22:34 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:22:34 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:22:34 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:22:34 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:23:04 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:23:04 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:23:04 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:23:04 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:23:34 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:23:34 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:23:34 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:23:34 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:24:04 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:24:04 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:24:04 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:24:04 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:24:35 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:24:35 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:24:35 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:24:35 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:24:56 DEBUG (SyncWorker_4) [sucks] Sending command <iq id="xxx" to="xxx@02uwxm.ecorobot.net/atom" from="xxx" type="set"><query xmlns="com:ctl"><ctl td="Charge"><charge type="go" /></ctl></query></iq>
2020-08-07 13:25:05 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:25:05 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:25:05 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:25:05 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:25:08 DEBUG (SyncWorker_5) [sucks] Sending command <iq id="xxx" to="xxx@02uwxm.ecorobot.net/atom" from="xxx@ecouser.net/xxx" type="set"><query xmlns="com:ctl"><ctl td="Charge"><charge type="go" /></ctl></query></iq>
2020-08-07 13:25:35 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:25:35 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:25:35 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:25:35 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:26:05 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:26:05 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:26:05 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:26:05 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable
2020-08-07 13:26:31 ERROR (stream_worker) [libav.rtsp] Too short data for FU-A H.264 RTP packet
2020-08-07 13:26:35 DEBUG (event_thread_0) [sucks] *** sending ping ***
2020-08-07 13:26:35 WARNING (event_thread_0) [sucks] Ping did not reach VacBot. Will retry.
2020-08-07 13:26:35 DEBUG (event_thread_0) [sucks] *** Error type: wait
2020-08-07 13:26:35 DEBUG (event_thread_0) [sucks] *** Error condition: recipient-unavailable

Additional information

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 11
  • Comments: 66 (26 by maintainers)

Commits related to this issue

Most upvoted comments

Did anyone tried this library? https://github.com/And3rsL/Deebotozmo/tree/master/deebotozmo The code says it supports all the recent models, including T8/N9+.

def __init__(self, vacuum: Vacuum):
    command_name = "getCleanInfo"
    if vacuum and vacuum.get_class in [
        "bs40nz",  # DEEBOT T8 AIVI
        "a1nNMoAGAsH",  # DEEBOT T8 MAX
        "vdehg6",  # DEEBOT T8 AIVI +
        "no61kx",  # DEEBOT T8 POWER
        "a7lhb1"  # DEEBOT N9+
    ]:
        command_name = "getCleanInfo_V2"
    super().__init__(command_name)

The problem still exists!

Did anyone tried this library? https://github.com/And3rsL/Deebotozmo/tree/master/deebotozmo The code says it supports all the recent models, including T8/N9+.

Holy crap! There’s even a HACS integration… AND IT WORKS!

I can start, pause, return to home, see errors… I can actually write automations for this now. (I have an Ozmo T8 AIVI).

@goooroooX I owe you (and @And3rsL) a beer 😃

EDIT: A link to the creator of that integration’s “Buy Me a Coffee” page: https://www.buymeacoffee.com/4nd3rs

For completeness, ecovacs is using 3 different protocols for communication:

  • XMPP: oldest bots, which are supported by the official integration
  • MQTT/XML: old bots (eg. 900), which are supported by the custom integration hacc-ozmo
  • MQTT/JSON: newer bots (starting with 920/950), which are supported by the custom component Deebot 4 HA

For users asking, which component will support their model, we created a models page for my maintained custom component. More information under https://deebot.readthedocs.io/home/models/ Please feel free to provide feedback and/or contribute to the project. Together we can improve the component 😃

As you can imagine, 3 different protocols need a lot of work to handle and analyse it. Also different models support different features and ecovacs is not providing any information about it.

I’m also experiencing this issue with my Deebot T8 AIVI

Thanks for the info everyone!

@dgomes @OverloadUT I was able to make some progress after finding some threads in the sucks API mailing list talking about this fork of sucks: https://github.com/bmartin5692/sucks. After pulling locally, the error message went away, but the commands still aren’t doing anything for my T8.

I’ll look into it more this weekend. Would it make sense to consider using that fork in the HA integration? Or would that be better suited for a HACS integration alternative.

The problem still exists!

You can’t replace with “Deebot 4 HA” because it does not support older models which the current official integration supports.

That been said, it will probably be accepted a PR with a different name.

Same issue with my Deebot T8 AIVI. App works fine, HA integration gives “offline” Error:

Logger: sucks
Source: /usr/local/lib/python3.8/site-packages/sucks/__init__.py:371
First occurred: 7:15:05 (416 occurrences)
Last logged: 10:42:40

Ping did not reach VacBot. Will retry.

configuration.yaml

ecovacs:
  username: USERNAME
  password: PASSWORD
  country: NL
  continent: EU

I tried all of them with my Deebot Ozmo 930 and none if them are working. I’m using the NodeRed integration in combination with a template vacuum now, which works perfectly. It’s a bit of setup to do, but now it’s working. When the setup is done and working, I might share the NodeRed flow and template vacuum with the community.

Same problem with Deebot 950 😦
(AT EU)

Finally find this thread, sadly same problem with my T8 AIVI.

I think I am having the same issue. I can see the current status of my bot, but I cannot tell it to start cleaning.

I found an integration for node-red that is working. So for now I am using this integration to read the current status and the node-red integration to send commands to the bot. Not perfect, but works. https://github.com/enigtique/node-red-contrib-deebot

I think it can’t do everything, yet, but to start cleaning and return to charge, it’s working perfectly.

I am using a Deebot Ozmo 930

I just bought the (quite pricey) Ecovacs Deebot T8 AIVI and can confirm the same ping error 😞. Disappointed, but I knew and accepted the risk that it wouldn’t be supported when I bought it.

I’ll pull the sucks repo locally and see if I can suss out the bug.

@dgomes If the readme says it’s abandonware and no longer being updated, is that still considered a supported library? (Genuine question – not sure the terminology)

It seems at least grounds for adding an alert to https://alerts.home-assistant.io/, no?

I’ll put up a PR, feel free to reject if it’s not an appropriate reason for alerting.

Hello, just added this integration and facing the same issue.

Same config except : country: be continent: eu