Bonjour à tous,
J’essaie d’intégrer mon robot Ecovacs. Comme il ne semble plus y avoir d’intégration officielle, je suis parti sur celle-ci : GitHub - DeebotUniverse/Deebot-4-Home-Assistant: Home Assistant integration for deebot vacuums
J’arrive à intégrer certaines données. Je me suis donc lancé dans la procédure de création de la carte comme présenté dans la doc: Advanced - DeebotUniverse
mais j’obtiens plusieurs erreurs (à mon avis lié aux sensors qui n’existent pas): j’ai l’impression de ne pas avoir tous les sensors notamment celui des pièces…
Est-ce que vous avez déjà réalisé cette intégration ? Pour ceux qui auraient réussi, avez-vous pu remonter les informations des pièces car moi je n’y arrive pas ?
Merci
smilorel
System Information
version |
core-2022.10.0 |
installation_type |
Home Assistant Supervised |
dev |
false |
hassio |
true |
docker |
true |
user |
root |
virtualenv |
false |
python_version |
3.10.5 |
os_name |
Linux |
os_version |
5.10.0-18-arm64 |
arch |
aarch64 |
timezone |
Europe/Paris |
config_dir |
/config |
Home Assistant Community Store
GitHub API |
ok |
GitHub Content |
ok |
GitHub Web |
ok |
GitHub API Calls Remaining |
4883 |
Installed Version |
1.27.2 |
Stage |
running |
Available Repositories |
1120 |
Downloaded Repositories |
17 |
Home Assistant Cloud
logged_in |
false |
can_reach_cert_server |
ok |
can_reach_cloud_auth |
ok |
can_reach_cloud |
ok |
Home Assistant Supervisor
host_os |
Debian GNU/Linux 11 (bullseye) |
update_channel |
stable |
supervisor_version |
supervisor-2022.09.1 |
agent_version |
1.2.2 |
docker_version |
20.10.18 |
disk_total |
229.1 GB |
disk_used |
13.2 GB |
healthy |
true |
supported |
failed to load: Unsupported |
supervisor_api |
ok |
version_api |
ok |
installed_addons |
File editor (5.4.1), InfluxDB (4.5.0), Samba share (10.0.0), SQLite Web (3.6.1), deCONZ (6.16.0), MariaDB (2.5.1), Node-RED (13.4.0), Nginx Proxy Manager (0.12.2), WireGuard (0.7.0), AdGuard Home (4.7.4) |
Dashboards
dashboards |
1 |
resources |
12 |
views |
10 |
mode |
storage |
Recorder
oldest_recorder_run |
26 septembre 2022 à 16:53 |
current_recorder_run |
6 octobre 2022 à 11:15 |
estimated_db_size |
260.54 MiB |
database_engine |
sqlite |
database_version |
3.38.5 |
___
Bonsoir,
Débutant dans Home Assistant, j’ai aussi un peu galéré avec ça jusqu’à temps que je remarque que la plupart des sensors de l’aspirateur étaient désactivés 
Paramètres, Appareils Services, intégration « Deebot 4 Home Assistant », cliquer sur les entités ( j’en ai 23), cliquer sur l’entité désactivé, paramètres avancés, activée, mise à jour
Et cela pour chaques entités désactivées.
Pour les cartes sur Lovelace il me semble que j’utilise vacuum card trouvé sur Hacs.
Voilà une 1ere piste !
Salut @Akira21,
Yes je l’ai fait dès le début pour le coup.
Mais j’ai finalement bien avancé: en fait, il s’avère que j’avais 2 entités ‹ vaccum › pour le même robot aspirateur: vacuum.NOM_ROBOT (lui étant annoncé comme indisponible) et vacuum.NOM_ROBOT_2.
Ce qui est étonnant c’est que tous les sensors sont avec le NOM_ROBOT mais l’entité ‹ vacuum › qui est à utiliser est celle avec le nom NOM_ROBOT_2.
Je ne sais pas si c’est un problème d’intégration mais j’ai réglé beaucoup de soucis.
Il ne me reste plus qu’à voir comment gérer les noms de pièces. J’ai suivi la procédure de la doc Advanced - DeebotUniverse mais je ne trouve pas du tout comment cela est géré.
Concernant le tuto, je ne le connaissais pas. Mais il est très intéressant.
Je jetterai un œil demain 
Pour l’instant j’ai la carte de l’aspirateur, la map et les options.
Mais effectivement c’est intéressant d’avoir la sélection des pièces 
Si j’arrive à intégrer ce tuto, je reviendrai vers vous !
1 « J'aime »
Bonjour,
Je me suis lancer dans cette intégration également mais c’est un peu compliqué, je voulais savoir si vous étiez parvenu à vos fins?
Je n’ai pas trouvé la solution pour créer mes pièces.
Si vous avez une piste je suis preneur.
Merci 
Bonjour,
De mon côté, je n’ai pas avancé concernant la création (ou au minimum la sélection) des pièces.
Peut-être que @Akira21 a pu avancer ?
Bonjour, pour ma part elle est terminée si je peux aider … je ne viens pas tout le temps sur le forum donc si je répond pas —> patienter 
Salut @Seth3d85,
Merci pour ta proposition d’aide.
Je veux bien la marche à suivre pour la création des pièces ?
Je te remercie par avance.
A+
Je reviens vers toi avec des captures d’écran de ce que tu dois faire (car là je suis au boulot) ainsi que le code carte. As-tu bien fait les 2 script et l’automatisation qui va bien déjà dans un premier temps ? Ce que tu peux déjà faire, c’est aller dans paramètres puis appareils et services, prendre ton aspirateur (Ecovacs je suppose) et regarder dans ses attributs, le nom de tes pièces car tu en auras besoin. Voir screen ci-joint.
Désolé pour le retard, voici la carte utilisée sur mon dashboard. Tu remplace Merlin par ne nom de tom aspi. Pourrais-tu m’en dire plus sur ce qui ne va pas chez toi ? Merci
type: vertical-stack
cards:
- type: custom:vacuum-card
entity: vacuum.merlin
stats:
default:
- entity_id: sensor.merlin_life_span_brush
unit: '%'
subtitle: Brosse Principale
- entity_id: sensor.merlin_life_span_side_brush
unit: '%'
subtitle: Brosse Latérale
- entity_id: sensor.merlin_life_span_filter
unit: '%'
subtitle: Filtre
cleaning:
- entity_id: sensor.merlin_stats_area
unit: m²
subtitle: Surface Nettoyée
- entity_id: sensor.merlin_stats_time
unit: Minutes
subtitle: Durée De Nettoyage
show_status: true
show_toolbar: false
compact_view: false
- type: custom:button-card
color: auto-no-temperature
name: Sélectionnez les pièces à nettoyer
styles:
card:
- font-size: 18px
- height: 30px
name:
- color: var(--primary-color)
tap_action: none
double_tap_action: none
- type: horizontal-stack
cards:
- type: custom:button-card
template:
- vacuum_room
entity: sensor.deebot_merlin_queue_living_room
icon: mdi:sofa
name: Salon
tap_action:
service_data:
room: living_room
- type: custom:button-card
template:
- vacuum_room
entity: sensor.deebot_merlin_queue_kitchen
icon: mdi:faucet-variant
name: Cuisine
tap_action:
service_data:
room: kitchen
- type: custom:button-card
template:
- vacuum_room
entity: sensor.deebot_merlin_queue_default
icon: mdi:coat-rack
name: Hall
tap_action:
service_data:
room: default
- type: custom:button-card
template:
- vacuum_room
entity: sensor.deebot_merlin_queue_dining_room
icon: mdi:silverware
name: Salle à manger
tap_action:
service_data:
room: dining_room
- type: custom:button-card
template:
- vacuum_room
entity: sensor.deebot_merlin_queue_bedroom
icon: mdi:bed-king
name: Chambre
tap_action:
service_data:
room: bedroom
- type: horizontal-stack
cards:
- type: conditional
conditions:
- entity: vacuum.merlin
state_not: cleaning
- entity: vacuum.merlin
state_not: paused
card:
type: custom:button-card
template: vacuum_service
icon: mdi:play
name: Start
tap_action:
action: call-service
service: script.deebot_clean
variables:
enabled: |
[[[
return ((!states['input_text.deebot_merlin_queue'].state ||
states['input_text.deebot_merlin_queue'].state.length === 0)
&& ['docked', 'idle', 'error', 'returning'].includes(entity.state))
]]]
- type: conditional
conditions:
- entity: vacuum.merlin
state: cleaning
card:
type: custom:button-card
color: auto
icon: mdi:pause
name: Pause
tap_action:
action: call-service
service: vacuum.pause
service_data:
entity_id: vacuum.merlin
styles:
card:
- height: 80px
- background-color: var(-color)
- type: conditional
conditions:
- entity: vacuum.merlin
state: paused
card:
type: custom:button-card
color: auto
icon: mdi:play-pause
name: Resume
tap_action:
action: call-service
service: vacuum.start
service_data:
entity_id: vacuum.merlin
styles:
card:
- height: 80px
- background-color: var(-color)
- type: custom:button-card
template: vacuum_service
icon: mdi:stop
name: Stop
tap_action:
service: vacuum.stop
variables:
enabled: |
[[[
return !(['cleaning', 'paused', 'returning'].includes(entity.state))
]]]
- type: horizontal-stack
cards:
- type: custom:button-card
template: vacuum_service
icon: mdi:home-map-marker
name: Retour station de charge
tap_action:
service: vacuum.return_to_base
variables:
enabled: |
[[[
return ['docked', 'returning'].includes(entity.state)
]]]
- type: custom:button-card
color: auto
icon: mdi:map-marker
name: Localisation
tap_action:
action: call-service
service: vacuum.locate
service_data:
entity_id: vacuum.merlin
styles:
card:
- height: 80px
- background-color: var(-color)
- show_state: false
show_name: false
camera_view: auto
type: picture-entity
entity: camera.merlin_live_map
tap_action:
action: none
hold_action:
action: none
Je n’arrive pas du tout à remonter le nom des pièces …
Je viens de revérifier, impossible.
Pour cela il faut que tu crée ce template sensor. Il faut impérativement changer le nom de mes pieces par les tiennes + changer merlin par le nom de ton robot. Attention le input_text.deebot_nomdetonrobot_queue doit etre créé dans HA → paramètres → appareil et services → entrées → créé une entrée → texte si vraiment ca ne va pas, envoie moi le nom de tes pieces et de ton robot et je te ferai le fichier.
template:
unique_id: deebot_merlin_queue
trigger:
- platform: state
entity_id: input_text.deebot_merlin_queue
sensor:
# Add for each room the following. Change room_name accordingly
- unique_id: deebot_merlin_queue_living_room
name: deebot_merlin_queue_living_room
# room_name must match the room name provided by the vacuum
state: >
{% set room_name = "living_room" %}
{% set queue = trigger.to_state.state.split(",") %}
{{ queue.index(room_name)+1 if room_name in queue else 0 }}
- unique_id: deebot_merlin_queue_kitchen
name: deebot_merlin_queue_kitchen
# room_name must match the room name provided by the vacuum
state: >
{% set room_name = "kitchen" %}
{% set queue = trigger.to_state.state.split(",") %}
{{ queue.index(room_name)+1 if room_name in queue else 0 }}
- unique_id: deebot_merlin_queue_default
name: deebot_merlin_queue_default
# room_name must match the room name provided by the vacuum
state: >
{% set room_name = "default" %}
{% set queue = trigger.to_state.state.split(",") %}
{{ queue.index(room_name)+1 if room_name in queue else 0 }}
- unique_id: deebot_merlin_queue_dining_room
name: deebot_merlin_queue_dining_room
# room_name must match the room name provided by the vacuum
state: >
{% set room_name = "dining_room" %}
{% set queue = trigger.to_state.state.split(",") %}
{{ queue.index(room_name)+1 if room_name in queue else 0 }}
- unique_id: deebot_merlin_queue_bedroom
name: deebot_merlin_queue_bedroom
# room_name must match the room name provided by the vacuum
state: >
{% set room_name = "bedroom" %}
{% set queue = trigger.to_state.state.split(",") %}
{{ queue.index(room_name)+1 if room_name in queue else 0 }}
Salut @Seth3d85,
J’ai bien tout cela.
En fait, je pense que mon problème provient du nom des pièces configurées dans l’appli du robot. Je ne peux pas donner le nom que je souhaite (appli ecovacshome sur iphone).
J’ai donc sélectionné pour chaque zone les noms préprogrammés (Salon, Chambre…).
Si je remplace « living_room » par « salon », cela ne fonctionne pas.
Quand je regarde la carte du robot je vois ceci :

As-tu la même chose ?
Merci.
J’ai la même application sur mon iPhone, en faite dans l’application tu sait leur donner le nom que tu veux mais dans HA ce nom sera toujours en anglais. Et les pièces avec un - à la place du nom dans HA c’est parce que il y a plusieurs pièces avec le même logo. Tu dois aller dans cartographie —> modifier les zones —> cliquer sur là pièces que tu veux —> étiquettes et là chaque pièce doit avoir un nom et une icône différentes. Et après ça tu recharges ton intégration Ecovacs sur HA et tu regarde si les attributs ont bien changé.
Et dans HA tu dois utiliser les noms anglais comme écrit dans les attributs
Salut,
Merci pour tes explications.
Ce n’est pas la même application/visuel car moi je ne peux pas éditer le nom des pièces.
Le problème principal vient de là.
J’ai déjà essayé de sélectionner la pièce “Salon” et d’indiquer “living_room” et ça n’a pas marché …
Peux-tu me faire un screen de ton application iOS ?
Je vois que tu dois appuyer sur la zone pour modifier l’etiquette donc tu dois avoir moyen de leurs donner un nom prédéfini même si il ne s’affiche pas sur ton plan et au moins il auront tous un « nom » différents.
Je te confirme que c’est ce que j’ai fait.
Si je mets le nom prédéfini “Salon” sur l’appli, si j’utilise “living-room” dans la configuration HA, cela ne semble pas fonctionner.
Je regarderai encore une fois ce week-end, peut-être en rechargeant l’intégration.