SCOPI DELLA GUIDA:
CONCETTI AFFRONTATI:
|
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI:
DISPOSITIVI FISICI UTILIZZATI:
|
GUIDA INDICATA A UTENTI CON ISTALLAZIONE: |
|
NOTE E DISCLAIMER
|
|
Revisione guida: 1.3 |
Abstract
I componenti della linea ITEAD “Sonoff Smart Home” sono tra i più apprezzati per l’uso in domotica personale ma al contempo hanno sofferto dell’impossibilità di essere integrati – così come usciti dalla fabbrica – a Home Assistant o altri HUB personali.
Per integrare Sonoff a Home Assistant esistono varie possibilità; una delle alternative (che noi continuiamo a considerare, a prescindere, la strada da intraprendere) è quella di adottare sui componenti da integrare dei firmware custom utili a fornire all’utente maggiore libertà di configurazione nonché un’integrazione certa (solitamente via MQTT) con qualsiasi HUB personale e similari.
Chi proprio non volesse intraprendere la luminosa strada della riprogrammazione firmware (sulla quale non ci dilungheremo – ma è davvero la strada che consigliamo caldamente a tutti), ora ha una soluzione: SonoffLAN. Si tratta di un “custom component” (quindi un componente non ufficiale di Home Assistant) che, a differenza di altri custom (come per esempio “HASS-sonoff-ewelink”) ha il vantaggio evidente di utilizzare solo la rete locale per censire e comandare i componenti così integrati: si tratta quindi di una valida integrazione di tipo Local Push, la quale funziona quindi a prescindere che Internet e/o il cloud ITEAD stiano funzionando o meno.
Lo svantaggio è che, trattandosi di un custom component, è vincolato al fatto che lo sviluppatore continui, nel tempo, ad aggiornarlo rispetto agli aggiornamenti del firmware ITEAD e a quelli Home Assistant: ciò che oggi funziona, tra tre mesi potrebbe non funzionare più (cosa che non accade adottando per esempio uno standard come MQTT tramite firmware alternativi).
Ciò detto, questa guida illustra come integrare a Home Assistant componenti ITEAD Sonoff con firmware 3.0 o superiori tramite il custom component SonoffLAN.
Si parte
- Verifiche propedeutiche
- Installazione
- Integrazione Home Assistant
- Procedura automatica
- Procedura manuale
- Personalizzazioni
- Specificità dei modelli
- Sonoff POW
- Sonoff TH
- Ulteriori info
Verifiche propedeutiche
Prima di avventurarsi nell’integrazione tramite firmware originale è necessario appurare:
- di aver provveduto alla prima configurazione del componente tramite l’app eWeLink (per Android e iOS);
- aver provveduto all’aggiornamento firmware (versioni dalla 3.x in su);
- di aver verificato che il componente da integrare sia parte della lista dei componenti supportati.
Il mancato rispetto di questi punti renderà non possibile l’integrazione in queste modalità.
Installazione
Installare “SonoffLAN” è semplice, quando si utilizza il comodissimo HACS ma ATTENZIONE: se si utilizzano altri componenti d’integrazione Sonoff (eg. “HASS-sonoff-ewelink“) provvedere a rimuoverle.
N.b. L’unico vantaggio di “HASS-sonoff-ewelink” rispetto a “SonofLAN” è la possibilità di integrare – via cloud – componenti Sonoff presenti su reti diverse (eg. una seconda casa). Tenerlo in considerazione, qualora questo sia un must: dato che i due componenti sono mutuamente esclusivi, scegliere con attenzione quale dei due implementare. |
Per farlo è sufficiente recarsi alla voce “HACS” del menu laterale dell’interfaccia Home Assistant, cliccare su “Integrations“, poi sui tre puntini in alto a destra e aggiungere un “repository personalizzato” di categoria “integrazione” (copia-incolla della seguente stringa):
AlexxIT/SonoffLAN
Dopodiché recarsi alla voce HACS “Integrations” e cercare “SonoffLAN“. Si troverà il seguente plugin:
Una volta trovato, cliccarvi sopra per accedere alla maschera tramite la quale provvedere all’installazione del componente cliccando “Installa“:
Terminata l’installazione, riavviare Home Assistant.
Integrazione Home Assistant
Per far sì che i propri componenti Sonoff vengano censiti correttamente da Home Assistant è possibile perseguire due strade, quella automatica e quella manuale:
- automatica: consente al componente di scaricare dal cloud ITEAD (ad ogni riavvio di Home Assistant) l’elenco dei dispositivi, che successivamente vengono gestiti automaticamente (e solo via LAN);
- manuale: consente al componente di integrare direttamente i componenti totalmente distaccandosi dal cloud ITEAD.
PROCEDURA AUTOMATICA
La procedura automatica prevede di aggiungere al file di configurazione l’accoppiata username/password (o numero di telefono/password) utilizzata solitamente sull’app eWeLink:
sonoff:
username: proprio_username
password: propria_password
per esempio:
sonoff:
username: staff@indomus.it
password: propria_password
Al termine della configurazione salvare e riavviare Home Assistant.
Dopo l’avvenuto riavvio, i componenti configurati presso eWeLink verranno automaticamente censiti dall’HUB e integrati sotto forma di entità (di diversa natura) controllabili dall’utente.
L’elenco viene salvato nel file .sonoff.json presso la cartella delle configurazioni YAML dell’HUB; il componente non effettua nuovamente richieste al Cloud: ne fa una e una sola, la prima volta e basta. In caso vengano aggiunti nuovi componenti su eWeLink, semplicemente cancellare tale file e riavviare Home Assistant, oppure variare la configurazione come segue:
sonoff:
username: proprio_username
password: propria_password
reload: always
per far sì che il refresh via cloud avvenga sempre, ad ogni riavvio dell’HUB.
PROCEDURA MANUALE
Per evitare la configurazione automatica (quindi evitate totalmente l’accesso al cloud) è necessario, a monte, raccogliere le devicekey dei singoli componenti.
Per farlo, eseguire la seguente procedura:
- Impostare il componete in modalità setup;
- Collegarsi col computer o smartphone/tablet alla Wi-Fi AP così generata chiamata “ITEAD-10000” (password “12345678“);
- Aprire col browser l’indirizzo http://10.10.7.1/device;
- Copiarsi deviceid and apikey (quest’ultima è la devicekey);
- Ricollegarsi alla Wi-Fi domestica.
A questo punto è possibile provvedere alla configurazione, come segue:
sonoff:
devices:
valore_deviceid:
devicekey: api_key_ottenuta_dalla_procedura_sopra
dove ovviamente la chiave valore_deviceid dovrà avere come nome quello del deviceid precedentemente ottenuto dalla procedura e il valore della chiave devicekey dovrà corrispondere alla apikey sempre ottenuta con la procedura.
Esempio:
sonoff:
devices:
1000abcdefg:
devicekey: f9765c85-463a-4623-9cbe-8d59266cb2e4
Una volta elencati tutti i componenti, riavviare Home Assistant.
Dopo l’avvenuto riavvio, i componenti configurati presso eWeLink verranno automaticamente censiti dall’HUB e integrati sotto forma di entità (di diversa natura) controllabili dall’utente.
Personalizzazioni
Quale sia la strada intrapresa per integrare, è possibile aggiungere delle personalizzazioni.
Innanzitutto, è possibile far in modo che l’integrazione di interruttori generi su Home Assistant delle entità di tipo “Light” piuttosto che di tipo “Switch“:
sonoff:
username: proprio_username
password: propria_password
reload: once
devices:
1000abcde0: # luce del corridoio
device_class: light
1000abcde1: # la luce della cameretta (due interruttori, un'entità luce)
device_class:
- light: [1, 2]
Altresì è possibile fare in modo che tutti gli switch vengano considerati luci:
sonoff:
username: proprio_username
password: propria_password
default_class: light
Specificità dei modelli
Sonoff POW
In caso si integri un Sonoff POW (interruttore singolo con misurazione di assorbimento elettrico) è possibile definire tre entità “Template Sensor” che forniscano le letture:
sensor:
- platform: template
sensors:
voltaggio:
value_template: "{{ state_attr('switch.sonoff_1000abcdefg', 'voltage') }}"
amperaggio:
value_template: "{{ state_attr('switch.sonoff_1000abcdefg', 'current') }}"
potenza:
value_template: "{{ state_attr('switch.sonoff_1000abcdefg', 'power') }}"
Ovviamente switch.sonoff_1000abcdefg dovrà essere il nome dell’entità integrata all’HUB relativa al Sonoff POW in questione.
Sonoff TH
In caso si integri un Sonoff POW (interruttore singolo con misurazione di assorbimento elettrico) è possibile definire due entità “Template Sensor” che forniscano le letture di temperatura e umidità relativa:
sensor:
- platform: template
sensors:
temperatura:
friendly_name: Temperature
device_class: temperature
value_template: "{{ state_attr('switch.sonoff_1000abcdefg', 'temperature') }}"
umidità:
friendly_name: Humidity
device_class: humidity
value_template: "{{ state_attr('switch.sonoff_1000abcdefg', 'humidity') }}"
Ovviamente switch.sonoff_1000abcdefg dovrà essere il nome dell’entità integrata all’HUB relativa al Sonoff TH in questione.
Ulteriori info
Ulteriori informazioni sono disponibili sul repository GitHub dello sviluppatore.
⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui. |
Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa. |