Ecovacs Deebot 960/950/920 Working library and custom_component

what version of home assistant are you on

2021.3.3

you are selecting add repositoryin hacs image

and searching there

image

OK… so it seems to be trying to configure it… but when I go into the logs I get 2 errors. First is is taking longer than 10 sec… 2nd one is taking longer than 60 secs; Startup will proceed without waiting any longer.

When I check the devices or intergrations there is nothing listed that I can identify

Just got my T8 AIVI and have it in HA with this integration. I have a script to clean the kitchen.

clean_kitchen:
sequence:
- service: vacuum.send_command
entity_id: vacuum.kevin
data:
command: spot_area
params:
rooms: 0
cleanings: 1

It seems to work (it started the vac but it is 11:00pm here and I feel the rest of the household would frown on me allowing it to run and see if it truly cleans just that room ; ). I am unsure how to use the template for dynamic room numbering mentioned for this integration though, all the templates I have used so far are for sensors. Can someone point me in the right direction?

Got the integration installed. Signed in and it fetched the name of bot correctly. But the robot is unavailable all the time. This the only thing in logs for the integration:

Logger: homeassistant.bootstrap
Source: bootstrap.py:392
First occurred: 11:06:16 AM (3 occurrences)
Last logged: 11:08:16 AM

Waiting on integrations to complete setup: deebot

My vacuum is Deebot 900 series. What have I done wrong?

Thanks @Andrea_Liosi for making this.
Would you happen to know if your library is more in line with what is required for the Ecovacs Deebot 900? If it’s close I will try removing my current custom component and replacing it with yours.

I currently have it running on the custom component from GitHub - Ligio/hacc-ozmo: Home Assistant Custom Component for Ecovacs Deebot Ozmo 900. It appears to work ok but all options don’t work for my 900. I’ve also tried the gist from SolTroy but this also a mixed bag on partial funtionality.

I would also love support for the Deebot 900.
At the moment I am using this other custom component but i seem to be only able to get status, and not control (which is better than everything else i have tried!

Happy to donate my time and my vacuum for testing!

Hello I’m having trouble with displaying sensor values on this custom card. I’ve installed this component via HACS and have enabled all the sensors of the vacuum. When I open the developer tools I see that they have values

but when I add it to the card attributes:

nothing seems to be displaying. If I add a simple sensor card for the brush for example it shows correct values. What seems to be the problem ?

Edit: I figured it out. The sensor doesn’t go after the attribute. It has to be after " entity_id: " which i didnt see in any of the examples or user configs but oh well. It should look something like this:

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

Hello guys!
I just wanted to share how I was able to integrate my DEEBOT 900 to Home Assistant on Nov. 21.

At first I tried of course the official Ecovacs Integration. I followed their instruction and i was able to add my Deebot to Home Assistant, but i couldnt connect to it neither controll it. I just got errors.
Next I tried this Deebot Integration “GitHub - And3rsL/Deebot-for-Home-Assistant: Vacuum component for Ecovacs Deebot Vacuums”. So i followed the instruction as well, my Deebot was added to HA, but i couldnt connect to it - this time even without an error message.
So next i tried the Integration from Ligio: GitHub - Ligio/hacc-ozmo: Home Assistant Custom Component for Ecovacs Deebot Ozmo 900 But it wasnt working - i couldnt even see the entity.
I tried several things like other configs, other init_.py files, etc…
But in the forums everyone was saying that Ligio’s Integration was working fine for them.
So last try: I deinstalled the Deebot Integration from And3rsL in Hacs, I deleted the Deebot and Ecovacs entries from the config Files and I deleted the Deebot folder in custom components.
I even deleted the whole vaccuum entity.

Next I just installed Ligios’s Integration, (create a folder named “deebot” in your custom components path and put the 3 files in the deebot folder - init.py, manifest.json, vacuum.py) restarted HA and IT WAS FINALLY WORKING.
So you just have the hacc-ozmo Integration to be installed and nothing else otherwise it isnt working.

Important:
Your deebot entry in the config file needs to look like this if you want to have all the features:

deebot:
  username: ********
  password: ********
  country: **
  continent: **
  supported_features:
  - start
  - pause
  - stop
  - return_home
  - fan_speed
  - battery
  - status
  - send_command
  - locate
  - clean_spot
  - turn_on
  - turn_off

Now i could install the Lovelace Vacuum Card and i finally can controll my Deebot 900.

Staubsi

Thanks for the incredible work And3rs! After playing with the integration for a while I figured out a way of making a queue without using NodeRed. Sharing here in case anyone finds interesting. You can have multiple switches for each room in your house, if you turn on 2 or more at the same time the automation will go into a queue until the first turned one finishes the job and switches itself off and continue until the queue is finished…

Template Switches to be used on the automation

    hooverlivingroom:
        unique_id: "hooverlivingroom"
        friendly_name: "Hoover Living Room + Dining area"
        turn_on:
        turn_off:
          service: vacuum.return_to_base
          target:
            entity_id: vacuum.dina
    hoovercorridor:
        unique_id: "hoovercorridor"
        friendly_name: "Hoover Corridor"
        turn_on:
        turn_off:
          service: vacuum.return_to_base
          target:
            entity_id: vacuum.dina
    hooverkitchen:
        unique_id: "hooverkitchen"
        friendly_name: "Hoover Kitchen"
        turn_on:
        turn_off:
          service: vacuum.return_to_base
          target:
            entity_id: vacuum.dina
    hooveroffice:
        unique_id: "hooveroffice"
        friendly_name: "Hoover Office"
        turn_on:
        turn_off:
          service: vacuum.return_to_base
          target:
            entity_id: vacuum.dina
    hooverbedroom:
        unique_id: "hooverbedroom"
        friendly_name: "Hoover Bedroom"
        turn_on:
        turn_off:
          service: vacuum.return_to_base
          target:
            entity_id: vacuum.dina
    hooverallhouse:
        unique_id: "hooverallhouse"
        friendly_name: "Hoover All House"
        turn_on:
        turn_off:
          service: vacuum.return_to_base
          target:
            entity_id: vacuum.dina

Automation for QUEUE

alias: Hoover Queue
description: ''
trigger:
  - platform: state
    entity_id: switch.hooverallhouse
    to: 'on'
  - platform: state
    entity_id: switch.hooverlivingroom
    to: 'on'
  - platform: state
    entity_id: switch.hooverbedroom
    to: 'on'
  - platform: state
    entity_id: switch.hoovercorridor
    to: 'on'
  - platform: state
    entity_id: switch.hooverkitchen
    to: 'on'
  - platform: state
    entity_id: switch.hooveroffice
    to: 'on'
condition: []
action:
  - choose:
      - conditions:
          - condition: state
            entity_id: switch.hooverlivingroom
            state: 'on'
        sequence:
          - wait_template: >-
              {{ is_state('vacuum.dina', 'docked') or is_state('vacuum.dina',
              'returning') }} 
          - delay:
              hours: 0
              minutes: 0
              seconds: 2
              milliseconds: 0
          - service: vacuum.send_command
            data:
              command: spot_area
              params:
                rooms: 0,10,9
                cleanings: 1
            target:
              entity_id: vacuum.dina
          - wait_for_trigger:
              - platform: state
                entity_id: vacuum.dina
                to: docked
              - platform: state
                entity_id: vacuum.dina
                to: returning
            continue_on_timeout: false
          - service: switch.turn_off
            target:
              entity_id: switch.hooverlivingroom
      - conditions:
          - condition: state
            entity_id: switch.hooverkitchen
            state: 'on'
        sequence:
          - wait_template: >-
              {{ is_state('vacuum.dina', 'docked') or is_state('vacuum.dina',
              'returning') }} 
          - delay:
              hours: 0
              minutes: 0
              seconds: 2
              milliseconds: 0
          - service: vacuum.send_command
            data:
              command: spot_area
              params:
                rooms: 2
                cleanings: 1
            target:
              entity_id: vacuum.dina
          - wait_for_trigger:
              - platform: state
                entity_id: vacuum.dina
                to: docked
              - platform: state
                entity_id: vacuum.dina
                to: returning
            continue_on_timeout: false
          - service: switch.turn_off
            target:
              entity_id: switch.hooverkitchen
      - conditions:
          - condition: state
            entity_id: switch.hoovercorridor
            state: 'on'
        sequence:
          - wait_template: >-
              {{ is_state('vacuum.dina', 'docked') or is_state('vacuum.dina',
              'returning') }} 
          - delay:
              hours: 0
              minutes: 0
              seconds: 2
              milliseconds: 0
          - service: vacuum.send_command
            data:
              command: spot_area
              params:
                rooms: 1
                cleanings: 1
            target:
              entity_id: vacuum.dina
          - wait_for_trigger:
              - platform: state
                entity_id: vacuum.dina
                to: docked
              - platform: state
                entity_id: vacuum.dina
                to: returning
            continue_on_timeout: false
          - service: switch.turn_off
            target:
              entity_id: switch.hoovercorridor
      - conditions:
          - condition: state
            entity_id: switch.hooverbedroom
            state: 'on'
        sequence:
          - wait_template: >-
              {{ is_state('vacuum.dina', 'docked') or is_state('vacuum.dina',
              'returning') }} 
          - delay:
              hours: 0
              minutes: 0
              seconds: 2
              milliseconds: 0
          - service: vacuum.send_command
            data:
              command: spot_area
              params:
                rooms: 8
                cleanings: 1
            target:
              entity_id: vacuum.dina
          - wait_for_trigger:
              - platform: state
                entity_id: vacuum.dina
                to: docked
              - platform: state
                entity_id: vacuum.dina
                to: returning
            continue_on_timeout: false
          - service: switch.turn_off
            target:
              entity_id: switch.hooverbedroom
      - conditions:
          - condition: state
            entity_id: switch.hooveroffice
            state: 'on'
        sequence:
          - wait_template: >-
              {{ is_state('vacuum.dina', 'docked') or is_state('vacuum.dina',
              'returning') }} 
          - delay:
              hours: 0
              minutes: 0
              seconds: 2
              milliseconds: 0
          - service: vacuum.send_command
            data:
              command: spot_area
              params:
                rooms: 7
                cleanings: 1
            target:
              entity_id: vacuum.dina
          - wait_for_trigger:
              - platform: state
                entity_id: vacuum.dina
                to: docked
              - platform: state
                entity_id: vacuum.dina
                to: returning
            continue_on_timeout: false
          - service: switch.turn_off
            target:
              entity_id: switch.hooveroffice
      - conditions:
          - condition: state
            entity_id: switch.hooverallhouse
            state: 'on'
        sequence:
          - wait_template: >-
              {{ is_state('vacuum.dina', 'docked') or is_state('vacuum.dina',
              'returning') }} 
          - delay:
              hours: 0
              minutes: 0
              seconds: 2
              milliseconds: 0
          - service: vacuum.start
            target:
              entity_id: vacuum.dina
          - wait_for_trigger:
              - platform: state
                entity_id: vacuum.dina
                to: docked
              - platform: state
                entity_id: vacuum.dina
                to: returning
            continue_on_timeout: false
          - service: switch.turn_off
            target:
              entity_id: switch.hooverallhouse
    default: []
mode: queued
max: 10

Please can you activate issues for your Github repository?

The developer, And3rsL, repaired the issue, thank you!


After latest core update the integration stopped working.

Its showing as archived for me? The inbuilt HA integration isn’t working either