Come creare pulsante multi-scena da integrare nella nostra domotica
di Antonio Mario Longo
26 Febbraio 2021
Guide
Siamo molto spesso abituati a vedere pulsanti wireless di varie marche e vari protocolli che, con la singola o la doppia pressione o anche alla pressione prolungata, eseguono varie azioni. Ne abbiamo visto un esempio in un articolo precedente con un Package su come spegnere tutto con un click (https://www.vincenzocaputo.com/home_assistant/home-assistant-un-package-per-spegnere-tutto-con-un-click-597).
Oggi sostituiremo il tutto con un pulsante, da mettere magari in una cassetta 503 che segue il design del vostro appartamento.
Materiale Necessario:
- Wemos D1 Mini (https://amzn.to/2XpD8Mm)
- Cavetti Dupont (https://amzn.to/3aYqNsh)
- Modulo di alimentazione da 220v AC a 5V DC (https://amzn.to/3pXdxbF)
- In alternativa al modulo di alimentazione un Carica Batterie Usb per smartphone(https://amzn.to/3kDv5IZ)
- Cavo alimentazione micro usb (https://amzn.to/3kq8WgS)
- Pulsante (https://amzn.to/3kqanfe)
- Home Assistant installato e funzionante
- Addon EspHome installato su Home Assistant (https://www.vincenzocaputo.com/guide/istallazione-addon-esphome-su-home-assistant-553)
- Addon Samba o Ftp installato e funzionante
COLLEGAMENTO WEMOS D1 MINI A PULSANTE
In questa parte vedremo il collegamento da effettuare sul pulsante Wemos D1 Mini sul pulsante tramite alimentazione con semplice cavo micro USB collegato ad un'alimentatore a parete o con il supporto di un' alimentatore da 220V AC a 5V DC
SCHEMA CON ALIMENTATORE USB
SCHEMA CON ALIMENTATORE DA 220v AC a 5VDC
CREAZIONE FIRMWARE CON ESPHOME
Dopo aver effettuato i vari collegamenti passiamo alla creazione del firmware con EspHome dirigendoci in Home Assistant e nel menù laterale sinistro cliccate su ESP Home.
- Create un nuovo nodo cliccando sul + in basso a destra
- Al nuovo Pop Up che si aprirà compilate i campi nel seguente modo:
- Node Name: pulsante_multiscena (attenzione all'underscore tra pulsante e multiscena e tutto obbligatoriamente in minuscolo)
- Device Type: Wemos D1 and Wemos D1 mini
- Wifi SSID: inserite il nome della vostra rete Wifi
- Wifi Password: digitate la password della vostra rete Wifi
- Ota Access Password: Lasciare il campo vuoto
- Terminata la configurazione guidata cliccando sul tasto Submit
- Cliccate sulla scritta Edit del nodo appena creato (pulsante_multiscena), si aprirà un editor di testo, all'interno del quale saranno presenti tutte le informazioni che avremo inserito nel wizard della costruzione del nodo.
- In fondo al file andate a incollare il seguente codice che di seguito andremo ad analizzare:
binary_sensor: - platform: gpio pin: number: D4 mode: INPUT_PULLUP inverted: True name: "Pulsante Multiscena" on_multi_click: - timing: - ON for at most 1s - OFF for at most 1s - ON for at most 1s - OFF for at least 0.2s then: - homeassistant.service: service: input_boolean.turn_on data: entity_id: input_boolean.doppio_click - delay: 0.2s - homeassistant.service: service: input_boolean.turn_off data: entity_id: input_boolean.doppio_click - timing: - ON for 1s to 3s - OFF for at least 0.5s then: - homeassistant.service: service: input_boolean.turn_on data: entity_id: input_boolean.click_prolungato - delay: 0.2s - homeassistant.service: service: input_boolean.turn_off data: entity_id: input_boolean.click_prolungato - timing: - ON for at most 1s - OFF for at least 0.5s then: - homeassistant.service: service: input_boolean.turn_on data: entity_id: input_boolean.click_singolo - delay: 0.2s - homeassistant.service: service: input_boolean.turn_off data: entity_id: input_boolean.click_singolo
E' stato creato, nelle prime 7 righe, un sensore binario chiamato "Pulsante Multiscena" che prende l'input dal pin D4 del Wemos D1 Mini.
Successivamente vengono identificati tre Timing per identificare il tipo di Click che viene eseguito: singolo, doppio o prolungato.
Codice Click Singolo
Questo tipo di evento si presenta quando avremo la pressione del pulsante per un tempo massimo di 1 secondo:
- timing:
- ON for at most 1s
- OFF for at least 0.5s
Successivamente si attiverà un input booleano denominato click_singolo e lo disattiverà dopo 0.2 Secondi con il codice sotto riportato
then:
- homeassistant.service:
service: input_boolean.turn_on
data:
entity_id: input_boolean.click_singolo
- delay: 0.2s
- homeassistant.service:
service: input_boolean.turn_off
data:
entity_id: input_boolean.click_singolo
Codice Doppio Click
Quando avremo una pressione sul pulsante per un secondo, verrà rilasciata la pressione per un altro secondo e verrà ripremuto lo stesso per un altro secondo e rilasciato per almeno 0.2 secondi verrà eseguito il seguente codice:
- timing:
- ON for at most 1s
- OFF for at most 1s
- ON for at most 1s
- OFF for at least 0.2s
Dopo il timing sopra indicato si attiverà un secondo input boolean denominato doppio click che si disattiverà dopo 0.2 secondi con le seguenti stringhe:
then:
- homeassistant.service:
service: input_boolean.turn_on
data:
entity_id: input_boolean.doppio_click
- delay: 0.2s
- homeassistant.service:
service: input_boolean.turn_off
data:
entity_id: input_boolean.doppio_click
Codice Click Prolungato
Nell'ultima parte invece, viene introdotto il timing per un click prolungato. Quindi il pulsante viene premuto per un tempo che va da 1 a 3 secondi e viene rilasciato per almeno 0.5 secondi
- timing:
- ON for 1s to 3s
- OFF for at least 0.5s
Come per gli altri due tipi di click anche questo attiva un' altro input boolean denominato click prolungato e a sua volta lo disattiva dopo 0.2 secondi dall'attivazione.
Scrittura del Firmware su Wemos D1 Mini
- Terminato il tutto premete Validate e se il file appena scritto è valido avrete il simbolo del pollice verso l'alto che indica la correttezza del file
- recatevi sulla pagina principale dell'addon e in alto a destra selezionare /dev/ttyUSB0
- Una volta selezionata la porta USB premete sul pulsante Upload
Configurazione in Home Assistant
- Terminato il processo di Upload su Home Assistant vi apparirà una notifica indicante la scoperta di un nuovo dispositivo
- Aggiungete l'integrazione della nuova entità al vostro sistema, cliccando sulla scritta Check it Out e ricollocatela in un'area in Home Assistant
- Tramite l'addon Samba o Ftp server bisognerà aggiungere un package all'interno dell'omonima cartella denominato pulsantemultiscena.yaml reperibile a questo link.
Analizzando brevemente il package potremo capire che nelle prime righe sono definiti i 3 input boolean di cui il nostro pulsante fa riferimento per il corretto funzionamento denominati:
- input_boolean.click_singolo
- input_boolean.doppio_click
- input_boolean.click_prolungato
Di seguito avremo 3 automazioni che si attiveranno in base al tipo di input_boolean attivato dal pulsante. Quindi sostituire l'azione con il servizio desiderato per far eseguire all'automazione l'operazione da voi richiesta
In seguito potrete vedere il video tutorial e un breve esempio di funzionamento
Vi ricordo sempre di seguire i nostri canali
Telegram: https://t.me/vincenzocaputoblog
Youtube: https://www.youtube.com/channel/UC-_QPzJhqFr1p5oNljRPRDA e alla nostra pagina ufficiale
Pagina Facebook: https://www.facebook.com/caputovince e al
Gruppo Facebook: https://www.facebook.com/groups/homeassistantita
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.