Come configurare Home Assistant per creare Switch e Script MQTT
di Luigi Duchi
23 Aprile 2018
Home Assistant
Nelle precedenti guide abbiamo mostrato come configurare il nostro Raspberry per aggiungere un servizio di Broker MQTT (QUI trovate la guida).Questo ci consentirà ad esempio di far comunicare i nostri Sonoff, riprogrammati con il firmware alternativo Tasmota, con il nostro Home assistant. Non solo, questo protocollo di comunicazione verrà spesso usato nei vari dispositivi che andremo a recensire in futuro.
Oggi ci dedicheremo alla creazione di switch mqtt che potremo ad esempio utilizzare per comandare un'uscita del Sonoff impostato come switch e sulla creazione di script mqtt.pubblish che potremo utilizzare ad esempio con i nostri Sonoff 4ch pro in modalità inching(impulso). Avendo a mia disposizione i soli Sonoff 4ch pro gli esempi che farò in quest'articolo si baseranno proprio su questo dispositivo, ma ovviamente il log di tasmota e' identico per tutti gli altri dispositivi.
switch mqtt:
Abbiamo appena flashato il nostro sonoff 4ch pro (ma questa guida va bene anche con i basic) con tasmota e precedentemente, abbiamo spostato i nostri dip switch sulla scheda in modalità self-locking (che poi e' la modalità base del sonoff basic) ovvero premendo uno dei comandi il relè della rispettiva uscita rimarrà eccitato fin quando non ripremerò di nuovo il medesimo comando. Per le altre modalità di programmazione vi rimando a quest'articolo. Ma andiamo a vedere come integrare questo comando in Home Asssistant.
se ricorderete nell'articolo del Flash del sonoff over the air avevo indicato di settare nelle impostazioni mqtt di tasmota i parametri che precedentemente avevate impostato sul broker mqtt sul raspberry
Quindi in ordine:
host: indirizzo ip del vostro Raspberry
porta: la porta che avete utilizzato in fase di configurazione del broker mqtt
client: inserirete un nome identificativo a vostra scelta
utente e password: Saranno quelli che avete impostato per mqtt sul vostro broker
topic: anche qui sceglierete un nome a vostro piacimento che indicherà il nome del dispositivo che dovrà compiere l'azione (potrà anche essere identico al nome del client)
full topic: lasciatelo invariato come lo trovate di default
andiamo dunque a vedere come ricavare i nostri dati da inserire sullo switch mqtt sul nostro home assistant.
Dal menù principale del vostro sonoff tasmota
noterete i 4 pulsanti di comando del sonoff 4ch pro (nel caso del basic ci sarà uno solo e così via nei vari modelli)
prendiamo ad esempio la prima uscita, attiviamola e subito dopo disattiviamola. Ovviamente il servizio al quale avete collegato quell'uscita (es. una lampada) si attiverà per poi tornare inattivo alla seconda pressione sul comando.
Benissimo adesso premete sul pulsante console dove all'interno di un riquadro troverete il log del vostro sonoff
noterete che vi ha notificato l'accensione e lo spegnimento del canale 1 mostrando appunto le diciture:
stat/tasmota_4chpro4/POWER1 = ON
stat/tasmota_4chpro4/POWER1 = Off
questo e' il topic di cui abbiamo bisogno per creare il nostro switch mqtt.
ci recheremo adesso sul nostro raspberry andando a cercare il famoso file configuration.yaml
sotto la categoria switch (ricordandosi di lasciare due spazi dal bordo prima di scrivere) andremo ad inserire la seguente stringa:
dove dopo name: lascerete uno spazio e tra virgolette inserirete il nome che volete dare allo switch ad esempio:
name: "prova"
Dopo state_topic: lascerete uno spazio e andrete ad inserire, sempre tra virgolette, il log che avrete letto su tasmota, nel mio caso:
state_topic: "stat/tasmota_4chpro4/POWER1"
Dopo command_topic: lascerete uno spazio e sempre tra virgolette, andrete ad inserire il comando ricavato dal log che nel mio caso sarà:
command_topic: "cmnd/tasmota_4chpro4/POWER1"
Il resto lo lascerete invariato. Salvate il vostro file configuration.yaml e riavviate Home Assistant
Ecco fatto, al riaprirsi di HA vi ritroverete il vostro switch mqtt nella schermata.
ovviamente il sonoff 4chpro ha 4 canali pertanto, per inserire i rimanenti 3, non dovrete far altro che copiare la medesima stringa che avete fatto per il primo canale e sostituire in state_topic e command_topic il numero dopo la scritta POWER con i rispettivi numeri. Percio' diventerà POWER 2 POWER 3 POWER4.
Una volta terminato avrete i vostri switch comandabili dall'interfaccia grafica di home assistant.
Script mqtt.pubblish:
Se come me ad esempio avete impostato il vostro sonoff 4ch pro in modalità inching(impulso) vi converrà creare uno script che faccia lanciare appunto quell'impulso al sonoff tramite mqtt, la comodità di creare questo script è che lo potrete integrare in altri comandi come ad esempio i template switch (ma di questo parleremo in un altra guida).
Come muoversi? Andrò ad utilizzare come esempio il medesimo Sonoff per farvi capire più facilmente
per prima cosa andate nel file configuration.yaml oppure se avete diviso i vari comandi, nel file script.yaml
e digitate la seguente stringa:
ovviamente al posto di spot_cucina inserirete il vostro nome e ovviamente il cmnd dovrà essere quello relativo al vostro Sonoff, salvate e riavviate Home Assistant e vi comparirà il vostro script.
Bene, anche per questa guida abbiamo concluso. Per ulteriori chiarimenti risponderemo ai commenti di seguito.
Continuate a seguirci sui nostri canali.
Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.