Come aggiungere interruttori e sensori Sonoff a Home Assistant

5 minuti di lettura
SCOPI DELLA GUIDA:
  • Spiegare le basi per ottenere l’integrazione dei componenti della famiglia ITEAD “Sonoff Smart Home”
  • Livello di difficoltà: medio/basso
CONCETTI AFFRONTATI:
  • installazione e configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
  • Varie
Prerequisiti
DISPOSITIVI FISICI UTILIZZATI:
GUIDA MAGGIORMENTE INDICATA 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 guida: 1.0

Abstract

– Com’è noto gli attuatori/sensori della famiglia ITEAD “Sonoff Smart Home” sono tra i componenti domotici più in voga, complice il basso costo, la grande versatilità e, ultima ma non certo meno importante (anzi), l’alto grado di integrabilità domotica.

ITEAD Sonoff Basic

Tale integrabilità domotica (verso gli HUB personali come Home Assistant, Homebridge ecc.) si esprime nella possibilità di astrarre l’attuatore/sensore dalla sua realtà operativa (oggetto fisico e app eWeLink del produttore) per renderlo uno (o più) dei (tanti) mattoncini che compongono la propria domotica personale.

Si pensi a un Sonoff utilizzato come contatto pulito nel progetto per creare, su Home Assistant, un vero e proprio termostato: in questo caso l’elemento smette di essere un semplice interruttore acceso/spento ma diventa piuttosto parte di un dispositivo virtuale più complesso.

Ciò che è importante, quindi – dopo essersi dotati di un salvifico HUB personale – è integrare i nostri Sonoff come elementi atomici della nostra domotica. Per farlo, le strade sono essenzialmente due:

  1. utilizzare un custom component esterno ad Home Assistant dedicato all’integrazione dei Sonoff;
  2. modificare il firmware del componente Sonoff al fine di utilizzare il protocollo MQTT.

Custom component

In rete esiste un custom component (quindi un componente non ufficiale per Home Assistant) facilmente installabile il quale permette, tramite una configurazione elementare

sonoff:
  username: [email or phone number]
  password: [password]
  scan_interval: 60 (optional)
  grace_period: 600 (optional)
  api_region: 'eu' (optional)

di integrare i più comuni modelli di Sonoff così come arrivano dalla fabbrica.
Tale approccio utilizza il cloud cinese del produttore ITEAD (sul quale opera l’applicazione eWeLink nativa) quale ponte per far comunicare con Home Assistant con il/i dispositivo/i Sonoff.

Questo approccio funziona, ma non è il massimo per una serie di motivi non secondari:

  • SICUREZZA:
    • Tutti i Sonoff sono pubblicati ed “esposti” presso il cloud cinese del produttore. In caso il nostro account (o il cloud stesso) venga compromesso da malintenzionati, verrebbero compromessi di conseguenza i nostri attuatori/sensori. Immaginiamo di averli utilizzati per domotizzare allarmi, cancelli automatici… non proprio il massimo della vita.
    • Non sappiamo se il traffico da e per il cloud cinese sia coperto da cifratura. In caso non lo sia, tale traffico potrebbe essere sniffato, riportandoci nella condizione del punto precedente.
  • PRESTAZIONI:
    • Ogni comando inviato tramite Home Assistant verso il/i Sonoff viene inviato prima al cloud Cinese, il quale a sua volta lo girerà verso il componente. Questo introduce una latenza – talvolta anche importante, in base alle condizioni della rete – tra il comando e l’esecuzione dello stesso, il che può essere fastidioso (se non, talvolta, problematico).
    • In caso il cloud del produttore sia off-line – e/o lo sia il nostro modem Internet – non sarà possibile, ovviamente, eseguire alcun comando o ricevere alcuna telemetria dai nostri attuatori/sensori Sonoff.
  • FUNZIONALITÀ:
    • Senza alcuna modifica, le funzionalità dei vari attuatori/sensori sono limitate a quelle fornite dal produttore. Scordiamoci di configurare risparmio energetico, blinking o altre funzioni e personalizzazioni offerte da firmware come Sonoff-Tasmota.
    • Trattandosi di un custom component, il suo funzionamento sarà garantito finché Home Assistant, in qualche suo aggiornamento, non cambi eventualmente qualche carta in tavola. Questo porterebbe alla spiacevole condizioni di vedere smettere di funzionare l’integrazione, condizione risolvibile o rimuovendo l’aggiornamento Home Assistant, oppure attendendo, per farlo, che tale componente venga aggiornato dallo sviluppatore.

Pur rispettando e apprezzando il lavoro di chi ha realizzato tale componente, non caldeggiamo questo approccio di integrazione, rimanendo per la sana e ormai tradizionale riprogrammazione del firmware.

MQTT

La semplice operazione di adottare firmware quali il Sonoff-Tasmota o l’ESPurna (o altri) aprono i dispositivi Sonoff Smart Home (e non solo) a un mondo di funzionalità e personalizzazioni diverse, la prima delle quali è l’adozione del protocollo MQTT.

Vediamo i benefici in dote all’adozione di firmware alternativi e quindi MQTT:

  • il traffico da e per i nostri componenti è interno alla nostra rete privata, pertanto non si utilizza il cloud del produttore, la sicurezza è garantita, le prestazioni di risposta degli attuatori/sensori sono massime;
  • è possibile beneficiare dell’alto grado di personalizzazione previsto da tal firmware;
  • il tutto funziona a prescindere dall’HUB personale, dal funzionamento della rete Internet, dal cloud del produttore.

La quasi totalità dei dispositivi Sonoff sono interruttori intelligenti, alcuni dei quali dotati di funzionalità aggiuntive come, appunto, telemetrie sensoristiche (temperature, assorbimenti ecc.).

Quindi, in risposta al titolo del presente FOCUS, come integriamo attuatori e sensori Sonoff a Home Assistant?

In primis è importante capire come MQTT funzioni; per far questo, è importante la lettura di questa scheda scritta appositamente per capire il ruolo del broker MQTT all’interno della propria rete – a prescindere dai Sonoff modificati o altri componenti che supportino MQTT.

Per implementare il broker :

Implementato il proprio broker e configurati i Sonoff (già riprogrammati) sulla base di quanto spiegato nella scheda di cui sopra, siamo pronti ad integrarli su Home Assistant.

INTERRUTTORI Sonoff

Una volta implementato MQTT presso Home Assistant, per integrare un Sonoff all’HUB sarà necessario semplicemente osservare il Sonoff e domandarsi quali siano le sue funzionalità.

Nel caso, per esempio, del Sonoff Basic – uno switch singolo canale – l’unica funzione disponibile sarà quella di interruttore, pertanto ciò che ci interesserà sarà quella di implementare un’entità di tipo “MQTT Switch“, per esempio:

switch:
  - platform: mqtt
    name: "Sonoff",
    command_topic: "cmnd/Sonoff/POWER"

ITEAD Sonoff 4ch - R1QUALSIASI altro modello Sonoff che possegga uno o più interruttori intelligenti potrà quindi essere integrato in questo modo. L’attuatore Sonoff 4ch, il quale possiede ben quattro interruttori, verrà “visto” da Home Assistant come quattro switch a sé stanti, pertanto verrà configurato con tante entry quanti sono gli attuatori (e altrettanti command_topic); eventuali comportamenti particolari (inching, self-lock ecc.) verranno impostati direttamente sul dispositivo, così che quando l’HUB personale agirà tramite comandi MQTT su uno o più canali, quelli si comporteranno in autonomia in base alla configurazione interna del dispositivo.

Concludendo: qualsiasi interruttore Sonoff dotato di MQTT viene integrato su Home Assistant, di base, come semplice interruttore MQTT.

SENSORI Sonoff

ITEAD Sonoff TH-16

Prendiamo il caso di un Sonoff TH-16: tale attuatore presenta (oltre all’interruttore a singolo canale che lo rende simile a un Sonoff Basic) un sensore di temperatura o temperatura/umidità (in base al modello di sensore collegato).

Pertanto, non solo potrò usarlo come interruttore intelligente (configurandolo come switch, come da paragrafo precedente), ma anche – allo stesso tempo – come sensore.

Il tema sensoristica ovviamente è articolato, perché a differenza degli switch (che sono più o meno sempre la stessa cosa), i sensori possono essere molto diversi tra loro. Nel caso di un sensore termico, la configurazione a grandi linee è questa:

sensor:
  - platform: mqtt
    name: "Temperatura"
    state_topic: "topic_telemetrico_MQTT_relativo_al_vostro_sensore"
    unit_of_measurement: "°C"
    qos: 1
    value_template: "stringa_template_JSON_relativo_al_vostro_sensore

La spiegazione completa è disponibile su questa guida di dettaglio.


Sonoff POW R1 - EsternoNel caso di sensori di diversa natura come quello presente a bordo del Sonoff POW, l’integrazione è simile ma non certo uguale.
Il POW, infatti è in grado di fornire le letture di assorbimento elettrico del carico applicato all’uscita del suo interruttore intelligente, oltre appunto a funzionare da interruttore.

Una configurazione puramente esemplificativa è questa:

sensor:
  - platform: mqtt
    name: "Assorbimento istantaneo"
    state_topic: "tele/SonoffPOW/SENSOR"
    value_template: "{{value_json['ENERGY'].Power }}"
    unit_of_measurement: "Watt"

Questo Sonoff, in realtà (sopratutto la versione R2), può fornire molte più informazioni, le quali sono disponibili, in dettaglio, su questa guida.

ITEAD Sonoff 4ch – 4ch PRO (R1 e R2)


ITEAD Sonoff BasicATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica ai Sonoff (e più generalmente ai dispositivi ESP8266), per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.

🔻 Clicca QUI per commentare l'articolo. 🔻