That’s strange because it should install the dependencies automatically.
I’m not sure why, but this is the second time I’ve had to manually pip install dependencies for a custom component. The other one was for a custom alarm (bwalarm). I probably tried this deebot a dozen times(with restarts & machine reboots) and it wasn’t working. Looks like I have all of the available options now:
Would be nice to combine all these deebots into 1 component.
The official one is only for old deebots.
The Ligios one works for deboots 900-930?
Andrea_Liosi’s one works for 950 only? LOL
We have another one floating around for 900-930, soltroy?.
For example, I noticed Andrea did a fix for the fan speed in the 950… I use the Ligios one on my 907 (Costco), yet it doesn’t grab the fan speed correctly after a HA restart. I assume that fix would work with the Ligios to fix the fan speed. But my 907 doesn’t work with Andrea’s one… Would be nice if they were all just in a single component, and benefit from all the bug fixes and such.
I agree. I’m using Ligios for my OZMO 930.
yet it doesn’t grab the fan speed correctly after a HA restart
Fan speed doesn’t even work on 930. I don’t think they have that option, unless it was added in a firmware upgrade that’s actually broken for the 930 (for the time being).
The problem is that they are all forks of the same python library. The original maintainer doesn’t use the package any more and so wants to keep it maintainable. To make things worse it appears that Ecovacs are rapidly changing between technologies so that there are at least 3 different technology platforms being used across the Ecovacs range. It’s turning into a real mess and would require a LOT of time to maintain all these.
You have to take into account that this is all unofficial work that is not supported by Ecovacs so we should be very grateful to all the people who spent the time working out how to even communicate with these devices.
Based on the nice work from @Ligio, here is my deebot 930 card !! thought of sharing in case some one is interested, it is really handy to pick different rooms to clean!
cards:
- buttons:
locate: false
pause: false
return: false
spot: false
start: false
stop: false
entity: vacuum.e0001057017609560622_2
image: /local/deebot.png
name: Deebot
type: 'custom:xiaomi-vacuum-card'
vendor: ecovacs
- color: auto
entity: null
icon: null
name: Deebot Control
styles:
card:
- font-size: 16px
name:
- justify-self: start
- padding-left: 16px
type: 'custom:button-card'
- cards:
- color: auto
entity: null
icon: 'mdi:map-marker-radius'
name: Find my Deebot
styles:
card:
- font-size: 12px
tap_action:
action: call-service
service: vacuum.locate
service_data:
entity_id: vacuum.e0001057017609560622_2
type: 'custom:button-card'
- color: auto
entity: null
icon: 'mdi:home'
name: Auto
styles:
card:
- font-size: 12px
tap_action:
action: call-service
service: input_select.set_options
service_data:
entity_id: input_select.room_clean
options:
- '0'
- '1'
- '2'
- '3'
- '4'
- '5'
- '6'
type: 'custom:button-card'
- color: auto
entity: null
icon: 'mdi:robot-vacuum'
name: Recharge
styles:
card:
- font-size: 12px
tap_action:
action: call-service
service: vacuum.return_to_base
service_data:
entity_id: vacuum.e0001057017609560622_2
type: 'custom:button-card'
type: horizontal-stack
- color: auto
entity: null
icon: null
name: Area to clean
styles:
card:
- font-size: 16px
name:
- justify-self: start
- padding-left: 16px
type: 'custom:button-card'
- cards:
- color: auto
entity: null
icon: 'mdi:toaster-oven'
name: Kitchen
styles:
card:
- font-size: 12px
tap_action:
action: call-service
service: input_select.set_options
service_data:
entity_id: input_select.room_clean
options: '0'
type: 'custom:button-card'
- color: auto
entity: null
icon: 'mdi:bed-empty'
name: Bedroom
styles:
card:
- font-size: 12px
tap_action:
action: call-service
service: input_select.set_options
service_data:
entity_id: input_select.room_clean
options:
- '5'
- '6'
type: 'custom:button-card'
- color: auto
entity: null
icon: 'mdi:sofa'
name: Livingroom
styles:
card:
- font-size: 12px
tap_action:
action: call-service
service: input_select.set_options
service_data:
entity_id: input_select.room_clean
options: '1'
type: 'custom:button-card'
- color: auto
entity: null
icon: 'mdi:shower'
name: Bathroom
styles:
card:
- font-size: 12px
tap_action:
action: call-service
service: input_select.set_options
service_data:
entity_id: input_select.room_clean
options: '4'
type: 'custom:button-card'
- color: auto
entity: null
icon: 'mdi:road-variant'
name: Hallway
styles:
card:
- font-size: 12px
tap_action:
action: call-service
service: input_select.set_options
service_data:
entity_id: input_select.room_clean
options: '2'
type: 'custom:button-card'
- color: auto
entity: null
icon: 'mdi:bed-empty'
name: 2nd Room
styles:
card:
- font-size: 12px
tap_action:
action: call-service
service: input_select.set_options
service_data:
entity_id: input_select.room_clean
options: '3'
type: 'custom:button-card'
type: horizontal-stack
- color: auto
entity: null
icon: null
name: Amount of water for mopping
styles:
card:
- font-size: 16px
name:
- justify-self: start
- padding-left: 16px
type: 'custom:button-card'
- cards:
- color: auto
entity: null
icon: 'mdi:flask-empty-outline'
name: Low
styles:
card:
- font-size: 12px
tap_action:
action: call-service
service: input_select.set_options
service_data:
entity_id: input_select.water_level
options: low
type: 'custom:button-card'
- color: auto
entity: null
icon: 'mdi:flask-outline'
name: Medium
styles:
card:
- font-size: 12px
tap_action:
action: call-service
service: input_select.set_options
service_data:
entity_id: input_select.water_level
options: medium
type: 'custom:button-card'
- color: auto
entity: null
icon: 'mdi:flask-empty'
name: High
styles:
card:
- font-size: 12px
tap_action:
action: call-service
service: input_select.set_options
service_data:
entity_id: input_select.water_level
options: high
type: 'custom:button-card'
type: horizontal-stack
type: vertical-stack
and here is the automation behind it, just created the
input_select.water_level with options high, medium, low
input_select.room_clean with the number of rooms/zones you are interested in. Note that EVOVACS app names the room [A,B,C,D,…] corresponds to [0,1,2,3,4,…] on the home assistant integration from Ligios. Also you select multiple rooms in one call.
#################################################################
# #
# Deebot Room Selection and Water Level #
# #
#################################################################
- id: '1584099444108'
alias: DeebotWater
description: ''
trigger:
- entity_id: input_select.water_level
platform: state
condition: []
action:
- service: vacuum.send_command
data_template:
command: set_water_level
entity_id: vacuum.e0001057017609560622_2
params: {"level": "{{states.input_select.water_level.state}}"}
- id: '1584099444109'
alias: DeebotWater
description: ''
trigger:
- entity_id: input_select.room_clean
platform: state
condition: []
action:
- service: vacuum.send_command
data_template:
entity_id: vacuum.e0001057017609560622_2
command: spot_area
params: {"area": "{{states.input_select.room_clean.state}}"}
My next steps are:
-
make the automation to wait for the room being clean to be finished then start to process the next command. For this I need to utilise the status sensor of Deebot.
-
Set scheduled cleaning actions for all house or for certain rooms
-
Optimally I like to use the floorplan library to press on the room to be cleaned but I am lazy to create an SVG file. Hopefully with the quartinate mode nowadays I can pick this up.
Hi, I have hassio on my Synology NAS and works very good.
The only device that i’m not able to connet is my new Ecovacs Deebot 930 Pro.
It works fine with the app (of course) but Home Assistant always see it in “unkwonws” status.
Someone can help me please?
Sorry for my English.
Hello…Is there something for deebot 920?
@Megane73, I’m using Ligio with my 930 without any issues: https://github.com/Ligio/hacc-ozmo. Give that a shot.
deebot:
username: YOUR_ECOVACS_USERNAME
password: YOUR_ECOVACS_PASSWORD
country: it
continent: eu
This in my configuration, but i have no link with 930…
I have just try to add the " supported_features" but the result was an error when i analize the configuration befoure restart.
Thanks so much for this. Works great. Also wasted A LOT of time because I was typing “deepbot” instead of “deebot”. I need to pay more attention.
Confirmed working with the N79S
Hi all,
Just picked up two Deebot 907s. I set one up so far and am trying to integrate into HA. I can’t get anything to work. So far I tried the “official” integration. Then I tried the Deebot 950 HACS integration. Both just return errors. Can someone tell me which config in this thread works with the 907?
Thanks,
Mike
Got it. This post was very helpful in figuring out what’s going on in this thread.
How can I use your integration in order to clean an area? Thanks
first of all you have to allow your ecovacs to scan your home, it will automatically store the map and name the zone A,B,C,D,…
then check my reply FIXED: Ecovacs Deebot 2019 & OZMO Series - Working Library
My robot has already stored the map and labels (ozmo 920). But I’m able to use return_to_base,start and locate…instead send_command does not work with set_water_level and spot_area.
For spot cleaning and water level, what do you get when sending the following services:
- service: vacuum.send_command
data:
entity_id: vacuum.yourvacuum
command: spot_area
params: {"area": "0"}
- service: vacuum.send_command
data_template:
command: set_water_level
entity_id: vacuum.yourvacuum
params: {'level": "low"}
I tried in this way and I don’t receive any response (where can I check it to be sure?).
In HA log I found: [deebotozmo] call to iotdevmanager failed with {‘ret’: ‘fail’, ‘errno’: 500, ‘debug’: ‘wait for response timed out’}
Yes. Otherwise without that integration I’m not able to start and stop the cleaning.