Sonoff in Home Assistant: addio Tasmota!?

HassioHelp

Sonoff in Home Assistant: addio Tasmota!?

.

Argomento: Sonoff

Livello: Novizio (Novizio,Esperto, Pro)

Difficoltà: Bassa (Bassa, Media, Alta)

Home Assistant: v. 0.105.3

Hacs: v. 0.20.7

eWeLink Smart Home: v.3.14.1

Prefazione

Questa guida è dedicata a tutti coloro che non vogliono o non hanno le competenze per modificare il firmware dei Sonoff ma necessitano di comandare questi dispositivi nell’ambiente Home Assistant.

Attraverso il Custom Component realizzato da AlexxIT potremmo controllare i Sofoff in locale senza l’ausilio del loro cloud e sopratutto, come detto prima, senza dover modificare il firmware magari utilizzando l’ormai famoso Tasmota, ma per alcuni, meno pratici di stagnature, FTDI ecc ecc. questa è la soluzione migliore.  

App eWeLink

Dopo aver installato l’app di eWelink Smart Home e associato il vostro dispositivo dobbiamo abilitare il Lan Mode

Sulla schermata del dispositivo premiamo, in alto a destra, i 3 puntini e selezioniamo Impostazioni.
Nella pagina successiva verifichiamo che lo switch LAN sia abilitato. Se scorriamo verso il basso potremmo trovare il Device ID che ci servirà per una configurazione avanzata su Home Assistant. 

Installazione Custom Repositories

L’installazione richiede pochi passaggi; da HACS ci portiamo sul menù SETTING ed inseriamo le seguente repository

https://github.com/AlexxIT/SonoffLAN

Poi ci clicchiamo sopra e la installiamo

Ora ci spostiamo nel file configuration.yaml ed inseriamo le seguenti righe in base a come vogliamo configurare i dispositivi.
Attenzione se la password dovesse iniziare con dei numeri vi consiglio di metterla tra gli apici ‘password’, verificate nei log/registri se ci sono errori per il component non settato correttamente. 

Configurazione minima:

sonoff:
  username: mymail@gmail.com
  password: 'mypassword'

In alternativa:

sonoff:
  username: +910123456789  # important to use country code
  password: 'mypassword'

Configurazione avanzata:

sonoff:
  username: mymail@gmail.com
  password: 'mypassword'
  reload: always  # update device list every time HA starts
  devices:
    1000abcdefg:
      device_class: light

In quest’altro modo i dispositivi possono essere impostati manualmente, senza connettersi ai server cloud. Ma in questo caso, è necessario conoscere il devicekey per ogni dispositivo.

sonoff:
  devices:
    1000abcdefg:
      devicekey: f9765c85-463a-4623-9cbe-8d59266cb2e4

Estrazione DEVICEKEY

Per trovare il devicekey dei dispositivi ci sono 2 soluzioni:

La prima seguendo questa procedura:

  • mettere in modalità paring il dispositivo (resettarlo)
  • collegarsi alla rete wifi che creerà con password 12345678
  • successivamente andare all’indirizzo http://10.10.7.1/device  e da qui vi verranno forniti i dati tra cui il devicekey
La seconda utilizzando username e password (configurazione minima) creerà un file di nome sonoff.json nella cartella share/ dove verranno scritti tutti i devicekey, successivamente recuperati i devicekey, se si volesse abbandonare il cloud basta togliere dalla configurazione username, password e reload per inserire manualmente  i dispositivi.

Per altri esempi ed approfondimenti vi rimando al link dell’autore https://github.com/AlexxIT/SonoffLAN

Considerazioni

Anche se semplice e intuitivo questo sistema per l’integrazione in Home Assistant dei dispositivi iTead non è ancora compatibile con tutti i prodotti attualmente in commercio.
Altra nota dolente è l’impossibilità di utilizzare/comandare i gpio presenti nei vari sonoff per collegare interruttori o sensori, ma come spiegato all’inizio questo sistema è per coloro che non hanno molte pretese per i propri dispositivi: vogliono solamente che i dispositivi facciano quello che normalmente fanno ma senza passare attraverso il Cloud di iTead.
Personalmente ritengo ancora la miglio soluzione passare ad altro firmware come Tasmota o ESPHome 

 

5 risposte

  1. Avatar Giorgio ha detto:

    Resta il problema dei nuovi dispositivi che vengono volutamente “blindati” in modo da non essere aperti senza rovinarne l’involucro, o con chipset non supportati.

  2. Avatar raff ha detto:

    ho seguito la guida, installato hacs, installato il custom component sonofflan, recuperato l’apikey del mio sonoff basic con v3.0.1, settato la configurazione in configuration.yaml come segue:

    sonoff:
    username:
    password: !secret
    reload: always # update device list every time HA starts
    default_class: light # changes the default class of all devices from switch to light
    devices:
    10009a2408: # desk lamp light
    devicekey:
    device_class: light # changes the default class of the device from switch to light

    ma non trovo in nessun modo il sonoff tra le entità di hassio, ho abilitato il debug del componente ma non vedo messaggi di errore. Cosa posso fare? Qualcuno ha avuto problemi simili?

    Grazie

    • Avatar Gabriele ha detto:

      Ciao,
      avevo lo stesso problema.

      Mi è bastato eliminare il device_class.
      Poi non ho avuto tempo di vedere perchè non andava con il device_class impostato e l’ho lasciato così.

      Quindi per ricapitolare, per prima cosa fai fare lo scouting delle luci con l’account.
      Dopo basta scrivere il device id e l’apikey e commentare l’account ewelink.

      Il mio è così:

      sonoff:
      # username: !secret
      # password: !secret
      # reload: always
      devices:
      1000abc08:
      devicekey: Device_Apikey

    • Avatar Nicola ha detto:

      se usi i devicekey devi commentare (#) le lineee username, password e reload altrimenti andrà sempre li a vedere e poi devi eliminare il file sonoff.json.

      ecco un esempio di un ch4 pro r2

      #username: il-tuo-username
      #password: la-tua-password
      #reload: always

      # attivazione via devicekey (eliminare il file sonoff.json)
      devices:

      1000737a71: # 4ch caldaia
      devicekey: xxxxxxx-yyyy-zzzz-wwwwwwwww
      device_class:
      – switch # notte
      – switch # giorno
      – switch # terra
      – switch #bagni

  3. Avatar Daniele ha detto:

    Buongiorno,
    Ho visto questa parte:
    devices:
    1000abcdefg:
    device_class: light
    È possibile assegnare light a ch1 e switch a ch2?

    Se si: qual’è il codice?
    Grazie
    Daniele

Lascia un commento

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