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”