Giter VIP home page Giter VIP logo

docs's Introduction

Documentation

This repo is the source for the unofficial Deebot documentation.

This documentation is unofficial, and is not sponsored, owned or endorsed by Ecovacs (Robotics).

How to contribute

To add a new link on the navigation panel you need to edit the mkdocs.yml file in the root of the repo. There is a guide for building the navbar on the mkdocs wiki

To add a new document:

  • Navigate to the directory where it will be hosted.
  • Create the file using a URL friendly filename.
  • Edit your document using Markdown, there are loads of resources available for the correct syntax.

Testing your changes

When working on this repo, it is advised that you review your changes locally before committing them. The mkdocs serve command can be used to live preview your changes (as you type) on your local machine.

Please make sure you fork the repo and change the clone URL in the example below for your fork:

  • Linux Mint / Ubuntu 18.04 LTS / 19.10 / 20.04 LTS:

    • Preparations (only required once):
    git clone https://github.com/YOUR-USERNAME/docs
    cd docs
    sudo apt install python3-pip
    sudo pip3 install -r requirements.txt
    • Running the docs server:
    mkdocs serve --dev-addr 0.0.0.0:8000
  • Fedora Linux instructions (tested on Fedora Linux 28):

    • Preparations (only required once):
    git clone https://github.com/YOUR-USERNAME/docs
    cd docs
    pip install --user -r requirements.txt
    • Running the docs server:
    mkdocs serve --dev-addr 0.0.0.0:8000
  • Docker instructions:

    • One-shot run:
    docker run -v `pwd`:/opt/app/ -w /opt/app/ -p 8000:8000 -it nikolaik/python-nodejs:python3.7-nodejs12 \
      sh -c "pip install --user -r requirements.txt && \
      /root/.local/bin/mkdocs build && \
      npm ci && \
      npm test && \
      /root/.local/bin/mkdocs serve --dev-addr 0.0.0.0:8000"

After these commands, the current branch is accessible through your favorite browser at http://localhost:8000

docs's People

Contributors

capstan1 avatar dependabot[bot] avatar edenhaus avatar inv1sible avatar jlsjonas avatar joemontero avatar lcnittl avatar loopway avatar marcoske23 avatar migius avatar mrbungle64 avatar pre-commit-ci[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

docs's Issues

HomeKit support?

For some reason I can't seem to get this into homekit too? Any suggestions?

Start button from advanced UI not showing

Checks

  • I have searched the existing issues and no issue is describing my issue
  • I have checked the FAQ
  • I have checked the documentation
  • I have installed/try to install the latest version

The problem

The button to actually start the cleaning doesn't show up. Every other button seems to work, for example the pause button after cleaning has started.

On which deebot vacuum you have the issue?

Deebot Ozmo 950

Which version of the Deebot component are you using?

1.3.1

Which version of Home Assistant are you using?

2022.5.5

What type of installation are you running?

Home Assistant OS

Country

de

Continent

eu

Instance type

Cloud

Anything in the logs that might be useful for us?

No response

Additional information

image

image

Deebot 900 not working

Hi,

I have a deebot 900. The integration setup was flawless and sees to work, however the status of the vacuum is always unkown and I can't do anything (start, stop, return to chargingdock). I have no error, what is the problem?

Thanks in advance.

Deebot N10 map support

I have got this working for my Deebot N10 but it's unable to display a map from the device. Is this an easy fix? I have a working N10 if you need any info grabbed from it.
Thanks
Paul

No 'rooms' attribute

Hi there, I'm just now re-enabling this integration after a long time with it off. It looks like my mode (deebot n8 pro+) no longer has the room ids listed in its attributes. Any pointers on how to get the needed ids to pass for cleaning certain rooms (e.g. https://deebot.readthedocs.io/integrations/home-assistant/examples/commands/#clean-only-certain-rooms)? Appreciate the work you've done, I can do some legwork in figuring things out if you can point me in the right direction.

Advanced UI doesnt work

Hello :)

Nice work by the way! I lOVE "Deebot 4 Home Assistant"

Unfortunately the room selection does not work.
https://deebot.readthedocs.io/integrations/home-assistant/examples/ui/advanced/

I copied everything and just replaced "Susi" with the name of my vacuum cleaner. No matter what I do, he always writes the value "2" in the UI queue and deselects the previously selected.


Here is the Template out of configurations yaml:

template:
  unique_id: deebot_saugstauberos_queue # change me
  trigger:
    - platform: homeassistant
      event: start
    - platform: state
      entity_id: variable.deebot_saugstauberos_queue # change me
  sensor:
    # Add for each room the following. Change room_name accordingly
    - unique_id: deebot_saugstauberos_queue_living_room # change me
      name: deebot_saugstauberos_queue_living_room # change me
      # room_name must match the room name provided by the vacuum
      state: >
        {% set room_name = "living_room" %}
        {% set queue = trigger.to_state.state.split(",") if trigger.to_state is defined else "" %}
        {{ queue.index(room_name)+1 if room_name in queue else 0 }}
    - unique_id: deebot_saugstauberos_queue_kitchen # change me
      name: deebot_saugstauberos_queue_kitchen # change me
      # room_name must match the room name provided by the vacuum
      state: >
        {% set room_name = "kitchen" %}
        {% set queue = trigger.to_state.state.split(",") if trigger.to_state is defined else "" %}
        {{ queue.index(room_name)+1 if room_name in queue else 0 }}
    - unique_id: deebot_saugstauberos_queue_corridor # change me
      name: deebot_saugstauberos_queue_corridor # change me
      # room_name must match the room name provided by the vacuum
      state: >
        {% set room_name = "corridor" %}
        {% set queue = trigger.to_state.state.split(",") if trigger.to_state is defined else "" %}
        {{ queue.index(room_name)+1 if room_name in queue else 0 }}

and here is my UI yaml:

  - type: horizontal-stack
    cards:
      - type: custom:button-card
        template: vacuum_room
        entity: sensor.deebot_saugstauberos_queue_living_room
        icon: mdi:sofa
        name: Wohnzimmer
        tap_action:
          service_data:
            room: living_room
      - type: custom:button-card
        template: vacuum_room
        entity: sensor.deebot_saugstauberos_queue_kitchen
        icon: mdi:silverware-variant
        name: Küche
        tap_action:
          service_data:
            room: kitchen
      - type: custom:button-card
        template: vacuum_room
        entity: sensor.deebot_saugstauberos_queue_corridor
        icon: mdi:shoe-print
        name: Gang
        tap_action:
          service_data:
            room: corridor

Here some info about my env:
HASS 2022.4.1.
hass-variables 2.2.1
Button Card 3.4.2

.

.

Deebot T10 map support

Hi, I have the Deebot T10 plus and it works perfectly except for the map.
image

As you can see, even after the 2.0 update, the map is not loaded correctly.
How can I help improve support for this model?

Login succesfull - but no deebot -.-

Dear everyone,

when I try to implement my Deebot OZMO 930, I could log in (with wrong Log-In there is also a error msg), but my deebot is not shown in the last pic.
What I#m doing wrong? Is the Deebot OZMO 90 compatible?

grafik
grafik
grafik

Queue Numbers start at 2

ok, got the advanced example working 😆
when i add a room to the queue the number is counting up, but it starts with 2. and somehow i can't find why.
well maybe someone can help me :)

thanks in advance :)

Advanced UI with two DeeBots

Hello,

first of all: great work to provide this integration for Home Assistant!

We had a Deebot in use until the very end.
I used this very intensively with the Advanced UI.
After buying the second DeeBot a few weeks ago, this is no longer so easily possible.
Is there a way to "overhaul" the Advanced UI to be used with multiple Deebots?
In particular, the topic with the room queue is not really possible, since the script sections are probably not designed for the use of several Deebots.

Thanks in advance and best
Ralph

Have to keep reloading integration?

Hi there and thanks for this, I have a strange problem however. After some time the vacuum shows as unavailable even if it is actively cleaning. Reloading the integration fixes it for a while before it goes unavailable again. Anyone experiencing the same or somebody with a fix? Appreciated!

multiple problems with the Integration

Hello,

i am new to coding with yaml and using home assistant. So i have multiple problems with the advanced integration, i tried to follow the mentioned steps but have miltiple problems:

  1. i copy-paste the "backend" in scripts.yaml (changed the name of my vacuum)
  2. i created a new board and copy-pasted the actual card information (also changed the name of my vacuum)
  3. i dont't know where to put the ui configuration and so i get the following error
    image

I use mushroom lovelace, probably you need more information to help me, please let me know.

ignored cleanings and amount params

On my X1 turbo

service: vacuum.send_command
data:
entity_id: vacuum.aspirapovere_piano_terra
command: spot_area
params:
rooms: "6"
cleanings: 2
amount: "high"

cleanings and amount params are ignored. The device uses last ecovass mobile app settings.

Cleaning a custom area by name, not by coordinates?

Hi all, I really enjoy the integration, thanks so much! I have a question, can I clean a custom area and reuse the custom areas defined in the Ecovacs App, e.g. "Pet Area Cleaning" instead of defining coordinates as described in custom_area command.

It would be really great if one could just specify the names given in the App since it is easy to define the custom areas there. Is there a way? I imagine something like:

service: vacuum.send_command
target:
  entity_id: vacuum.YOUR_ROBOT_NAME
data:
  command: custom_area
  params:
    name: 'Pet Cleaning Area'

Also, is there also a way to add cleaning preferences to this command?

Thanks!

Set Vacuum Power to Silent Mode?

Is setting this supported? In the Deebot app I can set vacuum power to Silent, Standard, Max, and Max+. It would be handy to automate this.

Taking a snapshot of the new 'Image' entity?

In the latest update, the live 'camera' feed that showed the map was replaced by the new 'Image' entity. I was using the 'camera.snapshot' service to save the image locally of the robot map position. However, I can't seem to do this with the new 'image' entity. The docs on this new image integration are pretty sparse, and there don't seem to be any service calls related to it specifically.

I thought that the 'image' integration was supposed to be sort of a limited skew of the 'camera' integration, but I don't really understand how to interface with it.

Is there any way to 'save' locally the image served up by the image integration?

Unable to connect

I get:

Can't connect to the ecovacs API

when I try to add the integration. I'm using GB, EU as country codes.

There are no logs because I haven't managed to get the integration added!

Modification in UI advanced example

Hello

I noticed I need to do a small modification in the advanced example.

to get the rooms:
{%- set data.rooms = data.rooms + [rooms[room_name]] -%}
should be
{%- set data.rooms = data.rooms + [rooms[room_name[5:]]] -%}

BTW, this is required if your room name doesn't start with "room_".

Request: Add Ecovacs room naming to the documentation

Maybe it would be helpful to add the room names that ecovacs uses internally to the documentation.
Would help a lot for writing the configuration part when you have a lot of rooms.

And maybe an example on what to do if you have two bathrooms.

I don't want to delegate work, so if it's okay I would open up a PR myself.

Casting video

Hi,
I would like to set up HomeAssistant automation where the vacuum map(camera) feed would be cast to the TV and/or smart display if it's not being used while the vacuum is started.

Seems it's not possible to use the "camera: play steam" service on the live map. It gives this error:

Failed to call service camera.play_stream. camera.deebot_live_map does not support play stream service

Not sure if this is a known limitation - but would it be possible to address this?

userinfo

Hi
I am trying to add this to my HA DeeBot 4 HA and it asking me for a email and password??
I have never added a password to my tablet, I have just installed the ECOVACS home app scanned the QR and the DeeBot T10 Plus is running.
Where do I get this email/password info, or can I some-how skip that?

Problems with example lovelace

Hi,

first of all: simply love your project (if i would get the output, that you have ;-) )
most likely im just not skilled enough yet ;-)

so, im having a deebot T9+
to make sure, im not too stupid, i called it susi and i reloaded the integration.
ok, susi now picks up my rooms as attributes, so far so good (e.g. bedroom, bathroom, kids_room, living_room)
so i thought good, lets just continue with your example, so i copied your code into my configuration.yaml (for the backend) and i deactivated scripts: !include scripts.yaml and so on (just for testing)
i copied the button card template information into my lovelace raw configeditor (fyi, my first time, so maybe i did something wrong here) and copied your card configuration into a new card, but i always receive error messages...

instead of my rooms as buttons (or as in the example only the living room) i get this:
_ButtonCardJSTemplateError: TypeError: Cannot read properties of undefined (reading 'state') in 'return entity.state'
tap_action:
action: call-service
service: script.deebot_room_queue
service_data:
queue: input_text.deebot_susi_queue
room: living_room
type: custom:button-card
group_expand: false
hold_action:
action: none
double_tap_action:
action: none
layout: vertical
size: 40%
color_type: icon
show_name: true
show_state: false
show_icon: true
show_units: true
show_label: false
show_entity_picture: false
show_live_stream: false
card_size: 3
color: var(--text-color)
variables:
lock_enabled: |
[[[ return ['cleaning', 'paused'].includes(states['vacuum.susi'].state) ]]]
state:

  • operator: template
    value: |
    [[[ return variables.lock_enabled && entity.state == 0 ]]]
    styles:
    card:
    - color: var(--disabled-text-color)
  • styles:
    card:
    - background-color: var(--primary-color)
    operator: '>='
    value: 1
    styles:
    card:
    • font-size: 12px
      grid:
    • position: relative
      custom_fields:
      order:
      • display: |
        [[[
        if (entity.state == "0")
        return "none";
        return "block";
        ]]]
      • position: absolute
      • left: 5%
      • top: 5%
      • height: 20px
      • width: 20px
      • font-size: 20px
      • font-weight: bold
      • line-height: 20px
        custom_fields:
        order: |
        [[[ return entity.state ]]]
        lock:
        enabled: |
        [[[ return variables.lock_enabled ]]]
        duration: 5
        unlock: tap
        exemptions: []
        template: vacuum_room
        entity: sensor.deebot_susi_queue_living_room
        icon: mdi:sofa
        name: Wohnzimmer
        default_color: var(--primary-text-color)
        color_off: var(--paper-item-icon-color)
        color_on: var(--paper-item-icon-active-color)_

and where the services are, i get this error:
_ButtonCardJSTemplateError: TypeError: Cannot read properties of undefined (reading 'state') in 'return ((!states['input_text.deebot_susi_queue'].state || states['input_text.deebot_susi_qu...'
tap_action:
action: call-service
service_data:
entity_id: vacuum.susi
service: script.deebot_clean
type: custom:button-card
group_expand: false
hold_action:
action: none
double_tap_action:
action: none
layout: vertical
size: 40%
color_type: icon
show_name: true
show_state: false
show_icon: true
show_units: true
show_label: false
show_entity_picture: false
show_live_stream: false
card_size: 3
color: var(--text-color)
entity: vacuum.susi
lock:
enabled: |
[[[ return variables.enabled ]]]
duration: 5
unlock: tap
exemptions: []
styles:
card:
- height: 80px
lock:
- color: var(--primary-text-color)
state:

  • operator: template
    value: |
    [[[ return variables.enabled ]]]
    styles:
    card:
    - color: var(--disabled-text-color)
    template: vacuum_service
    icon: mdi:play
    name: Start
    variables:
    enabled: |
    [[[
    return ((!states['input_text.deebot_susi_queue'].state ||
    states['input_text.deebot_susi_queue'].state.length === 0)
    && ['docked', 'idle', 'error', 'returning'].includes(entity.state))
    ]]]
    default_color: var(--primary-text-color)
    color_off: var(--paper-item-icon-color)
    color_on: var(--paper-item-icon-active-color)`_

Unable to install the integration

After adding the integration through HACS, I get the following error as I add the integration to my install:

Config flow could not be loaded: Unknown error

Looking in the logs, I see two exceptions. A generic:

Logger: homeassistant.config_entries
Source: config_entries.py:809
First occurred: 3:48:45 PM (2 occurrences)
Last logged: 5:03:37 PM

Error occurred loading configuration flow for integration deebot: Exception importing custom_components.deebot.config_flow

And the real problem:

Logger: homeassistant.loader
Source: deps/lib/python3.9/site-packages/deebot_client/models.py:28
First occurred: 3:48:45 PM (2 occurrences)
Last logged: 5:03:37 PM

Unexpected exception importing platform custom_components.deebot.config_flow
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/homeassistant/loader.py", line 722, in get_platform
    cache[full_name] = self._import_platform(platform_name)
  File "/usr/local/lib/python3.9/dist-packages/homeassistant/loader.py", line 739, in _import_platform
    return importlib.import_module(f"{self.pkg_path}.{platform_name}")
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/opt/homeassistant/custom_components/deebot/__init__.py", line 12, in <module>
    from . import hub
  File "/opt/homeassistant/custom_components/deebot/hub.py", line 9, in <module>
    from deebot_client import Configuration, create_instances
  File "/opt/homeassistant/deps/lib/python3.9/site-packages/deebot_client/__init__.py", line 4, in <module>
    from ._api_client import _InternalApiClient
  File "/opt/homeassistant/deps/lib/python3.9/site-packages/deebot_client/_api_client.py", line 10, in <module>
    from .models import Configuration, Credentials
  File "/opt/homeassistant/deps/lib/python3.9/site-packages/deebot_client/models.py", line 9, in <module>
    class DeviceInfo(dict):
  File "/opt/homeassistant/deps/lib/python3.9/site-packages/deebot_client/models.py", line 28, in DeviceInfo
    def nick(self) -> str | None:
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'

Currently running (but seen on previous version also):

 Home Assistant 2022.10.4 
Frontend 20221010.0 - latest 

Using Python 3.9.

Many thanks!

Selected rooms buttons do not change in color

Selecting rooms does not change colors of the button. So i can't see the selected rooms before starting the cleaning.

Could someone point me in the right direction where the problem could be?
Clicking the room does enable the start button. Clicking again enables the lock.

image

Best regards,
Wietse

Deebot 901

I'm trying to make sense of how to properly integrate my Deebot 901 into Home Assistant.

From this page and this page, I see that there are five integrations available that should work for me. I'd like whichever one is the most feature rich, like Deebot 4 Home Assistant, which unfortunately doesn't support the Deebot 901 itself. I'm very much confused on how to add any of these options (except for Deebot 4 Home Assistant, which I understand completely) can be integrated into Home Assistant.

Suffice to say, any help you can offer would be appreciated. Thanks.

number clean_count entity

I have a Deebot Ozmo T8 which exposes a number.{vacuum}_clean_count entity but this number does not increment, it stays constant at '1'. I think it should increment after each completed cleaning cycle. Is this something you can kindly look into?

image

Status is not updating

As of late (last week) Deebot status has not been updating.
Manual update through services works, but I wonder if its to do with any of the HA updates
The following error is logged:

This error originated from a custom integration.

Logger: custom_components.deebot.hub
Source: custom_components/deebot/hub.py:114
Integration: Deebot 4 Home Assistant (documentation, issues)
First occurred: 2:58:25 AM (2 occurrences)
Last logged: 12:10:03 PM

failure (3002) on getting devices
Traceback (most recent call last):
  File "/config/custom_components/deebot/hub.py", line 104, in _check_status_task
    await self._check_status_function()
  File "/config/custom_components/deebot/hub.py", line 114, in _check_status_function
    devices = await self._api_client.get_devices()
  File "/usr/local/lib/python3.10/site-packages/deebot_client/api_client.py", line 61, in get_devices
    raise ApiError(
deebot_client.exceptions.ApiError: failure  (3002) on getting devices

Deebot T9 series

Collection of information for Deebot T9 series (or comparable models)

Deebot X2 Omni Support

I don't see many of the items working, including the map.
Is it expected that support for Deebot X2 Omni will be added

Cannot login from Integration setup

I'm trying my newly created account on the Integration setup window and whenever I click 'Submit', I get this back:

image

I verified my user/password and using US/NA as country/continent but no luck getting setup.

Request: add configuration to reset room queue

Hi,

after the deebot has finished vacuuming and has arrived at the docking station, the room queue is not reset. The cleaned room is still marked and the start button is also not locked.

It would be nice if the room queue could be reset after cleaning and the start button would be locked again.

thanks

Advanced UI Deebot N8

HI there,

i tried to Install the Deebot N8 with Deebot 4 Home Assistant and the examples from the Deebot.readthedocs.io (Advanced). I can control everything also start the Vacuum but it only moves a little bit back from the charging station and thats it. It stand still and the brushes are turning.

Any idea what could be wrong, here a snipped from the templates session. I used the letters instead of the room names maybe this is a Problem ?

Best Regards
xDuk3x

template:
  unique_id: deebot_hugo_queue
  trigger:
    - platform: state
      entity_id: input_text.deebot_hugo_queue
  sensor:
    # Add for each room the following. Change room_name accordingly
    - unique_id: deebot_hugo_queue_living_room
      name: deebot_hugo_queue_living_room
      # room_name must match the room name provided by the vacuum
      state: >
        {% set room_name = "F" %}
        {% set queue = trigger.to_state.state.split(",") %}
        {{ queue.index(room_name)+1 if room_name in queue else 0 }}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.