Di seguito una breve guida che illustra come collegare uno shelly1 ad un impianto di domotica realizzato con Home Assistant.

Il collegamento è realizzato utilizzando il protocollo mqtt

Prerequisiti

  • avere opportunamente configurato mqtt su Home Assistant
  • aver collegato i cavi di alimentazione, dell'interruttore/deviatore/pulsante e del dispositivo da comandare a Shelly1

Dopo aver verificato i prerequisiti, fare le seguenti configurazioni:

Dispositivo

La prima volta che viene collegato il dispositivo alla rete elettrica verrà avviato un access point.

La rete è aperta, collegarsi a questa rete.

Avviare un browser e collegarsi all'indirizzo dello Shelly. (Nel mio caso era http://192.168.33.1. Se non dovesse essere questo basta vedere quale indirizzo ip è stato assegnato al proprio pc - nel mio caso era 192.168.33.3 - e collegarsi al primo indirizzo disponibile).

Una volta fatto l’accesso si aprirà la seguente schermata:

 

Per collegare il dispositivo alla rete di casa fare i seguenti passi:

  • Cliccare su “Internet & Security”
  • Cliccare su “Wifi Mode Client”
    • Selezionare “Connect the Shelly device to an existing WiFi Network”
    • Consiglio di mettere un ip statico tra quelli non assegnabili dal DHCP del router se non si sa cosa si sta facendo usare il DHCP
    • Cliccare su “Save”

 

  • Collegare il sistema con l’mqtt di “Home Assistant”
    • Selezionare “Enable action execution via MQTT”
    • Mettere il nome utente e la password dell’utente mqtt impostati su “Home Assistant”
    • In “Server” impostare l’indirizzo ip del server e la porta dell’mqtt che se non è stata modificata sarà 1883
    • Lasciare vuoti “Will Topic” e “Will Message”
    • Cliccare su “Save”

Configurare il dispositivo per farlo funzionare con i pulsanti o con gli interruttori o i deviatori.

  • Cliccare su "Settings"
  • Cliccare su "Button Type"
  • Se si ha un interruttore o un deviatore consiglio di scegliere "Edge Switch"
    • Se si sceglie "Edge Switch" cliccare su "Power on default mode" e selezionare "Restore Last Mode"

Infine sarà necessario individuare l’id del dispositivo:

  • Cliccare su “Settings”
  • Cliccare su “Device Info”
  • Individuare il codice alfanumerico di 6 cifre e memorizzarlo facendo attenzione a rispettare maiuscole e eventuali minuscole. Il codice ci servirà nella configurazione del server.
  • Riavviare il dispositivo

Server

  • Collegarsi in ssh al server (o usare qualsiasi altro metodo per modificare il file configuration.yaml);
  • accedere al file in cui è stato configurato l’mqtt (se non è stata fatta alcuna configurazione particolare questo file sarà /config/configuration.yaml, nel mio caso è /config/luci.yaml);
  • fare la seguente modifica (gli spazi iniziali sono necessari):

  - platform: mqtt
    name: "nomeLampada"
    state_topic: "shellies/shelly1-XXXXXX/relay/0"
    command_topic: "shellies/shelly1- XXXXXX/relay/0/command"
    qos: 0
    payload_on: "on"
    payload_off: "off"
    retain: false

sostituire XXXXXX con il codice del dispositivo

sostituire nomeLampada con il nome che si desidera dare alla lampada

riavviare “Home Assistant”

 

Se pensi che questo articolo ti sia stato utile potresti offrirmi una birra! Grazie!