Domotizzare un robot aspirapolvere non-domotico con Broadlink e Home Assistant

13 minuti di lettura
SCOPI DEL PROGETTO:
  • Domotizzare un robot aspirapolvere non-domotico tramite Broadlink e Home Assistant
  • Livello di difficoltà: medio
  • Costo: ridotto (<20 € usando Broadlink RM Mini 3)
CONCETTI AFFRONTATI:
COMPONENTI SOFTWARE UTILIZZATE:
DISPOSITIVI FISICI UTILIZZATI:
  • Un robot aspirapolvere/lavapavimenti controllato tramite proprio telecomando infrarossi
  • Uno o più Broadlink RM Mini 3 (o Broadlink equivalente con emettitore infrarosso)
PROGETTO MAGGIORMENTE INDICATO PER:

Tutti gli ambienti

Note e disclaimer
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato;
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (la presente guida ha puro scopo didattico);
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere la garanzia.
Revisione progetto: 1.1

Robot Aspirapolvere su parquet

Abstract

I robot aspirapolvere (e/o lavapavimenti) sono delle appliance domestiche sempre più apprezzate nelle nostre case: fanno infatti le pulizie per noi, o quantomeno ci sgravano dalla necessità di rimuovere quotidianamente polvere e detriti dai nostri pavimenti. Molti soggetti allergici – e non solo – beneficiano di questa nuova tecnologia che si fa ogni giorno più evoluta: robot che sanno riconoscere i dislivelli e le diverse tipologie di superficie, scanner laser per riconoscere ed evitare gli ostacoli, motori di aspirazione sempre più potenti, filtri HEPA e molto altro ancora.

La gamma dei prezzi varia molto: da unità acquistabili con una spesa sotto i 100 euro si può arrivare anche a prezzi che si avvicinano ai 1000: questi ultimi modelli dispongono del non-plus-ultra della tecnologia robotica, inclusa – spesso – la possibilità di controllare il dispositivo tramite cellulare. Tutti, invece, condividono solitamente un elemento semplice ma potente: un telecomando infrarossi.

La comodità di controllare un robot aspirapolvere tramite cellulare/tablet/computer è evidente: non solo programmare l’unità è particolarmente semplice ed agevole, ma spesso consente anche di avviare (anche automaticamente) la pulizia in assenza degli inquilini, annullando così il fastidio di avere un oggetto semovente – a volte rumoroso – per casa. Purtroppo, di base, queste funzionalità sono presenti solo nei più costosi modelli top di gamma.

Telecomando robot aspirapolvere
un esempio di telecomando.

Il presente progetto illustrerà come riuscire a domotizzare un robot aspirapolvere non-domotico (ovvero non dotato di fabbrica delle capacità di collegarsi alla Wi-Fi ed essere controllato tramite app e tutto ciò che ne consegue) al fine di poterne gestire il comportamento in modo manuale e/o automatico tramite la propria domotica personale basata su Home Assistant.

N.b Questo progetto, per essere attuato, prevede da parte dell’utente un minimo di cultura sul protocollo MQTT e sul funzionamento Node-RED. In merito a quest’ultimo tema specifico, consigliamo la lettura di questo progetto.

Si parte

Logica del progetto

Partiamo da un elementare sillogismo. Dato che:

  • Home Assistant è il nostro “ponte di comando” per il controllo della domotica (non sai cos’è? guarda, è fatto così);
  • Home Assistant, tramite un attuatore Broadlink (eg. RM Mini 3) può inviare segnali infrarossi/radiofrequenza;
  • il robot aspirapolvere e/o lavapavimento è controllabile tramite i segnali infrarossi del proprio telecomando,

è di conseguenza possibile controllare il robot attraverso Home Assistant, integrandolo così al resto della domoticaautomazioni incluse.

Per tradurre questo sillogismo in fatti concreti abbiamo bisogno di un elemento che “traduca” i comandi da Home Assistant in segnali infrarossi – in pratica, che sostituisca la nostra mano e il telecomando del robot.
Per provvedere a questa funzione ci verrà in aiuto, ancora una volta, quella magia applicativa che è Node-RED.

Ciò che andremo a realizzare sarà:

  • definire un’entità “Vacuum” utilizzando la piattaforma “MQTT Vacuum“;
  • attivare il servizio broadlink.send presso Home Assistant;
  • definire, tramite, Node-RED un “dispositivo virtuale” il quale traduca i comandi MQTT inviati Home Assistant (tramite l’entità “Vaccum” di cui sopra) in chiamate al servizio broadlink.send al fine di inviare i codici infrarossi.

Assunzioni

In questo progetto si assume che (maggiori spiegazioni a seguire):

  • Home Assistant sia installato e funzionante;
  • la configurazione del client MQTT su Home Assistant sia operativa;
  • il broker MQTT sia operativo;
  • Node-RED sia operativo.

Per utenti HASSIO, la configurazione MQTT (client+broker) è spiegata qui.
Per gli utenti Home Assistant come applicativo su sistemi operativi diversi, la configurazione è spiegata qui.

N.b. Per chiarimenti sul tema MQTT si consiglia di leggere la guida dedicata alla configurazione del protocollo MQTT per la propria domotica.

Per quanto riguarda Node-RED, gli utenti HASSIO possono installarlo come semplice add-on, mentre per gli utenti Home Assistant@Raspbian possono seguire questa guida.

Analisi

La prima cosa da fare è analizzare il telecomando del robot aspirapolvere (e/o lavapavimenti che sia).

Ogni appliance di questo tipo, infatti, prevede diverse funzioni legate al suo livello di evoluzione; le funzioni più tipiche sono l’avvio della pulizia in varie modalità (normale, pulizia spot, pulizia perimetri/bordi eccetera), l’interruzione della pulizia, il parcheggio automatico alla propria stazione di ricarica ed altro.

Quel che è necessario fare è “mappare” queste funzioni con i comandi effettivamente gestibili dall’entità modellabile tramite la piattaforma “MQTT Vacuum” di Home Assistant, i quali sono:

  • start – avvio pulizia
  • pause – interruzione temporanea della pulizia
  • return_home – ritorno alla base di ricarica
  • stop – interruzione della pulizia
  • clean_spot – avvio pulizia su un punto predeterminato della casa
  • locate – localizza il robot (solitamente tramite riproduzione da parte sua di un suono)
  • status – stato del robot

Inoltre è prevista anche la funzionalità “send_command“, la quale permette – solo programmaticamente e non da interfaccia Home Assistant – di inviare comandi personalizzati (la vedremo in chiusura di progetto).

Per effettuare la mappatura è necessario prendere come riferimento il telecomando del robot e cercare di capire quali tasti si avvicinino o corrispondano a una delle funzioni elencate sopra.

Home Assistant

Definire l’entità

Per questo progetto assumeremo (a mo’ di esempio) che il nostro telecomando – e quindi il nostro robot – supporti le seguenti quattro funzioni:

Funzione telecomandoFunzione componente “MQTT Vacuum”Payload MQTT
Pulisci la stanzastartstart
Interrompi la puliziastopstop
Torna alla basereturn_homereturn_to_base
Pulisci il perimetro*clean_spotclean_spot

*Dato che “MQTT Vacuum” non prevede la funzione “pulisci perimetro”, per scelta arbitraria mapperemo questa funzione con la funzione clean_spot“.

A questo punto il codice da aggiungere in configurazione su Home Assistant sarà:

vacuum:
  - platform: mqtt
    name: "ROBOT Aspirapolvere"
    schema: state
    supported_features:
      - start
      - stop
      - return_home
      - clean_spot
      - status
    command_topic: "vacuum/command"
    state_topic: "vacuum/state"

Dopo il riavvio di Home Assistant, una nuova entità sarà apparsa su Home Assistant: vacuum.robot_aspirapolvere la quale, presso il frontend Lovelace, apparirà grossomodo così:

Home Assistant - Vacuum

A questo punto ogni azione attuata su tale entità innescherà la pubblicazione di topic MQTT verso il broker, topic che intercetteremo con Node-RED in modo da trasformarli in impulsi infrarossi inviati tramite uno o più attuatori Broadlink e in topic MQTT telemetrici di ritorno, a conferma dell’esecuzione dell’azione.

API

È necessario che il servizio API di Home Assistant sia operativo – con relativa password al seguito.
Per far ciò è necessario che in configurazione sia presente un blocco analogo al seguente:

auth_providers:
  - type: homeassistant
  - type: legacy_api_password
    api_password: propria_password_api

Se non presente, aggiungere tale bocco – provvedendo a personalizzare la password – e riavviare Home Assistant.

Servizio “Broadlink”

A questo punto è necessario che i servizi “broadlin.send” e “broadlink.learn” siano presenti su Home Assistant. Per farlo è necessario, in breve, che:

  • l’unità (o le unità) Broadlink sia configurate sulla Wi-Fi domestica;
  • la configurazione presso Home Assistant sia stata opportunamente effettuata.

Sarebbe ridondante riportare qui ciò che è descritto nel dettaglio nella guida di implementazione del Broadlink presso Home Assistant. Qualora non si fosse già provveduto a configurare sia il Broadlink che il relativo componente presso Home Assistant, la guida di riferimento è questa:

Componente Home Assistant “Broadlink”

Cattura dei codici

Arrivati a questo punto sarà necessario catturare i codici infrarossi relativi ai tasti del telecomando del robot che si prevede di integrare.

N.b. Talvolta potrebbe non essere necessario catturarli: presso il nostro archivio collaborativo potrebbero già essere disponibili oppure, tramite una ricerca Google, presso qualche altro sito.

Qualora non fossero disponibili “preconfezionati” sarà dunque necessario catturarli.
Le tecniche sono avariate e sono descritte qui. Dopo aver catturato i tasti del telecomando che si è deciso di utilizzare per il progetto, metterli da parte (e ricordarsi, magari, di metterli a disposizione della community!).

Home Assistant su Node-RED

Affinché il progetto possa essere attuato è necessario dotare il proprio Node-RED dei nodi aggiuntivi necessari per collegare Node-RED a Home Assistant. Per far ciò è necessario installare il pacchetto “Node-RED integration with Home Assistant through the WebSocket and HTTP API“.

Per installarlo su Raspbian, il comando è semplicissimo:

cd ~/.node-red
sudo npm install node-red-contrib-home-assistant-websocket
sudo systemctl restart nodered.service

Per gli utenti HASSIO che abbiano implementato Node-RED come add-on la cosa è ancora più facile: non c’è bisogno di far nulla. I sopracitati nodi sono infatti già disponibili a bordo.

Node-RED

Ora che Home Assistant è stato configurato (sia per l’integrazione del componente “MQTT Vacuum” sia “Broadlink”) e che siamo nella disponibilità dei codici infrarossi necessari, quel che dobbiamo fare in ultimo è realizzare, tramite Node-RED, una black-box tale da trasformare i comandi MQTT provenienti dall’entità definita su Home Assistant in un invio di codici infrarossi e di relativi topic MQTT telemetrici di risposta (di avvenuta esecuzione della sequenza).

Per far questo utilizzeremo la tecnica già precedentemente descritta presso “Trasformare più elementi MQTT in un unico dispositivo virtuale tramite Node-RED” guida che si consiglia vivamente di leggere prima di proseguire oltre. Quel che segue ricalca quella guida, ma dà per scontato che i concetti che sono alla base si siano già fatti propri, almeno sul piano teorico.

Realizzeremo pertanto dei flussi su Node-RED tali da gestire le seguenti sequenze di azioni (basandoci sull’esempio che portiamo avanti nel progetto, ma che andranno eventualmente personalizzate) a partire dalla ricezione dei topic inviati da Home Assistant:

Topic MQTT inviato da Home AssistantAzioneTopic telemetrico MQTT di risposta
vacuum/command startinvio codice che avvia la puliziavacuum/state cleaning
vacuum/command stopinvio codice che interrompe la puliziavacuum/state idle
vacuum/command return_to_baseinvio codice che comunica al robot di tornare alla base di ricaricavacuum/state docked*
vacuum/command clean_spotinvio codice che interrompe la pulizia in un punto specificovacuum/state cleaning

*vedi, in fondo al progetto, il paragrafo “perfezionamenti“.

Apriamo dunque Node-RED e, in alto a destra, premeremo su “+” per creare un nuovo flusso che chiameremo “Flow 1” (o come meglio si crede).

La colonna a sinistra rappresenta l’elenco delle tipologie di “nodi” disponibili. Cerchiamo e troviamo nell’elenco (sotto la voce “Input”) un nodo “mqtt in“:

Node-RED - Flusso domotica>dispositivi - mqtt in

trasciniamolo nello spazio vuoto della dashboard e clicchiamoci sopra due volte per aprire sulla destra la dialog box relativa alla sua configurazione, denominata “Edit mqtt in node“:

Node-RED - Flusso domotica>dispositivi - mqtt in - dettagli

A questo punto è necessario indicare:

  • a quale server (broker MQTT) collegarsi (se Node-RED è in esecuzione sul medesimo computer di Home Assistant, indicare “127.0.0.1”);
  • a quale topic iscriversi, ovvero su quale topic “far stare in ascolto” il nostro nodo.

Iniziamo col definire un nuovo server (broker mqtt).
Clicchiamo su “Add new mqtt:broker“:

Node-RED - Flusso domotica>dispositivi - mqtt in - edit broker

Nel campo “Name” indichiamo un nome qualunque, nel caso dell’esempio “Mosquitto LOCAL” (per per caso il broker in uso sia Mosquitto, magari installato sullo stesso computer in cui è in esecuzione Node-RED).

indichiamo poi, alla voce “Server“, l’IP del broker (se è in esecuzione sullo stesso computer di Node_RED, ovviamente indicheremo “127.0.0.1“, altrimenti l’IP del nostro broker esterno a Node-RED). Indicheremo poi la porta ed eventuali credenziali d’accesso presso la tab “Security“.

Al termine della configurazione, clicchiamo su “Update“.

Tornati alla dialog “Edit mqtt in node” è il momento di indicare al nodo “mqtt ip” appena aggiunto alla dashboard quale topic monitorare.

Nel campo “topic” inseriremo quindi il topic che utilizzeremo per comandare sul piano logico il nostro dispositivo virtuale, ovvero (come da configurazione dell’esempio):

vacuum/command

Impostiamo QoS a “1” e, nel campo “Name“, sempre “vacuum/command“.
Al termine della configurazione, clicchiamo su “Done” per tornare alla dashboard.

Se tutto è corretto, il nodo “mqtt in” acquisirà nome “vacuum/command” e sparirà il triangolo rosso, segno che la connessione verso l’MQTT Broker sia andata a buon fine.

Ora è necessario identificare e trascinare in dashboard un nodo di tipo “Switch“:

Node-RED-Flusso-domoticadispositivi-switch

il quale, in sostanza, permette di introdurre delle logiche condizionali.

Una volta posizionato il nuovo nodo sulla dashboard, lo colleghiamo al primo nodo trascinando il circolo grigio posto sul lato destro del primo (l’output) al circoletto grigio posto sul lato sinistro del nodo del secondo (l’input).

Clicchiamo ora due volte sul nodo appena trascinato per aprire la relativa dialog box di configurazione chiamata “Edit switch node“: qui definiremo il nome del nodo, quale proprietà “valutare” al suo ingresso, infine quale condizione considerare corretta.

Nel campo nome indichiamo “AZIONE” lasciando invariata la proprietà da valutare in ingresso (ovvero msg.payload); nel riquadro sotto “Property” indichiamo poi quattro condizioni valorizzate rispettivamente “start” e “stop“, “return_to_base” e “clean_spot” (ovvero i payload che ci aspettiamo arrivino da Home Assistant insieme al topic vacuum/command)

Node-RED-Flusso-domoticadispositivi-switch-condizioni

Clicchiamo infine su “Done“.

A questo punto Node-RED avrà modificato il nodo switch (“AZIONE“) fornendogli quattro uscite (quattro pallini grigi sul bordo destro del nodo stesso), le quali rappresenteranno i due punti d’uscita (output) presso il quale il flusso si canalizzerà in base al payload.

In primo pallino grigio in alto rappresenta l’uscita in caso presenza di payload “start“, il secondo “stop“, il terzo “return_to_base” e infine il quarto, “clean_spot“.

Arrivati qui è necessario identificare il nodo di tipo “call service” nel sottoinsieme dei nodi “Home Assistant“. Trascinarne quattro in dashboard e collegarne l’input ai quattro output del nodo “AZIONE” (uno per ciascuno):

Node-RED - Flusso azione - call service HA

Come si nota è presente un triangolo rosso su ciascuno: questo perché il nodo non è ancora stato opportunamente configurato. Quel che andremo a fare è quindi indicare a ciascun nodo “call service” quale sia l’istanza Home Assistant al quale far riferimento, quale sia il servizio da evocare (“broadlink.send“), quale sia l’attuatore Broadlink da usare e infine il codice infrarosso da fargli inviare.

Effettuare doppio clicco sul primo in alto (quello collegato al ramo relativo al payload “start“) e configurare come segue:

  • Name: Start
  • Server: Add new server…
    • Name: Home Assistant (cliccare su “I use Hass.io” in caso si usi HASSIO)
    • Base URL: l’indirizzo del proprio Home Assistant (inclusivo di “http(s)://”)
    • Access Token: la password API
    • Use Legacy Password API: sì
  • Domain: broadlink
  • Service: send
  • Data: dati strutturati spiegati a seguire

Per “dati strutturati” si intende un payload in formato JSON che contenga:

  • l’IP dell’attuatore Broadlink da usare
  • il codice infrarosso da fargli inviare.

Un esempio è il seguente:

{"host":"192.168.1.21","packet":"JTEhMSExISFBI3EjcTNxI3EjgSNxI3EwAFHAABKEoSAA0FAAAAAAAAAAA=="}

Ovviamente nel campo “packet” andrà il codice relativo al tasto che si sta andando a rappresentare, il base al flusso che stiamo definendo. Nel primo andrà quello dell’avvio pulizia, il secondo l’interruzione, nel terzo quello di ritorno alla base, nel quarto quello di pulizia di un punto preciso della casa.

Provvedere a configurare gli altri tre nodi nodi come spiegato per il primo (“Start”), variando il nome del nodo (“Stop”, “Return Home”, “Clean Spot”) e i codici infrarossi indicati nei dati strutturati del campo “Data“.

A questo punto, tra i nodi di tipologia “Function” troviamo quello di tipo “Change” e trasciniamone quattro sulla dashboard, collegandone l’input ad ognuno degli output:

Node-RED - Flusso azione - change

Effettuare doppio click su ognuno e configurarli come segue:

  • il primo dall’alto (collegato a “Start“)
    • Name: Cleaning
    • to: {“state”: “cleaning”}
  • il secondo (collegato a “Stop“)
    • Name: Idle
    • to: {“state”: “idle”}
  • il terzo (collegato a “Return Home“)
    • Name: Returned Home
    • to: {“state”: “docked”}
  • il quarto (collegato a “Clean Spot“)
    • Name: Cleaning spot
    • to: {“state”: “cleaning”}

Trattandosi il quarto sostanzialmente della stessa cosa del primo, è possibile non usarlo e collegare direttamente l’output del quarto nodo “call service” al primo nodo “change” appena creato.

N.b. così facendo l’attuatore Broadlink che invierà i codici sarà uno e uno solo. Trattandosi il robot di un’appliance che si muove autonomamente per casa è facile che servano più Broadlink per coprire più stanze. In questo caso il passaggio sopra prevederà un raddoppio, un triplicare e via così di nodi di tipo “call service” per far sì che tutti i Broadlink inviino contemporaneamente lo stesso codice. Basterà creare gruppi di nodi “call service” (i quali nodi differiscano nella configurazione solo nel campo “host” del campo “Data“, non nel campo “packet“) collegati ai singoli output del nodo “Change”.

Node-RED - Broadlink multipli
un esempio di ramificazione con più attuatori Broadlink.

Ultimo passo: far sì che i payload definiti nei nodi “change” (“cleaning“, “idle“, “docked“) vengano inviati come payload di un topic telemetrico MQTT chiamato “vacuum/state“.

A questo punto, nella lista delle tipologie di nodi, troviamo e trasciniamo in dashboard un nodo di tipo “MQTT out” e collegarne l’input ai quattro output dei quattro nodi di tipo “change” appena configurati:

Node-RED - Flusso azione - MQTT Out

effettuiamo doppio click sul nodo appena aggiunto e configuriamolo come segue:

  • Server: lo stesso indicato nel primo nodo del flusso
  • Topic: vacuum/state
  • QoS: 1
  • Name: vacuum/state

Fine!
Infine, per rendere operativo il flusso – che ora spiegheremo riassumendolo – cliccare in alto a destra il tasto “Deploy“.

Da qui in poi ogni topic di comando vacuum/command ricevuto sul broker (inviato da Home Assistant tramite l’uso dell’entità di tipo “MQTT Vacuum”, o da qualunque client MQTT ad esso collegato) che presenti un payload a scelta tra “start“, “stop“, “return_to_base” e “clean_spot” verrà tradotto nell’azione di inviare il corretto codice infrarosso e di inviare un topic telemetrico di conferma (con paylod appropiato tra “cleaning“, “idle“, “docked“) che, a sua volta, verrà ricevuto da Home Assistant, il quale lo interpreterà come un “comando eseguito”, variando di conseguenza lo stato dell’entità.

Perfezionamenti

Ritorno alla base

Il presente progetto è una versione semplificata di ciò che si può ottenere utilizzando queste tecniche miste. Banalmente, abbiamo assunto che all’invio del comando “return_to_home” l’entità assuma direttamente lo stato “Docked“, quando in realtà sarebbe stato più corretto fargli assumere lo stato “returning“, previsto dalla piattaforma “MQTT Vacuum” e, successivamente, al rilevamento dell’avvenuto docking – e solo in quel momento – variarlo a “Docked“.

Si può realizzare facilmente: è sufficiente posizionare uno strumento di rilevazione di assorbimento elettrico a monte della stazione di ricarica e, tramite tecniche come quelle descritte qui, definire un’entità “Binary Sensor” il cui stato diventi “on” quando viene rilevato un certo assorbimento (il che deduca che il robot si stia ricaricando – e quindi sia tornato alla base).

A questo punto sarebbe sufficiente definire una banale automazione su Home Automation (oppure un flusso Node-RED) che, al cambio dello stato del “Binary Sensor” (da “off” a “on“), pubblichi un topic MQTT “vacuum/state docked“; ovviamente andrebbe modificato anche il flusso principale Node-RED al fine di correggere il payload del topic telemetrico (del ramo dedicato al “Return Home”) da “docked” a “returning“.

N.b. Inoltre, dopo aver inviato il comando di avvio pulizie e lasciando l’aspirapolvere lavorare autonomamente non si potrebbe mai conoscere il termine pulizia: introdurre un “Binary Sensor” che rilevi l’assorbimento della stazione di ricarica permetterebbe di aggiornare, come spiegato sopra, lo stato da “Cleaning” a “Docked” (sempre tramite la pubblicazione di un topic MQTT “vacuum/state“).

Ulteriori perfezionamenti possono essere ottenuti tramite l’adozione della funzionalità “send_command” prevista dalla piattaforma “MQTT Vacuum”, la quale permette di inviare comandi extra i quali possono tornare utili in presenza di funzionalità evolute attivabili tramite telecomando le quali non mappino non quelle, di base, presenti sull’entità.

Percentuale carica batteria

Analogamente al “ritorno alla base”, la percentuale di carica della batteria è un parametro accettato dalla piattaforma “MQTT Vacuum“. Ovviamente anche in questo caso andrebbe utilizzato un sensore che, su base deduttiva, calcoli empiricamente la quantità di carica della batteria in base al tempo trascorso dall’ultimo “Docked”.

Uso

L’entità vacuum.robot_aspirapolvere sarà ora pienamente operativa: se si è configurato tutto correttamente, usandola tutti i comandi verranno eseguiti in modo corretto, inviando i codici infrarossi opportuni.

Ovviamente, come spiegato nell’abstract, la cosa forse più interessante del domotizzare un robot aspirapolvere è quella di poter programmare tramite le automazioni la sua attivazione/disattivazione sfruttando i servizi tipici del componente Home Assistant dal quale tale entità deriva, ovvero “Vacuum”.

Poniamo per esempio il caso di voler attivare la pulizia tutti i giorni alle 8:00 del mattino. L’automazione sarebbe a grandi linee la seguente:

automation:
  alias: "Auto-start ROBOT"
  trigger:
    platform: time
    at: '08:00:00'
  condition: []
  action:
    service: vacuum.start
    entity_id: vacuum.robot_aspirapolvere

Un’altra interessante possibilità è quella di innescare la pulizia (magari utilizzando la funzione “Clean Spot”) quando la famiglia esce di casa.

Assumendo di avere a disposizione un gruppo di entità di tipo “Device Tracker” (che determinino quindi lo stato di presenza degli inquilini) chiamato group.awesome_people, l’automazione sarebbe la seguente:

automation:
  alias: "Auto-start ROBOT"
  trigger:
    platform: state
    entity_id: group.awesome_people
    from: 'home'
  condition: []
  action:
    service: vacuum.clean_spot
    entity_id: vacuum.robot_aspirapolvere

e così via. Il limite, come sempre, è la fantasia.

Domotizzare un condizionatore tradizionale con Broadlink e Home Assistant (v2)


Home Assistant Official LogoATTENZIONE: 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.


Please comment below