Sonoff eWeLink Home Assistant: guida completa in italiano

Sonoff eWeLink Home Assistant: guida completa in italiano

Vi siete appassionati all’utilizzo di Home Assistant e volete gestire anche i vostri dispositivi smart Sonoff compatibili eWeLink? Scopri i vantaggi e come fare ad avere i Sonoff su Home Asssistant nella mia guida completa in italiano.

Gestione dei dispositivi Sonoff

Sonoff è sicuramente uno dei marchi più popolari di dispositivi intelligenti per la domotica fai da te a basso costo. Nella vasta gamma di prodotti dell’azienda cinese ITead potete trovare soluzioni smart con connettività WiFi, Zigbee e radio:

  • interruttori smart e misuratori di consumi elettrici
  • sensori intelligenti di temperatura, umidità, movimento e contatto
  • lampadine e strisce LED
  • pannelli touch di controllo
  • telecamere WiFi

Per approfondire puoi leggere tutti i miei articoli su Sonoff.

Tutti i dispositivi Sonoff sono dotati di firmware compatibile con la piattaforma eWeLink, dell’azienda cinese CoolKit, che consente la gestione remota dei device nelle modalità seguenti:

  • app eWeLink per smartphone Android e iOS
  • comandi vocali mediante assistenti intelligenti Alexa e Google Home
  • browser mediante la versione web di eWeLink
Piattaforma eWeLink: app, assistenti vocali, web

Per comprendere meglio l’architettura tecnica sottostante ad un sistema di domotica Sonoff eWeLink, possiamo rappresentare i flussi di comunicazione che intervengono tra i vari componenti:

Architettura di funzionamento Sonoff eWeLink

Come si intuisce dallo schema, oltre ai dispositivi intelligenti Sonoff veri e propri, ci sono diversi elementi chiave per il corretto funzionamento del sistema:

  • disponibilità e performance dei servizi cloud eWeLink
  • connettività internet e router WiFi della nostra abitazione
  • disponibilità dell’hub gateway Zigbee per i dispositivi Sonoff con tale tipologia di connettività

Come si intuisce abbastanza facilmente potrebbe bastare l’indisponibilità, anche solo temporanea, della nostra connessione ad internet o dei servizi cloud eWeLink perché i nostri dispositivi smart Sonoff non siano più gestibili appieno e possano interagire tra di loro mediante scenari di automazione. Scenario alquanto fastidioso nel caso il problema si protragga per molte ore. Leggi anche il mio articolo su Sonoff non in linea.

Per approfondire puoi leggere anche i miei articoli su eWeLink.

Sicuramente l’utilizzo della piattaforma CoolKit eWeLink è sufficiente per la stragrande maggioranza degli utilizzatori “ordinari” ma pone sicuramente qualche vincolo nella modalità di gestione di un sistema di domotica Sonoff:

  • disponibilità, performance e sicurezza connessione internet domestica e servizi cloud eWeLink
  • impossibilità di collezione e visualizzazione dei dati misurati dai sensori ed i loro trend
  • assenza di strumenti di gestione universali e compatibili con altre soluzioni di domotica (Shelly, Tuya Smart Life, Philips Hue, Netatmo, etc)

Alcune delle soluzioni alternative più popolari sono valide ma non riescono a superare tutti i vincoli precedenti:

  • Alexa, Google Home ed IFTTT che permettono di integrare sistemi di domotica eterogenei tramite i servizi in cloud eWeLink ma non hanno strumenti di gestione avanzate o raccolta dati
  • Tasmota: firmware alternativo che consente la gestione totalmente tramite rete locale dei dispositivi Sonoff ma è carente sotto tutti gli altri aspetti; leggi eventualmente il mio articolo su Sonoff + Tasmosta

Per fortuna ci vengono messere a disposizione delle modalità di gestione ed integrazione alternative che potrebbero far al caso nostro:

  • La piattaforma CoolKit eWeLink espone della API pubbliche per poter integrare applicazioni di terze parti tramite servizi in cloud
  • I prodotti ITead di ultima generazione prevedono la modalità Sonoff DIY, ovvero delle API locali che consentono di gestire il dispositivo da un’applicazione terza direttamente tramite la rete locale, senza uso del cloud

Tutto questo ha reso possibile l’integrazione e la gestione dei dispositivi Sonoff, ed in generale quelli compatibili eWeLink, con la più popolare piattaforma di domotica universale fai da te: Home Assistant.

Mettendo insieme tutti questi concetti otteniamo il diagramma di funzionamento seguente in cui ai flussi di comunicazione di base tra app/web eWeLink ed Alexa/Google Home esclusivamente tramite i servizi cloud eWeLink via internet, si affiancano i nuovi flussi (in verde) tra Home Assistant, dispositivi Sonoff e servizi cloud eWeLink:

  • il server che ospita Home Assistant può comunicare direttamente con i dispositivi Sonoff tramite rete locale LAN / WiFi e le API Sonoff DIY
  • in alternativa il server Home Assistant può comunque gestire i dispositivi Sonoff tramite la connessione internet ed i servizi cloud eWeLink
Architettura di funzionamento Home Assistant, Sonoff, eWeLink

Per realizzare in pratica tutto questo, senza dover fare modifiche complicate e rischiose di firmware come quelle di Tasmota, abbiamo due principali soluzioni possibili:

Approfondiamole nel dettaglio, senza scordarci di eventuali effetti dovuti all’utilizzo contemporaneo delle medesime credenziali eWeLink da due canali di accesso differenti (smartphone con app e server Home Assistant).

Anticipo comunque che la mia raccomandazione, se volete gestire i Sonoff con Home Assistant, è assolutamente di andare verso SonoffLAN per quanto non sia una integrazione ufficiale.

Nel caso abbiate dispositivi in diverse abitazioni potrebbe avere senso valutare HASS-sonoff-ewelink.

SonoffLAN per Home Assistant

SonoffLAN è un custom component davvero molto popolare, per quanto non ufficialmente rilasciato da ITead o CoolKit, che consente di integrare i dispositivi Sonoff con Home Assistant tramite rete locale e cloud anche contemporaneamente.

Questa possibilità offre la massima flessibilità nella configurazione portandosi a casa i benefici e superando le limitazioni di una soluzione solo locale o solo cloud:

  • in caso di problemi alla nostra connessione internet o ai servizi in cloud CoolKit eWeLink continuerete a gestire i dispositivi Sonoff su Home Assistant tramite rete locale
  • se dovesse esserci qualche inconveniente sulla rete locale potrete comunque gestire i dispositivi Sonoff in Home Assistant tramite i servizi cloud CoolKit eWeLink
Home Assistant e Sonoff gestione in locale

Ricorderei ancora che, oltre alla resilienza rispetto a connettività internet e cloud eWeLink, vi porterete a casa anche tutti gli altri benefici della gestione dei dispositivi Sonoff in Home Assistant:

  • integrazione con dispositivi di altre piattaforme nell’ambiente unificato di Home Assistant
  • funzioni avanzate di logging, monitoraggio ed archiviazione dei dati di Home Assistant

Installazione SonoffLAN su Home Assistant

Per l’installazione di SonoffLAN, essendo un custom component di Home Assistant, la soluzione di gran lunga più semplice è utilizzare HACS.

Se non avessi ancora a disposizione HACS, leggi la mia guida per installare HACS su Home Assistant.

Selezionate HACS dal menù di sinistra di Home Assistant e poi Integrazioni:

A questo punto ricercate Sonoff sul repository delle integrazioni personalizzate HACS e confermate il download:

Selezionate la versione di SonoffLAN che volete installare e procedete:

Eseguite riavvio di Home Assistant per avere l’integrazione personalizzata SonoffLAN finalmente attiva:

Modalità di configurazione SonoffLAN

Come visto in precedenza, SonoffLAN è molto flessibile nella possibilità di configurare la gestione dei dispositivi Sonoff in Home Assistant sia tramite rete locale che cloud.

Le modalità di configurazione possibili sono le seguenti:

  • cloud + locale
  • locale
  • cloud

La sezione di configurazione relativa a SonoffLAN deve essere inserite all’interno del file configuration.yaml di Home Assistant. Ricordo che nel caso di Home Assistant Core su Raspberry Pi lo si trova nel percorso /home/homeassistant/.homeassistant/configuration.yaml.

Una volta convalidata la configurazione, riavviate il server Home Assistant per applicarla.

All’inizio suggerisco di monitorare il file di log di Home Assistant per controllare la presenza di eventuali errori di SonoffLAN:

tail -100f /home/homeassistant/.homeassistant/home-assistant.log | grep ERROR

Questo è ad esempio l’errore nel caso in cui abbiate sbagliato la password del profilo eWeLink nella configurazione di SonoffLAN:

2022-02-16 14:29:29 ERROR (MainThread) [custom_components.sonoff.sonoff_cloud] Login error: {'error': 401, 'msg': 'pwd err'}

Modalità locale + cloud

E’ la modalità predefinita adatta alla maggior parte delle esigenze.

Per i dispositivi Sonoff con versione firmware ≥ 3.0 le gestioni funzionano contemporaneamente, in tutti gli altri casi solo la modalità cloud.

Nel file di configurazione occorrerà solo specificare le credenziali del proprio profilo eWeLink:

sonoff:
  username: indirizzo_email / numero_cellulare
  password: password_personale

Modalità locale

Ci sono tre opzioni a seconda del vostro eventuale grado di insofferenza verso la connessione internet ed i servizi in cloud CoolKit eWeLink:

  • lettura della configurazione dispositivi dal cloud eWeLink (solo al riavvio di Home Assistant)
sonoff:
  username: indirizzo_email / numero_cellulare
  password: password_personale
  mode: local
  reload: always
  • configurazione automatica ricercando direttamente i dispositivi in rete (solo se supportano la modalità DIY)
sonoff:
  • configurazione manuale dispositivi (dovrete recuperare la chiave collegandovi all’access point WiFi creato dal dispositivo in modalità accoppiamento)
sonoff:
  devices:
    1000abcdefg:
      devicekey: f9765c85-463a-4623-9cbe-8d59266cb2e4

Ovviamente lo scenario più pratico in modalità solo locale è comunque quello della lettura della configurazione di SonoffLAN dal cloud eWeLink.

Modalità cloud

Riporto solamente per completezza questo scenario di funzionamento sostanzialmente inutile a meno che non abbiate solo dispositivi con firmware obsoleto.

sonoff:
  username: indirizzo_email / numero_cellulare
  password: password_personale
  mode: cloud

Interrutori smart con sensori

I dispositivi Sonoff che nascono come sensori vengono riconosciuti automaticamente come entità di quel tipo in Home Assistant:

Sensori Sonoff in Home Assistant

Esistono però altri device che svolgono principalmente la funzione di interruttore smart ma che sono anche dotati di sensori di potenza elettrica, temperatura o umidità, come ad ad esempio Sonoff Pow R2, Sonoff TH16 o Sonoff NSPanel).

In questo secondo caso, con la configurazione predefinita, vengono create su Home Assistant esclusivamente le entità corrispondenti ai contatti dell’interruttore e non ai sensori comunque presenti nel dispositivo Sonoff.

Per fare in modo che accada occorre aggiungere nella sezione di configurazione di Home Assistant relativa a SonoffLAN l’elenco delle tipologie di attributi per le quali vogliamo vengano create automaticamente le entità sensori, come in questo esempio:

sonoff:
  sensors: [temperature, humidity, power, current, voltage]

Dopo aver applicato la configurazione l’elenco dei sensori Sonoff in Home Assistant diventa decisamente più corposo:

Sensori Sonoff in Home Assistant

E’ anche possibile forzare la frequenza con la quale Home Assistant interroga i dispositivi Sonoff dotati di sensore per aggiornare le entità relative alle misure:

sonoff:
  force_update: [temperature, power]
  scan_interval: '00:05:00'  # (optional) default 5 minutes

Non serve specificare tutte le tipologie di attributi: saranno interrogati tutti i dispositivi che hanno almeno un attributo di quella tipologia.

Gestione dispositivi Sonoff in Home Assistant

Una volta applicata la configurazione cloud + locale, vi troverete senza sforzo alcuno in Home Assistant tutte le entità corrispondenti ai dispositivi Sonoff già associati al vostro profilo eWeLink.

Questo è un esempio in cui ho creato su Home Assistant una vista contenente diverse schede, ciascuna corrispondente ad un dispositivo Sonoff, in cui ho organizzato le varie entità SonoffLAN:

Vista Home Assistant con le entità Sonoff

Nel funzionamento normale, potrete quindi gestire i dispositivi Sonoff, ciascuno a seconda della propria compatibilità, contemporaneamente da tutti i canali possibili:

eWeLink App
Alexa
Google Home
eWeLink Web
Home Assistant

Spettacolari tutte queste possibilità, ma quale sarebbe il vantaggio concreto di avere tutte queste opzioni di controllo remoto a disposizione?

Alexa e Google Home forniscono i comodi controlli vocali per il nostro lato più pigro.

Ma in caso di malfunzionamento della connessione internet o dei servizi cloud il gioco potrebbe farsi davvero duro: rimarrebbero in partita solo l’app eWeLink da smartphone e tramite Home Assistant in grado di gestire i device Sonoff in modalità solo locale.

Home Assistant e Sonoff gestione in locale

Purtroppo le scene di eWeLink non funzionano in questa condizione: è Home Assistant a vincere perché è l’unico in grado di gestire l’automazione di dispositivi Sonoff differenti sulla stessa rete locale senza internet e senza cloud.

Questo è un “semplice” esempio di automazione Home Assistant che, ha come trigger il cambio di stato del primo canale di uno Sonoff 4CH Pro R3 ed azione l’inversione di stato del primo canale di un Sonoff NSPanel:

Automazione Sonoff Home Assistant

Sembra complesso ma col wizard di configurazione non è così da fantascienza farlo. Se avessimo realizzato manualmente questa automazione Sonoff in Home Assistant sarebbe stato qualcosa del genere (che direi avere lo stesso appeal dell’aglio per i vampiri):

id: '1645026146654'
alias: Nuova automazione
description: ''
trigger:
  - platform: state
    entity_id: switch.sonoff_1000328b15_1
condition: []
action:
  - service: switch.toggle
    data: {}
    target:
      entity_id: switch.sonoff_10013ccbbc_1
mode: single

Abbiamo finalmente un modo per far funzionare i nostri punti luce comandati da diversi Sonoff TX anche senza internet ed eWeLink grazie ad Home Assistant. Consentitemi la citazione “si può fare”: e senza toccare il firmware!

Automazione Sonoff con Home Assistant senza eWeLink: si può fare

Ovviamente Home Assistant nasce per l’automazione ed è infinitamente potente rispetto all’esempio riportato: lo approfondiremo più in generale in altra sede.

Storico e visualizzazione dati Sonoff in Home Assistant

Tocchiamo l’ultimo fronte in cui Home Assistant fa la differenza rispetto agli strumenti nativi dati da eWeLink per Sonoff.

Home Assistant è dotato del componente History, che tiene traccia di qualsiasi cosa sia accaduto sul sistema permettendo di accedere ai dati memorizzati su un database SQLite locale.

Possiamo accedere a delle viste predefinite nella sezione Storico della console Home Assistant dove possiamo vedere l’andamento dello stato:

Home Assistant History

Oppure delle temperature:

Home Assistant History

Ma anche della tensione di rete:

Home Assistant History

E’ chi ha più sensori più ne metta!

Anche in questo caso le potenzialità di Home Assistant sono davvero molte: integrando anche Grafana potremmo creare delle eccezionali visualizzazioni dati provenienti dalla nostra casa domotica. Ma sarà un’altra puntata.

Direi proprio che è arrivato il momento di acquistare un bel Raspberry Pi dedicato alla domotica e segui le mie guide per installare Raspberry Pi OS ed installare Home Assistant su Raspberry Pi.

Passiamo ora a vedere come utilizzare per gestire i Sonoff l’integrazione ufficiale Coolkit tra eWeLink ed Home Assistant.

L’Add-On eWeLink Home Assistant ha le caratteristiche principali seguenti:

  • supporto di interruttori e prese compatibili eWeLink
  • supporto modalità Sonoff DIY
  • gestione prioritaria tramite rete locale e secondaria tramite cloud eWeLink
  • compatibile solo con Home Assistant OS

Purtroppo non è possibile installare l’integrazione eWeLink su Home Assistant Core: ottimo motivo, insieme alla tipologia limitata di dispositivi supportati, per preferire di gran lunga SonffLAN.

Per non fare pasticci suggerisco di non installare contemporaneamente su Home Asssistant l’integrazione ufficiale eWeLink e SonoffLAN.

Il primo passo è quello di creare un token di accesso di lunga durata per consentire al componente eWeLink di interagire con le API locali del server Home Assistant.

Per farlo accedete al Profilo dal menù di sinistra:

Creazione token di accesso di lunga durata Home Assistant per eWeLink

Cliccando su Crea Token potrete immettere un nome che è raccomandato essere eWeLink_HA_AddOn:

Creazione token di accesso di lunga durata Home Assistant per eWeLink

Copiate il token appena creato perché non sarà possibile accedervi altrimenti.

Andate ora su Supervisor e poi sulla raccolta di Add-on e cliccate sull’icona in alto a destra e poi su Repository:

Nella finestra che comparirà inserite il percorso del repository GitHub https://github.com/CoolKit-Technologies/ha-addon:

Installazione Add-On eWeLink su Home Assistant OS

Confermando e proseguendo, nell’elenco degli Add-On di Home Assistant comparirà ora eWeLink Smart Home:

Selezionatelo e poi installatelo:

Per completare l’installazione dell’Add-On eWeLink Smart Home su Home Assistant, dove essere effettuarne la configurazione utilizzando il token creato e salvato in precedenza:

Potete ora finalmente avviare il componente:

Accedendo all’interfaccia web del componente eWeLink potrete vedere e gestire i dispositivi presenti sulla rete locale:

Se vi loggate con le vostre credenziali eWeLink potrete gestire tutti i dispostivi configurati:

Sinceramente questa mi sembra la copia sbiadita di eWeLink Web: questo componente è ancora immaturo e raccomando assolutamente l’utilizzo di SonoffLAN.

Mi auguro che CoolKit investa il tempo e le risorse necessarie a rendere eWeLink una integrazione per Home Assistant completa.

Leggi tutti i miei articoli su Raspberry Pi ed eWeLink:

Ultimo aggiornamento Amazon Affiliate 2024-05-05 at 10:12

2 pensieri su “Sonoff eWeLink Home Assistant: guida completa in italiano

  1. Andrea

    Ciao, la tua recensione è veramente superlativa, ti faccio i miei complimenti.
    Ho acquistato da qualche giorno un Sonoff NSPanel e sto valutando il modo migliore per integrarlo nella mia domotica basata su Home Assistant. Ho visto diversi video che prevedono la modifica del Firmware usando ESPHome o tasmota, ma preferirei tenerlo così com’è.
    Ho provato ad utilizzare SonoffLAN di home assistant e funziona abbastanza bene.
    I due interruttori funzionano, la lettura della temperatura e dell’umidità anche, ma non c’è modo di impostare la temperatura del termostato, e io l’NSPanel l’ho acquistato principalmente per questo. Sai se c’è modo di impostare questo valore tramite Home Assistant?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.