Come configurare Home Assistant per creare Switch e Script MQTT

Home Assistant

Scritto da Luigi Duchi

 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'articoloMa 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.

Luigi Duchi

Nato a Grosseto il 24 Dicembre 1982 perito elettrotecnico che lavora nel mondo della domotica e installazione di impianti elettrici, impianti di allarmi, videosorveglianza e automazioni in genere. Appassionato da sempre di tecnologia e aperto alla conoscenza di nuove soluzioni.


Vai ai commenti