Integrare robot ECOVACS DEEBOT OZMO a Home Assistant

5 minuti di lettura
Scopi della guida:
Concetti affrontati:
  • Configurazione software
Componenti software utilizzate:
Prerequisiti:
  • Home Assistant configurato e funzionante
  • Uno o più robot ECOVACS da integrare già configurato/i in Wi-Fi tramite la propria app mobile per Android e iOS
Dispositivi fisici utilizzati:
GUIDA maggiormente indicatA per:

Tutti gli ambienti

Note e disclaimer
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata ed realizzata SOLO da personale qualificato;
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno puro scopo didattico);
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere garanzia, omologazioni e certificazioni di qualità.
Revisione guida: 1.1

ECOVACS - Home Assistant

Abstract

I robot aspirapolvere (e lavapavimenti) sono tra le appliance domotiche ultimamente tra le più apprezzate, e capire il perché è semplice: in una vita sempre più frenetica e mai come oggi bisognosa di igiene e pulizia, sono validissimi alleati di tutti i giorni per garantire una pulizia il più possibile costante e certa.

Tra le tante soluzioni possibili, i robot della linea ECOVACS Robotics DEEBOT sono molto apprezzati per affidabilità e ampiezza delle funzioni; nello specifico, i modelli OZMO sono quelli più evoluti ed efficaci.

Va da sé che la possibilità/volontà di integrarli al proprio HUB personale Home Assistant sia un must: non solo per la possibilità di gestirne gli stati, ma anche e sopratutto per pilotarli tramite automazioni, per esempio come nel caso di voler attivare le pulizie quando si esce di casa, o molto altro – il limite, come sempre, è la fantasia.

Per far ciò è possibile sia utilizzare il componente ufficiale di Home Assistant (che vi sconsigliamo, dato che è malfunzionante o comunque incompleto), oppure dei custom component esterni all’HUB. In questa guida approfondiamo l’uso dell’ottimo custom component “Deebot-for-hass“, il quale consente, come vedremo, di integrare alla grande i robot della serie OZMO.

Assunti

Si assume che Home Assistant ovviamente sia già operativo. Si assume inoltre che lo/gli robot in questione siano già stati configurati fornendogli accesso alla propria rete Wi-Fi, cosa che può essere fatta tramite l’app ECOVACS (per Android e iOS). Ci serviranno l’username/password in uso presso tale app assieme a un’altra informazione, sempre ottenuta tramite quest’app, informazione approfondiremo in seguito.

Si assume inoltre che su Home Assistant sia già installato e funzionante il componente HACS.

ECOVACS DEEBOT OZMO

Si parte

Installare il componente

Installare il componente è un gioco da ragazzi, quando si utilizza il comodissimo HACS. Per farlo è sufficiente recarsi appunto alla voce “HACS” del menu laterale dell’interfaccia Home Assistant, cliccare in alto su “Integrazioni” e cercare “Deebot-for-hassio“.

Una volta trovato, cliccarvi sopra per accedere alla maschera tramite la quale provvedere all’installazione del componente cliccando “Install“:

Deebot-for-hassio - HACS

 

Terminata l’installazione procedere oltre con la configurazione.

ID Robot

Prima di passare alla configurazione è necessario ottenere l’ID del robot o dei robot da integrare. Per farlo, aprire l’app ECOVACS sullo smartphone, selezionare il robot da integrare, premere sui […] in alto a destra, selezionare “Impostazioni aggiuntive” e infine “Informazioni su DEEBOT“.

 

ECOVACS - ID robot

Segnarsi da parte la stringa indicata presso il campo “Numero di serie”. Quello è l’ID che ci servirà a breve.

Configurazione

Giunti a questo punto abbiamo provveduto sì a installare il componente ma non a configuralo presso l’HUB.
Per attivare il componente è sufficiente aggiungere in configurazione la seguente porzione di codice:

deebot:
  username: 
  password: 
  country: IT
  continent: EU
  deviceid:
    - ID_ROBOT
    - ID_ROBOT_2
  # - etc...
  live_map: True

Spiegazione dei campi:

username Nome utente usato presso l’app ECOVACS.
password Password usata presso l’app ECOVACS.
deviceid L’elenco di ID dei robot da integrare.
live_map Scarica dal cloud (da un URL variabile specificato nel sensore sensor.NOME_ROBOT_last_clean_image) l’immagine dell’ultima pulizia e la copia nel folder indicato nel parametro livemappath.

Terminata la configurazione, riavviare Home Assistant.

Entità

Completato il riavvio, l’HUB creerà una serie di entità molto diverse tra loro:

Nome entità Funzione
vacuum.NOME_ROBOT L’entità di tipo “Vacuum” che rappresenta l’unità robot
binary_sensor.NOME_ROBOT_mop_attached Se “on“, indica la presenza del panno/serbatoio di lavaggio.
sensor.NOME_ROBOT_brush Indica la percentuale di consumo della spazzola centrale
sensor.NOME_ROBOT_sidebrush Indica la percentuale di consumo delle spazzole laterali
sensor.NOME_ROBOT_heap
Indica la percentuale di consumo del filtro
sensor.NOME_ROBOT_last_clean_image Indica l’URL che contiene l’immagine PNG dell’ultima pulizia in termini di copertura della superficie
sensor.NOME_ROBOT_stats_area Indica i metri quadri puliti nell’ultima pulizia
sensor.NOME_ROBOT_stats_time
Indica la durata dell’ultima pulizia
sensor.NOME_ROBOT_stats_type
Indica il programma di pulizia utilizzato durante l’ultima pulizia
sensor.NOME_ROBOT_water_level Indica la regolazione di emissione acqua durante il lavaggio

Tutte queste entità ovviamente possono essere utilizzate come trigger, condition e action in automazioni ed altro. L’entità principale, vacuum.NOME_ROBOT, è quella azionabile tramite i classici servizi delle entità di tipo “Vacuum“.

Camera

Tramite l’integrazione è possibile anche definire un’entità di tipo “Camera” che consenta di visualizzare la piantina domestica valorizzata nell’ultimo lavaggio. Non è infatti possibile utilizzare direttamente l’URL contenuto nello stato dell’entità sensor.NOME_ROBOT_last_clean_image, in quanto tale URL cambia di volta in volta. Il componente, se nella configurazione viene esplicitato il valore “True” al campo “live_map“, provvede a creare una copia dell’ultima immagine della pulizia chiamandola live_map.png (che in caso di più robot integrati conterrà l’immagine dell’ultima pulizia effettuata dall’ultimo robot attivato) nonché un’immagine col nome del robot che l’ha generata (eg. “NOME_ROBOT.png“). Queste immagini vengono salvate nella cartella “www” presente all’interno della cartella che contiene i file di configurazione di Home Assistant (laddove non sia presente, va creata).

A questo puntosi potrà richiamare il file tramite il percorso:

https://casamia.duckdns.org:8123/local/live_map.png

e/o

https://casamia.duckdns.org:8123/local/NOME_ROBOT.png

dove ovviamente “casamia.duckdns.org:8123” varia in base al proprio indirizzo e porta.

Capito questo, siamo pronti a definire in configurazione la “Camera” che ci serve (o le camere, se i robot sono più di uno):

camera:
  - platform: generic
    name: "Ultima pulizia"
    still_image_url: "https://casamia.duckdns.org:8123/local/live_map.png" 

Ovviamente il campo still_image_url potrà essere valorizzato o con l’ultima immagine utile disponibile (“live_map.png“) oppure conl’immagine specifica del robot d’interesse (“NOME_ROBOT.png“).

Questa configurazione genererà un’entità chiamata camera.ultima_pulizia (il nome varia in base al name impostato in configurazione).
Infine, definire una “card” per visualizzare il contenuto sul frontend Lovelace UI è quanto di più facile:

type: picture-entity
entity: vacuum.ambrogio
aspect_ratio: 50%
camera_image: camera.ultima_pulizia 

configurazione che genera qualcosa di analogo:

ECOVACS - Home Assistant - Card ultima pulizia
un esempio di card.

Comandare il robot

Ora chiaramente è il momento di iniziare utilizzare il robot tramite Home Assistant. L’interfaccia presso Lovelace dell’entità di tipo “Vacuum” è abbastanza parlante:

ECOVACS - Home Assistant - Entità vacuum

basterà quindi operare sui comandi per far partire l’aspirapolvere nelle varie modalità.

Ciò che è però veramente interessante è la possibilità di comandare il robot tramite servizi, nello specifico usando il servizio vacuum.send_command. Per esempio:

# Pulisci area specifica
entity_id: vacuum.NOME_ROBOT
command: spot_area
params:
  rooms: 10,14
  cleanings: 1

consente di pulire una o più stanze specifiche, selezionando tali stanze (“rooms“, vedi dettagli dell’entità presso interfaccia Lovelace per scoprire i numeri delle stanze) e il numero di passaggi (“cleanings“).


# Pulizia custom
entity_id: vacuum.NOME_ROBOT
command: custom_area
params:
  coordinates: -1339,-1511,296,-2587 

Consente di pulire indicando un quadrilatero preciso sulla superficie di casa.


# Imposta l'emissione d'acqua
entity_id: vacuum.NOME_ROBOT
command: set_water
params:
  amount: ultrahigh

Permette di regolare l’emissione d’acqua durante il lavaggio (valori accettati: low|medium|high|ultrahigh).


# Pulizia standard
entity_id: vacuum.NOME_ROBOT
command: clean
params:
  type: auto

Permette di avviare la pulizia in modalità auto. E così via.


Pulire automaticamente casa quando si esce tramite la domotica di Home Assistant


Home Assistant Official Logo ATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica a Home Assistant, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.


Telegram News Channel