FIXED: Ecovacs Deebot 2019 & OZMO Series - Working Library

Works with Deebot 907 (Costco’s version of the 900’s deebot).

Thanks a bunch for the fix. Tried the official ecovacs release and it didn’t work at all (would add the entity, but kept saying ping not returned). Added this custom_component deebot and it works great with same settings! Thanks a bunch again.

ECOVACS DEEBOT 907
Home Assistant 0.101.3

EDIT: In the OP, you list the solution as: https://gist.github.com/Soltroy/ (Soltroy)… but later in the thread I see a lot of people use https://github.com/Ligio/hacc-ozmo.

Which one should I use? Soltroy or Ligio’s? Or no difference? (My Deebot 907 is just a normal one, which doesn’t mop with water). The Soltroy one is working right now.

1 Like

I’m actually using Soltroy’s but it looks like his is a fork of Ligios. As it stands you’re probably safer with Ligios since there is a potential upgrade path via his repo. Soltroy’s is just a gist of static files.

Hi guys,
I need your help with “picture elements card”.

If I use service button it works:

  - entity: vacuum.e0001057017609550288
    service: vacuum.return_to_base
    style:
      left: 7%
      top: 22%
    tap_action:
      action: call-service
    type: service-button
    title: HOME

But if I use icon (or state-icon) it’s not works:

  - entity: vacuum.e0001057017609550288
    icon: 'mdi:home'
    service: vacuum.return_to_base
    style:
      left: 7%
      top: 22%
    tap_action:
      action: call-service
    type: icon

I would like to use an icon image to call the service action, instead a text.
How can I do it?

hi,
my ozmo 930 does not update the state to off after cleaning. only restart helps.
has anyone the same problem?

thanks for the new libary
bye steve

1 Like

Hi steveknoefler, what custom are you using?

We’ve had at least one person report that this works with the Ozmo 930, so it’s possibly an issue on your system. Have you checked your logs?

I have used this component for a while too and I think I remember the same thing happening to me.

Now I have it disconnected from ha because I have had a problem with the water drop and I was investigating if it could have been for sending the water level command wrong or just a casual breakdown.

Luckily I was able to get a replacement of my 930 with Amazon, but now I’m a little afraid to add it to home assistant.

Your 930 is working without more problems than the one you comment, right?

I am currently using the custom_component by Ligio linked above with two Deebot 901s in my home. The two 901s are acting differently and they are both not doing at least some of what I would like them to do, so I’m asking for guidance.

One of the 901s–this one is downstairs and is linked to Google Home via my Ecovacs account–responds to input from me from Home Assistant without issue. When I tell it to turn on, it turns on, its status updates, it shows its cleaning status, and when it is done cleaning it updates Home Assistant with its off state. That said, it does not update Home Assistant until I turn it back on. Let’s say when it finished cleaning and docked again its battery is at 63%, if I check on it two hours later it will still say 63% and the ‘last check in’ time on the more info card shows 2 hours ago. I’d like to be able to either poll it for updates periodically or have it update Home Assistant on battery level changes.

The second 901, which is upstairs, is also not updating Home Assistant with its status, but it is also not doing so except during a Home Assistant restart. If I click ‘Turn On’, the vacuum will turn on and start sweeping, but Home Assistant will still show it as off. If I restart Home Assistant, it will pull all of the current status of the robot, but it will never update after that.

I’m not well versed in python, but I did go through the code a bit and notice that the component is subscribing to update events (I’m sure my terminology is wrong) and is not polling the devices for status, but is there a way to do both? I know Home Assistant can gather info from both devices because it does so on startup, is there some service call or something else I’m missing where I can force update the current info of the robots?

Ideally what I’d like to do is, between certain times of day and if the house is empty, on a battery level update to >90% have it start a clean again. I understand how to do all of that (I think) but I cannot figure out for the life of me how to make Home Assistant pull the current battery info of the devices.

Any help at all is appreciated.

For what it’s worth, both devices are on the latest firmware and have identical settings as far as I can tell. The only difference between them is that one is linked to Google Home and the other is not, though I doubt that’s affecting anything.

Thank you!

Is there a fix for the state update bug? Without an accurate state reading, makes this component non-operational

Great thread. Many thanks to everybody contributing.

Just got my Ozmo 950. After trying solutions by @SolTroy and @Ligio I only managed to connect to the vacuum, but commands except “locate” cannot be issued, no sensor status can be obtained.

I then stumbled upon a post from Bumber re-creator bmartin5692. https://github.com/wpietri/sucks/issues/80

“Working on [Bumper] I’ve found that the Ozmo950 and possibly other newer bots are using a new communication method.”

Clearly the SUCKS library needs to be updated to support new json (instead of xml) method. Heading over to https://github.com/wpietri/sucks for help.

The title of this topic is unfortunately outdated. Ecovacs Deebot OZMO 950 from 2019 - does not work with this library at the moment.

Same Situation for me… Ozmo 920

Same situation for me Ozmo 950

I too receive 0%, have you found a way to get it working?

Unfortunately not. It seems that the ecovacs range keeps changing it’s logic and that is causing too much diversity in the code needed to get all functionality from every type of vac. I’ve just accepted the fact that the usage data isn’t available for now.

Oh damn. Will get my 950 in a couple of days and was really hoping for a working HA component. Any chance that this might be fixed in the future?

I’ve found my error, and it is working for me now.

in the value template I changed the state_attr(‘vacuum.MY-ID’ to state_attr(‘vacuum.sucky_thing’

yup, I named my vacuum sucky thing. And now I’m getting correct %

1 Like

Which device do you have?

I was also getting 0s on my N79s then one day after the vacuum finished his run I noticed the sensors were populated. Problem is as soon as you restart ha they go back to 0. I am still making lots of changes in my configs so they are never correct for long but if I run a whole charge all three sensors will be populated.

Hi,
I made a working prototype for Deebot ozmo 950 based on sucks and bmartin fork

Integration:

deebot:
  username: YOUR_ECOVACS_USERNAME
  password: YOUR_ECOVACS_PASSWORD
  country: YOUR_TWO_LETTER_COUNTRY_CODE
  continent: YOUR_TWO_LETTER_CONTINENT_CODE

Not everything working but its a start

I will continue to develop it

6 Likes