Interruttore Smart Wifi Sonoff Basic con Home Assistant senza Tasmota

Interruttore Smart Wifi Sonoff Basic con Home Assistant senza Tasmota

Il Sonoff Basic è un pulsante Smart WiFi economico molto utilizzato per il DIY (do-it-yourserlf) all’interno della Casa Domotica.

Molti lo integrano con la piattaforma gratuita di domotica Home Assistant installato su Raspberry Pi 3 flashando il firmware Tasmota. Sostituire il firmware è necessario perché quello originale non supporta Home Assistant.

In quest’articolo vediamo come usare il Sonoff Basi R2 con Home Assistant senza apportare alcune modifiche al firmware, quindi senza fare saldature ecc.

Interruttore Smart Wifi Sonoff Basic con Home Assistant senza Tasmota

Prima di procedere con questa guida devi sapere che è in commercio si trova il nuovo Sonoff Basic R3 che supporta Home Assistant grazie all’utilizzo di REST API.

Per procedere con questa guida devi aver installato Home Assistant su Raspberry Pi 3 e avere acquistato un Sonoff Basic R2 o un Sonoff 4CH Pro R2.

Come configurare il Sonoff Basic 2R

La configurazione del Sonoff Basic 2R è molto semplice.

Dopo averlo collegato alla corrente il led verde inizia a lampeggiare, ora bisogna scaricare l’applicazione eWelink dal Google Play Store, creare una account e fare il login.

Premere il pulsante nero sul Sonoff Basic per 7 secondi, il led inizia a lampeggiare per 3 volte velocemente e poi una volta + lentamente.

Tornare all’applicazione eWelink, fare tap sul simbolo + e selezionare la modalità di accoppiamento Quick Pairing, scegliere a quale rete WiFi collegare il Sonoff Basic, quindi fare tap su prossimo.

Il Sonoff Basic dovrebbe essere individuato e aggiunto alla lista dei vostri dispositivi Sonoff.

Come integrare il servizio IFTTT all’interno di Home Assistant

Ho già scritto come farlo e lo trovi spiegato all’interno dell’articolo Come usare IFTTT.com con Home Assistant e Google Home Mini nella Casa DOMOTICA.

La procedura è molto semplice, eventualmente puoi leggere anche la guida ufficiale sul sito Home Assistant.

Creare un nuovo pulsante all’interno di Home Assistant con Input Boolean

Nel file di configurazione configuration.yamal oppure nel vostro file dove raccogliete tutti gli input boolean inserire questo codice:

input_boolean:
  luce_ufficio:
    name: Luce Ufficio Sonoff

Quindi riavviare Home Assistant, adesso se andate in strumenti per gli sviluppatori -> stati tra le entità ci sarà anche input_boolean.luce_ufficio.

Se volete potete aggiungere la nuova entità al front-end di Home Assistant.

Ora sarà necessario creare un’automazione che, quando il valore di input_boolean passa a “ON”, invia una richiesta via web al servizio Webhooks passando una variabile.

Creare una nuova automazione all’interno di Home Assistant

Questa è l’automazione da creare all’interno di Home Assistant:

automation:
- alias: Accendi Luce Ufficio Sonoff
  trigger:
    platform: state
    entity_id: input_boolean.luce_ufficio
  condition:
    condition: state
    entity_id: input_boolean.luce_ufficio
    state: 'on'
  action:
    - service: ifttt.trigger
      data: {"event":"sonoff_ufficio_on"}

Come creare un nuovo Applet su IFTTT.com in grado di collegare Home Assistant con il Sonoff Basic

Il passo successivo è quello di andare su IFTTT.com e e creare una nuova applet.

In “this” scegliere “Webhooks” quindi selezionare “Receive a web request”.

IFTTT creare una nuova applet per collegare Home Assistant al Sonoff Basic R2

In “Event Name” scrivere l’evento che passiamo, in questo caso “sonoff_ufficio_on”, senza le doppie virgolette, quindi cliccare su Create trigger.

In “that” cercare eWelink e selezionare “Turn 1 Channel Plug on or off”, se usate il Sonoff 4CH Pro allora dovrete selezionare “Turn 4 Channells Plug on or off”.

IFTTT in this segliere il Sonoff Basic e on come azione

A questo punto se avete già associato il vostro account eWelink con IFTTT.com vedrete comparire il nome del vostro Sonoff Basic all’interno del campo “Which 1 Channel Plug?”. In caso contrario collegate il vostro account eWelink a IFTTT.

In “Turn on or off?” selezionare”on”. Quindi cliccare sul bottone “Create action” e poi su “Finish”.

A questo punto se andiamo su Home Assistant e switchiamo il nostro input_boolean.luce_ufficio partirà una chiamata Web verso IFTTT.com, in particolare al servizio Webhooks.

Il servizio Webhooks catturerà l’evento “sonoff_ufficio_on” e attraverso la nostra applet il Sonoff Basic R2 passerà dallo stato “OFF” a “ON”.  Qualsiasi cosa ad esso collegato verrà alimentato, una lampadina, un ventilatore, una stufa, un condizionatore portatile ecc.

Spegnere la lampadina con Sonoff Basic, Home Assistant e IFTTT.com

Il passaggio successivo sarà quello di replicare quanto visto fino ad ora per poter spegnere la lampadina, o altro prodotto ad esso collegato.

Creiamo l’automazione per spegnere la lampadina.

- alias: Spegni Luce Ufficio Sonoff
  trigger:
    platform: state
    entity_id: input_boolean.luce_ufficio
  condition:
    condition: state
    entity_id: input_boolean.luce_ufficio
    state: 'off'
  action:
    - service: ifttt.trigger
      data: {"event":"sonoff_ufficio_off"}

Poi andiamo su IFTTT.com e creiamo una nuova applet.

In “this”  scegliamo Webhooks, come evento Webhooks inseriremo “sonoff_ufficio_off” e in that diremo di impostare su “off” il nostro smart switch wifi della Sonoff.

IFTTT in this segliere il Sonoff Basic e OFF come azione

Tutto quando fatto fino a ora va bene per accedere e spegnere il Sonoff Basic R2 da Home Assistant, ma se noi accendiamo la lampadina dall’applicazione eWelink come facciamo a vedere su Home Assistant che questa è accesa?

Per risolvere questo problema dobbiamo creare due semplici script che cambiano lo stato del nostro input_boolean.luce_ufficio. La strada da percorrere è molto simile a quella vista sopra, passerà sempre attraverso Webhooks, IFTTT e eWelink, ma sarà percorsa al contrario.

Creiamo due script per impostare su ON/OFF l’Input Boolean

script:
  input_boolean_sonoff_off:
    alias: "Set input_boolean Sonoff OFF"
    sequence:
      - service: input_boolean.turn_off
        data:
          entity_id: input_boolean.luce_ufficio
        
  input_boolean_sonoff_on:
    alias: "Set input_boolean Sonoff ON"
    sequence:
      - service: input_boolean.turn_on
        data:
          entity_id: input_boolean.luce_ufficio

Su IFTTT creiamo due Applet per attivare i due script su Home Assistant

Creiamo un nuovo Applet su IFTTT, su “this” cercare eWelink, quindi selezionare “1 Channel Plug turned on or off”.

Configuriamo questa parte selezionando il dispositivo Sonoff Basic e in “Turned on or off” impostiamo “on”. Clicchiamo su “Create trigger”.

Click su “that”, cerchiamo il servizio Webhooks, click su “Make a web request”, quindi inseriamo l’url completo per raggiungere da remoto il nostro Raspberry Pi 3 con installato Home Assistant.

Questa parte prevede che abbiate la possibilità di accedere da remoto a Home Assistant, cosa molto semplice da fare con il plugin Duck DNS. Leggi anche l’articolo Come accedere a Home Assistant da remoto.

Nel campo URL va inserito l’URL di accesso da remoto ad Home Assistant installato su Raspberry Pi 3 https://tuo_dominio.duckdns.org:81XX/api/services/script/turn_on?api_password=tua_api_password
In “Method” impostare “POST”, in “Content Type” impostare “application/json” e in “Body” inserire il {"entity_id":"script.input_boolean_sonoff_on"}. Salvare l’applet.

Attivare uno script su Home Assistant con IFTTT e Webhooks

L’ultima cosa che ci rimane da fare è creare un nuovo applet come quello appena creato, ma questa volta verrà attivato lo script script.input_boolean_sonoff_off.

Interruttore Smart Wifi Sonoff Basic con Home Assistant senza Tasmota – Considerazioni finali.

Senza dover installare il firmware Tasmota e senza fare saldature sulla board del Sonoff Basic R2 siamo riusciti a configurare l’interruttore smart Sonoff all’interno di Home Assistant sfruttando i servizi IFTTT e Webhooks.

Dato che non abbiamo apportato alcuna modifica al firmware originale il nostro Sonoff Basic R2, questo sarà perfettamente compatibile con gli assistenti domestici Google Home e Alexa, quindi possiamo controllare il pulsante smart anche attraverso comandi vocali.

Il controllo attraverso comandi vocali del Sonoff Basic RM2 con firmware Tasmota sarebbe comunque possibile. In modo semplice sfruttando il servizio cloud di Home Assistant (Nabu Casa a 5 euro al mese), oppure integrando manualmente Home Assistant e Alexa all’interno di Home Assistant.