Come integrare i dispositivi Sonoff con firmware originale in Home Assistant

Come integrare i dispositivi Sonoff con firmware originale in Home Assistant

di Luigi Duchi

06 Gennaio 2019

Home Assistant

Luigi Duchi

ATTENZIONE MODIFICA DEI CUSTOM COMPONENT DALLA VERSIONE 88.1 DI HOME ASSISTANT.INSERITE LE MODIFICHE IN FONDO ALL'ARTICOLO

 

Oggi parleremo di un argomento molto interessante, come ogni volta che si parla di Sonoff!

Per mesi la domanda più ricorrente è stata:"posso aggiungere i miei Sonoff ad Home Assistant senza caricare firmware alternativi?" la mia risposta è sempre stata categoricamente "No!!!" a meno di non passare tramite IFTTT, come mostrato in questa guida:

Come integrare Sonoff switch in Home Assistant tramite IFTTT

Oggi non è più così. Infatti da pochi giorni è disponibile un custom component su GitHub realizzato dall'utente PETERBUGA, che permette di integrare i dispositivi Sonoff mediante l'utilizzo dell'applicazione ufficiale. Certo sono ancora pochissimi i dispositivi Sonoff disponibili al momento, ma non è escluso che questo diventi un component ufficiale o che la quantità di dispositivi compatibili aumenti nel tempo.

i dispositivi utilizzabili sono i seguenti:

Come integrare i dispositivi Sonoff con firmware originale in Home Assistant

per utilizzare questo custom component sarà necessario avere la cartella custom_components alla stesso livello del file configuration.yaml come foto seguente:

Come integrare i dispositivi Sonoff con firmware originale in Home Assistant

se usate Home Assistant su Raspbian sarà necessario andare nel percorso home/homeassistant/.homeassistant e creare appunto una nuova cartella chiamata custom_components

Una volta creata questa cartella srarà necessario inserire al suo interno dei file che potrete scaricare su GitHub  a questo LINK 

Cliccate su clone or download

Come integrare i dispositivi Sonoff con firmware originale in Home Assistant

successivamente cliccate su Download zip

Come integrare i dispositivi Sonoff con firmware originale in Home Assistant

meglio se fate questa operazione direttamente dal vostro Raspberry.

una volta scaricato lo zip estraetelo nella stessa cartella dove l'avete scaricato, vi ritroverete una cartella del genere:

Come integrare i dispositivi Sonoff con firmware originale in Home Assistant

aprendo la cartella al suo interno troverete vari file e cartelle:

Come integrare i dispositivi Sonoff con firmware originale in Home Assistant

copiate ed incollate nella cartella custom_components creata in precedenza, la cartella switch e il file sonoff.py, assicuratevi che dentro la cartella switch ci sia un ulteriore file chiamato sempre sonoff.py; si differenzierà da quello esterno alla cartella per le dimensioni: il file sonoff.py fuori dalla cartella sarà di 15,4 KiB mentre quello dentro la cartella switch sarà di appena 2 KiB

nella cartella custom_ components vi ritroverete una situazione del genere:

Come integrare i dispositivi Sonoff con firmware originale in Home Assistant

Benissimo, una volta fatto questo passaggio andremo ad aggiungere delle stringhe nel file configuration.yaml

Ma prima apro una piccola parentesi.

Come molti sapranno l'applicazione eWeLink (app ufficiale per gestire i dispositivi della famiglia Sonoff) supporta un solo dispositivo per account quindi è molto probabile che una volta installato il custom component e fatta la configurazione su configuration.yaml, il vostro telefono faccia un logout dal profilo eWeLink e viceversa home Assistant nel caso opposto.

Per bypassare questo problema vi di un piccolo suggerimento:

Create un secondo account eWeLink (mi raccomando di usare un e-mail come username e non il numero di telefono che può generare problemi).

Una volta creato il nuovo account andate sull'account principale e condividete con il nuovo account tutti i dispositivi che volete gestire da Homeassistant (ovviamente quelli presenti nella lista di compatibilità).

Successivamente tornate sul vostro Raspberry e andate nel file configuration.yaml.

Aggiungete queste stringhe compilandole e personalizzandole con i vostri dati: 

sonoff:
  username: vostro account nuovo
  password: password vostro account nuovo
  scan_interval : 3
  grace_period : 600
  api_region: 'eu'

dove:

username sarà il nome utente che è stato registrato per l'account eWeLink.

password sarà la password del vostro account eWeLink

scan_interval è possibile definire la velocità di aggiornamento dello stato dei dispositivi (per impostazione predefinita ogni 60 secondi). Ad esempio, se lo si accenderà o spegnerà da una fonte esterna come Alexa o Google Home, la modifica verrà visualizzata in HA in un tempo massimo inferiore a quello specificato, mentre usando l'interfaccia HA l'aggiornamento sarà istantaneo.

grace_period come vi dicevo prima, l'app eWeLink consente solo una sessione attiva alla volta, pertanto questa operazione bloccherà temporaneamente l'aggiornamento di HA per il tempo indicato (in secondi) per consentire di accedere all'app sul telefono e apportare le modifiche necessarie ai dispositivi. Dopo il tempo selezionato il custom component sonoff eseguirà un nuovo login interno invalidando la sessione sull'app del telefono e il processo verrà riavviato. Ovviamente utilizzando il sistema del nuovo account questo per noi non sarà un problema.

api_region questo componente cerca di trovare, accedere e connettersi alla regione appropriata assegnata all'utente. specificare una regione appropriata aiuterà il componente a caricarsi più velocemente e riconnettersi dopo il periodo impostato in grace_period come ho spiegato sopra, i possibili valori: eu(predefinito), us e cn

Bene, quando avete finito salvate il file.

Adesso sarà necessario riavviare il vostro Raspberry per rendere effettive le modifiche, soprattutto quelle sulla cartella custom_component.

Lo farete digitando dal terminale del vostro raspberry il comando sudo reboot 

A dire il vero nel mio caso è stato necessario riavviarlo più volte per far si che leggesse le modifiche, nel caso provate a fare più reboot se non dovesse funzionare subito.

Per controllare che tutto sia andato a buon fine andate su Home Assistant, nel menù a tendina a sinistra cliccate su servizi la seconda icona a sinistra con questo simbolo {} sotto strumenti per gli sviluppatori:

Come integrare i dispositivi Sonoff con firmware originale in Home Assistant

scorrete tra le varie entities, dovreste trovare uno o più switch (a seconda di quanti sonoff avete) chiamato/i ad esempio:

switch.sonoffxxxxxxxxxxxx 

Come integrare i dispositivi Sonoff con firmware originale in Home Assistant

Benissimo se avete i gruppi inserite il vostro switch all'interno del gruppo scelto, potrete così gestire da Home Assistant il vostro/i sonoff con firmware originale.

MODIFICA DALLA 88.1 IN POI:

dentro custom_components create una cartella con nome sonoff, poi il file sonoff.py dentro la cartella custom_components lo rinoniminate in __init__.py e lo mettete dentro la cartella /custom_components/sonoff/ Dopo rinoniminate il file/custom_components/sensor/sonoff.py in sensor.py and lo spostate in /custom_components/sonoff/ (il file sensor.py lo avrete solo se saranno presenti dispositivi con sensori come ad esempio il sonoff pow)

successivamente rinonimate /custom_components/switch/sonoff.py in switch.py and lo spostate in /custom_components/sonoff/

Vi ricordo che i dispositivi Sonoff compatibili con questa guida sono acquistabili ai seguenti link:

Sonoff Basic singolo https://amzn.to/2xV5DY2 o doppio https://amzn.to/2C5jmwP

Sonoff CH4 Pro R2 https://amzn.to/2C3oamo

Sonoff S20 https://amzn.to/2VuBJnD

Per questa guida è tutto vi lascio al video di fine articolo. Buona visione!

Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.

Luigi Duchi

Luigi Duchi

Nato a Grosseto il 24 Dicembre 1982 perito elettrotecnico che lavora nel mondo della domotica e installazione di impianti elettrici, impianti di allarmi, videosorveglianza e automazioni in genere. Appassionato da sempre di tecnologia e aperto alla conoscenza di nuove soluzioni.

Disqus loading...