Integrare ITEAD Sonoff con firmware originale a Home Assistant

3 minuti di lettura
SCOPI DELLA GUIDA:
CONCETTI AFFRONTATI:
  • Configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI:
DISPOSITIVI FISICI UTILIZZATI:
  • Il Raspberry Pi sul quale risiede Home Assistant
  • uno smartphone/tablet Android o Apple iOS
  • L’elemento ITEAD da integrare
GUIDA maggiormente indicatA per:

Tutti gli ambienti

Note e disclaimer
  • qualsiasi modifica all'impianto elettrico dev'essere progettata ed effettuata 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.2

Abstract

Come noto, la pratica più consolidata è quella di dotare i componenti basati su SOC ESP8266 (come, per l’appunto, la maggior parte degli ITEAD) di firmware alternativi utili a fornire all’utente maggiore libertà di configurazione nonché un’integrazione certa (solitamente via MQTT) con qualsiasi HUB personale e similari. Qualora non si voglia affrontare la procedura di riprogrammazione del firmware, è possibile utilizzare questo componente, tenendo sempre in considerazione che:

  • l’integrazione è garantita in base alla matrice di compatibilità (binomio modello/versione del firmware originale);
  • l’integrazione, quando funzionante, non sempre garantisce l’utilizzo di tutte le funzionalità del dispositivo integrato (eg. il Sonoff POW R2 con firmware 3.3.x);
  • l’integrazione utilizza il cloud ITEAD come tramite, pertanto in assenza di connessione internet, l’integrazione smetti di funzionare.

L’integrazione, come detto, utilizza il cloud di ITEAD: in pratica il componente Sonoff si collega ad esso tramite la previa configurazione della solita app mobile eWeLink (usata per configurare e gestire i componenti della famiglia Sonoff) e Home Assistant, tramite “HASS-sonoff-ewelink”, fa lo stesso, autenticandosi al cloud con le medesime credenziali dell’app eWeLink: questa connessione “ponte” permetterà quindi all’HUB di “vedere” il Sonoff e quindi di integrarlo.

Si parte

Verifiche propedeutiche

Prima di avventurarsi nell’integrazione tramite firmware originale è necessario appurare:

  • di avere l’accessorio da integrare già configurato presso l’app eWeLink;
  • di verificare che il binomio accessorio/versione firmware originale (verificabile tramite app eWeLink) sia incluso tra quelli integrabili consultando la matrice di compatibilità.

Il mancato rispetto di questi punti renderà non possibile l’integrazione in queste modalità.

Installazione del componente

La procedura prevede di scaricare da GitHub il file .zip contenente il componente, decomprimerlo e copiarne la cartella “sonoff” in esso contenuta dentro la cartella “custom_components” a sua volta contenuta all’interno di quella che solitamente conserva i file di configurazione di Home Assistant (se non esiste, crearla).

Tale cartella solitamente corrisponde:

  • se installato come applicativo su Raspbian, alla cartella “/home/homeassistant/.homeassistant“;
  • su HASSIO, alla cartella “/config/

Per copiare la cartella “sonoff” si consiglia di utilizzare sFTP (magari utilizzando il client Filezilla), il quale è operativo in presenza del servizio SSH. Per installare SSH su HASSIO, far riferimento a questa guida.

Dalla 0.101.x in poi

Dalla versione 0.101.x di Home Assistant in poi si è reso necessario:

  • rimuovere la riga “REQUIREMENTS” presente nel file __init__.py
  • aggiungere un file chiamato sonoff.json contenente il seguente codice:
{
  "domain": "sonoff",
  "name": "Sonoff / eWeLink",
  "documentation": "https://github.com/peterbuga/HASS-sonoff-ewelink",
  "dependencies": [],
  "codeowners": ["@peterbuga"],
  "requirements": ["uuid", "websocket-client==0.54.0"]
}

Infine: in caso di di Home Assistant installato come applicativo su Raspbian, avere cura di eseguire il seguente comando per sistemare i permessi sul file system:

sudo chmod -R 0777  /home/home/.homeassistant

Configurazione Home Assistant

A questo punto è possibile variare la configurazione di Home Assistant allo scopo di aggiungervi il seguente blocco:

sonoff:
  username: [email o numero telefonico]
  password: [password]
  scan_interval: 60
  grace_period: 600
  api_region: 'eu'
  entity_prefix: True
  debug: False

Spiegazione dei campi:

CampoValore
sonoff:(Obbligatorio) Identifica il blocco di configurazione relativo al componente “HASS-sonoff-ewelink“.
username(Stringa, obbligatoria) Proprio nome utente presso il cloud ITEAD.
password(Stringa, obbligatoria) Propria password presso il cloud ITEAD.
scan_interval(Intero, facoltativo) Numero di secondi tra un aggiornamento e l’altro. Minimo 60.
grace_period(Intero, facoltativo) Dato che non è possibile collegarsi col proprio account da più di un client alla volta, in caso ci si colleghi via app Home Assistant viene automaticamente disconnesso: questo valore indica per quanti secondi Home Assistant non deve cercare di autenticarsi nuovamente.
api_region(Stringa, facoltativa) Indica il continente dal quale collegarsi. Il default è “eu“; altri possibili valori sono “us“, “as” e “cn“.
entity_prefix(Booleano, facoltativo) Se impostato a “true” elimina il prefisso “sonoff_” dal nome delle entità generate su Home Assistant tramite l’integrazione.
debug(Booleano, facoltativo) Se impostato a “true” attiva la modalità di debug. Maggiori info sulla modalità di debug sono disponibili qui.

Dopo l’avvenuta configurazione, riavviare Home Assistant.

Uso

A questo punto non è necessario altro che iniziare ad utilizzare le entità che saranno state generate dal componente, tipicamente di tipologia “Switch” e “Sensor“.

Home Assistant Switch
un esempio di switch.

Una eventuale , successiva aggiunta di attuatori e sensori all’app eWeLink (sempre compatibili con la matrice di compatibilità) genererà automaticamente, presso Home Assistant, le corrispondenti entità.

AGGIORNAMENTO FIRMWARE

Un’accortezza importante: in caso di necessità di aggiornamento del firmware originale di uno o più componenti ITEAD (ovviamente, ricordarsi di verificare la matrice di compatibilità per non rischiare di perdere la possibilità di integrarlo con Home Assistant), prima ricordarsi di stoppare Home Assistant, e solo dopo l’avvenuto aggiornamento firmware provvedere a farlo ripartire.


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