Under robot settings
Now available on HACS!
Cool! Under which name? Was not able to find it under “deebot” or “ecovacs”
Ah, I see it now. Thanks again for all the work and quick replies!
PS: for those on the 930, I figured out a problem with DEEBOT OZMO 930 vacuums: their firmware checks are broken. This could be a reason why these vacuums are still behind the 950.
Using a proxy dump on the phone, I was able to discover the 930 is making a 404 call to firmware updates:
This is pretty bad. I’ve emailed US Customer Support about this. Hopefully they’ll be able to get this to their engineers so they can update their servers to catch this URL.
But for now: firmware updates for the 930 are dead in the water.
PPS: Also, as you can see from the URL, the firmware version is 1.9.9. According to their site, 900 series is on 2.x and uses the “new” ECOVACS Home app. While the 930 does use the ECOVACS Home app, it’s not on 2.x. This 2.x firmware is most likely the JSON change people are seeing here.
So I have managed to changed the files as per the posts higher up, I can now find the entity in my HA but I can`t operate the bot for some reason I get the bellow
9:25 PM custom_components/deebot/vacuum.py (ERROR)
Ping did not reach VacBot. Will retry.
9:25 PM /usr/local/lib/python3.7/site-packages/ozmo/init.py (WARNING)
You do find those kinds of “errors” quite a bit in HA. It could just mean that it’s not connected to the vac yet. Leave it for an hour or two and see if it fixes itself. You could also try manually telling the vac to do some cleaning & then charging. Sometimes it seems the device needs to operate before HA can get the initial status from it.
I struggled to get this working for my 907(900 series Deebot, I think from Costco, white).
Anyway, I kept getting an error ‘Crypto.PublicKey.RSA’ has no attribute ‘import_key’
Turns out I had to install or upgrade Crypto. At the terminal I used: pip3 install crypto. For good measure, I also did pip install crypto. At the same time I also used pip3 install pycrypto and pip install pycrypto.
Again, I’m fairly noob to this but that’s what finally ended up working for me after I followed the above instructions for the custom component.
I haven’t been able to check for the other sensors/commands but at least Deebot loaded and I can see and activate my vacuum.
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