FIXED: Ecovacs Deebot 2019 & OZMO Series - Working Library

Have you set it to clean just once? I have mine set to clean the living room twice and if I interupt that and tell it to return it will start returning and then just start again.

Also, is “continious cleaning” enabled?

Continuous cleaning is not enabled. It exhibits this behavior always. Example if I start a cleaning cycle it will run, complete, return to dock, and charges, and the status will update correctly during these steps. As soon as it docks though the status goes to docked, and then it immediately goes back to cleaning. It responds to all commands correctly. It’s more of an annoyance then anything.

1 Like

hi @holo_san, im new on home assistant, Ive tried your solution with my deebot 900 but de vaccum doesn´t show up anywere. Thanks anyway.

This is brilliant. Thank you to @Ligio for this. I believe your work should be merged into the official ecovacs component, as it was broken (at least for me and my N79s)

But I don’t know how to go about suggesting that.

Would anyone be able to walk me through making the an N79 work? I feel like I’m going in circles and I only set up HA at the weekend so still wet behind the ears! This is the last piece of kit in our house to add and I can’t work out what I’m doing wrong! (I’ve done Tuya and Nest so thought I knew what I was doing!)

I’ve placed @Ligio deebot folder into custom_configurations and updated the configuration.yaml file as directed. I’ve restarted HA but it still doesn’t show up when I go to Configuration - Integrations - Add Integration.

If I use this link http://my.home-assistant.io/redirect/config_flow_start/?domain=deebot I can get to the stage of adding the integration but it fails due to Config flow could not be loaded

If I download the Deebot 4 Home Assistant via HACS I can get past that screen but when I put my details in UN, PW, Country, Continent I get presented with a screen that asks me to select a device but there is nothing to select.

Sorry if that all sounds like gibberish but I’ve been at this most of the day! Thanks in advance to anyone that can spare the time to walk me though what I’m doing wrong!

I figured it out! I didn’t realise that not all integrations show up and they just exist as ‘Entities’ I found that searching for something unrelated.

So for those, like me, that need a walk through…Here is what I did to get my N79 working

Go to @Ligio Hacc-Ozmo Github Page
Click the green Code button (top right) and Download Zip
Unzip the download.
Drag the deebot folder from inside the custom_config folder into you Home Assistant custom_config folder.
Open configuration.yaml and paste in the following (updating the necessary details to your own details)

deebot:
  username: <your_email>
  password: <your_password>
  country: <your_two_letter_country>
  continent: <your_two_letter_continent>
  supported_features:
  - start
  - pause
  - stop
  - return_home
  - fan_speed
  - battery
  - status
  - send_command
  - locate
  - clean_spot
  - turn_on
  - turn_off

Reboot Home Assistant
Once rebooted, go to Configuration - Devices and Services - Entities
Search Entities for vacuum.<your_robot> and you should see your Deebot listed there.
Once confirmed it is installed, head back to Overview and add a new card
Use the By Entity option on the right
Search for vacuum.<you_robot> and tick the check box
Select Continue
HA give you a suggested card which you can then Add to Lovelace UI
You should now have a Deebot card then when clicked shows you the stock commands.

I didn’t get any errors along the way so I wouldn’t be able to help if you do but I hope that helps someone like me in the future.

1 Like

Hey mate,

not sure if you’ve resolved this or given up on it but if you haven’t and for anyone else - I had to add entity id onto mine so for your’s id look at:

- attribute: sensor.hans_heap
  entity_id: sensor.hans_heap
  unit: hours
  subtitle: Filter

the past few fays I’m getting this error in my log
Unable to prepare setup for platform deebot.vacuum: Platform not found (cannot import name ‘VacuumDevice’ from ‘homeassistant.components.vacuum’ (/usr/src/homeassistant/homeassistant/components/vacuum/init.py)).

any idea as to what is going on? Hadn’t made any changes or anything. Well until just now. I figured see if it would fix things, I just ran the most recent update (2022.2.1).

1 Like

Same here. The problem was introduced as part of the 2022.2.1 update as nothing else has been changed in my config. Reverting to a 2021.12.10 backup gets it working again.

I don’t have any offer on a solution for 2022.2.1 though, sadly. If anyone else has any ideas it’d be appreciated.

It 's also not working for me in the latest version. Had to revert back to 2021.12.10.

It’s working after upgrading the Deebot component to the latest version.
Please, restart HA after the upgrade.
Enjoy :wink:

1 Like

Hi @Ligio I updated the component and HA. Its working perfect now, thankyou!!

It’s working again here too now. Thank you :smiley:

Looks like the Deebot repo has been removed from HACS as it doesn’t have an issues option on Github?

image

Indeed. And no way to contact the author from Github since the Issue are missing :wink:

@Andrea_Liosi , this add-on has been really great so far. Is the removal of the Issues in your github repository a mistake, or do you plan to stop working on it and stop maintaining it ?

Hi
There is a deebot-4-homeassistant integration which is a fork of deebot-for-homeassistant and is still maintained by Robert Resch. I have implemented it with OZMO 950 and works perfectly. It can be installed from HACS.

1 Like

Thanks, just saw it mentioned in reply to my Github post about this too - Migration - DeebotUniverse

The example in the documentation works perfectly. Many thanks to Robert :+1:

Hi everyone.
I have an ecovacs deebot 500 and I see that there are several custom components and the only one that has half worked for me is the Ligio one but it generates an error:
When I restart HA it recognizes the entity, updates status and I can send commands. The problem comes after a few hours the Entity stops updating and only lets me send commands.
Checking the debug gives me this:

Logger: root
Source: /usr/src/homeassistant/homeassistant/bootstrap.py:329
First occurred: 0:40:51 a. m. (1 occurrences)
Last logged: 0:40:51 a. m.

Uncaught thread exception
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/threading.py", line 973, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.9/threading.py", line 910, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.9/site-packages/paho/mqtt/client.py", line 3591, in _thread_main
    self.loop_forever(retry_first_connection=True)
  File "/usr/local/lib/python3.9/site-packages/paho/mqtt/client.py", line 1756, in loop_forever
    rc = self._loop(timeout)
  File "/usr/local/lib/python3.9/site-packages/paho/mqtt/client.py", line 1164, in _loop
    rc = self.loop_read()
  File "/usr/local/lib/python3.9/site-packages/paho/mqtt/client.py", line 1556, in loop_read
    rc = self._packet_read()
  File "/usr/local/lib/python3.9/site-packages/paho/mqtt/client.py", line 2439, in _packet_read
    rc = self._packet_handle()
  File "/usr/local/lib/python3.9/site-packages/paho/mqtt/client.py", line 3033, in _packet_handle
    return self._handle_publish()
  File "/usr/local/lib/python3.9/site-packages/paho/mqtt/client.py", line 3327, in _handle_publish
    self._handle_on_message(message)
  File "/usr/local/lib/python3.9/site-packages/paho/mqtt/client.py", line 3570, in _handle_on_message
    on_message(self, self._userdata, message)
  File "/usr/local/lib/python3.9/site-packages/ozmo/__init__.py", line 906, in _handle_ctl_mqtt
    as_dict = self._ctl_to_dict_mqtt(message.topic, str(message.payload.decode("utf-8")))
  File "/usr/local/lib/python3.9/site-packages/ozmo/__init__.py", line 913, in _ctl_to_dict_mqtt
    xml = ET.fromstring(xmlstring) #Convert from string to xml (like IOT rest calls), other than this it is similar to XMPP
  File "/usr/local/lib/python3.9/xml/etree/ElementTree.py", line 1349, in XML
    parser.feed(text)
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 1, column 0

Could someone help me? or is there any other custom component for my vacuum cleaner?

I’ve been having issues for a awhile with my N79 and just saw there was an update in Feb. I just dropped it in but Im still getting the below error. Means nothing to me but does anyone have any idea how I can fix it?

Logger: homeassistant.setup
Source: custom_components/deebot/__init__.py:90
Integration: deebot
First occurred: 19:57:43 (1 occurrences)
Last logged: 19:57:43

Error during setup of component deebot
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 235, in _async_setup_component
    result = await task
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/deebot/__init__.py", line 90, in setup
    from ozmo import EcoVacsAPI, VacBot
  File "/usr/local/lib/python3.10/site-packages/ozmo/__init__.py", line 15, in <module>
    from sleekxmppfs import ClientXMPP, Callback, MatchXPath
  File "/usr/local/lib/python3.10/site-packages/sleekxmppfs/__init__.py", line 20, in <module>
    from sleekxmppfs.stanza import Message, Presence, Iq
  File "/usr/local/lib/python3.10/site-packages/sleekxmppfs/stanza/__init__.py", line 10, in <module>
    from sleekxmppfs.stanza.error import Error
  File "/usr/local/lib/python3.10/site-packages/sleekxmppfs/stanza/error.py", line 9, in <module>
    from sleekxmppfs.xmlstream import ElementBase, ET
  File "/usr/local/lib/python3.10/site-packages/sleekxmppfs/xmlstream/__init__.py", line 9, in <module>
    from sleekxmppfs.jid import JID
  File "/usr/local/lib/python3.10/site-packages/sleekxmppfs/jid.py", line 25, in <module>
    from sleekxmppfs.thirdparty import OrderedDict
  File "/usr/local/lib/python3.10/site-packages/sleekxmppfs/thirdparty/__init__.py", line 13, in <module>
    from sleekxmppfs.thirdparty.orderedset import OrderedSet
  File "/usr/local/lib/python3.10/site-packages/sleekxmppfs/thirdparty/orderedset.py", line 25, in <module>
    class OrderedSet(collections.MutableSet):
AttributeError: module 'collections' has no attribute 'MutableSet'