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”

 

Please, buy me a beer!
Be generous, please