SCOPI DELLA GUIDA
CONCETTI AFFRONTATI:
|
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI
DISPOSITIVI FISICI UTILIZZATI:
|
GUIDA INDICATA A UTENTI CON ISTALLAZIONE:![]() |
|
NOTE E DISCLAIMER
|
|
Revisione guida: 1.0 |
ATTENZIONE: La presente guida è obsoleta. Al suo posto ne abbiamo rilasciato una più attuale basata su Z-Wave JS.
Abstract
L’adozione di pulsanti touch wireless nella propria domotica personale può essere particolarmente comoda al fine di controllarne le diverse funzioni con il semplice tocco di un dito, senza tra l’altro la necessità di spaccare muri, portare alimentazioni di rete o altro.
Il WallMote della Aeotec è proprio uno di questi pratici attuatori: una volta fissata la sua base magnetica tramite un sottile biadesivo al muro di destinazione, è sufficiente avvicinarvi l’unità per far sì che essa si ancori ad essa e diventi in tutto e per tutto una superficie tattile tramite la quale comandare la domotica. L’alimentazione a batteria – ricaricabile – garantisce il funzionamento per mesi.
Ora, trattandosi di un dispositivo Z-Wave è naturale immaginarlo integrato ad Home Assistant al fine di utilizzarlo per controllarne le entità in esso definite; a differenza di altri componenti basati di questo protocollo – i quali è sufficiente aggiungerli come nodi alla rete Z-Wave gestita da Home Assistant per vederli “sorgere” quali entità autonome immediatamente utilizzabili – l’Aeotec WallMote si differenzia per un piccolo perfezionamento nella configurazione strettamente necessario al fine di riuscire ad utilizzarne le funzioni.
Questa guida illustra tale perfezionamento, dando per assunta la presenza di una rete Z-Wave su Home Assistant; l’HUB, infatti, integra in sé la capacità di gestire i nodi di una rete Z-Wave tramite la presenza di un antenna fisica collegata sul computer su quale sia in esecuzione.
Per definire una rete Z-Wave tramite Home Assistant esistono svariate antenne (solitamente in formato dongle USB); noi consigliamo – per il semplice fatto di averlo testato con successo – l’adozione dell’antenna dongle USB Aeotec Z-Stick.
Si parte
Aggiungere il nodo alla rete Z-Wave è piuttosto semplice, ma spesso porta confusione. Chiariamo immediatamente che l’inclusione del nodo rappresentato dall’attuatore WallMote di Aoetec deve venire effettuata direttamente da Home Assistant e non in altre modalità: per farlo è sufficiente recarsi presso il pannello di gestione Z-Ware di Home Assistant (“Impostazioni” > “Z-Wave“) e selezionare “Add Secure Node” o “Add Node” in base alle modalità di inclusione previste dal componente da aggiungere:
Una volta selezionata la voce d’interesse sarà sufficiente premere il piccolo pulsante posto sul retro dell’unità WallMote per permettere l’ingresso del componente sulla nostra rete Z-Wave.
Dopo pochi istanti presso la voce “Nodes” nell’elenco dei nodi dovrebbe apparire il nuovo nodo chiamato “AEON Labs ZW130 WallMote” oppure “AEON Labs ZW130 WallMote Quad” (in base al modello).
Segnarsi da parte il numero di nodo assegnato al componente (in questo caso “2“).
Si consiglia poi di riavviare Home Assistant.
Entità
L’inclusione del componente presso la nostra rete Z-Wave genera presso Home Assistant una serie di entità: quattro sensor e sei switch:
- zwave.aeon_labs_zw130_wallmote
- sensor.aeon_labs_zw_wallmote_alarm_level
- sensor.aeon_labs_zw_wallmote_alarm_type
- sensor.aeon_labs_zw_wallmote_power_management
- sensor.aeon_labs_zw_wallmote_sourcenodeid
- switch.aeon_labs_zw_wallmote_switch
- switch.aeon_labs_zw_wallmote_switch_2
- switch.aeon_labs_zw_wallmote_switch_3
- switch.aeon_labs_zw_wallmote_switch_4
- switch.aeon_labs_zw_wallmote_switch_5
Purtroppo – e da qui la necessità della presente guida – nessuna di queste entità può essere utilizzata direttamente come trigger di un’automazione come invece il nome suggerirebbe (sopratutto per quanto riguarda le entità “Switch“). La prima entità (“zwave.aeon_labs_zw130_wallmote_quad“) è quella rappresentativa dell’unità WallMote – è importante riconoscerla per utilizzarla, successivamente, nell’automazione.
Per far sì che sia possibile innescare delle azioni automatiche a fronte della pressione di uno dei due/quattro pulsanti del WallMote è necessario attuare una piccola modifica al file contenente le scene e le configurazioni dei componenti Z-Wave.
File zwcfg
Dopo aver definito una rete Z-Wave presso Home Assistat e dopo aver aggiunto uno o più nodi, nella cartella nella quale è solitamente contenuta la configurazione appariranno nuovi file:
- zwscene.xml
- zwcfg_*.xml
Il secondo file varia di nome in base alla propria installazione, ma contiene sempre il prefisso “zwcfg“, il che lo rende sempre facilmente distinguibile. Tale file contiene una serie di informazioni relative ai nodi Z-Wave; in questo caso andremo ad identificare quelle relative al nodo WallMote aggiungendo alcune voci che ci abiliteranno poi all’uso in automazione. Si tratta di un file scritto in linguaggio marcatore XML.
Innanzitutto per effettuare tali modifiche è necessario interrompere l’esecuzione di Home Assistant.
Con Home Assistant in stop, aprire tramite un editor di testo il file zwcfg_*.xml e identificare il blocco relativo all’attuatore WallMote. Tipicamente tale blocco comincia a grandi linee così:
<Node id="2" name="" location="" basic="4" generic="24" specific="1" roletype="4" devicetype="7172" nodetype="0" type="Basic Wall Controller" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
dove “Node id=”2″” corrisponde al numero precedentemente identificato nella fase di inclusione del componente nella propria rete Z-Wave. Il blocco contiene tutti i sottoblocchi e le chiavi di configurazione relative a tutti i nodi della propria rete Z-Wave.
Una chiave xml ulteriormente illuminante contenuta nel blocco di cui sopra è la seguente:
<Product type="2" id="82" name="ZW130 WallMote" />
A questo punto è necessario identificare, all’interno del blocco relativo al WallMote da configurare il sottoblocco “CommandClass” con id numero “91“:
<CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE">
il quale si chiude, come tutti i blocchi di tipo “CommandClass“, con:
</CommandClass>
A questo punto è necessario sostituire per intero il blocco e il suo contenuto (quale che sia) con il seguente:
<CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="5" innif="true" scenecount="0"> <Instance index="1" /> <Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" /> <Value type="int" genre="system" instance="1" index="1" label="Button One" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" /> <Value type="int" genre="system" instance="1" index="2" label="Button Two" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" /> <Value type="int" genre="system" instance="1" index="3" label="Button Three" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" /> <Value type="int" genre="system" instance="1" index="4" label="Button Four" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" /> <Value type="int" genre="system" instance="1" index="5" label="Other" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" /> </CommandClass>
a questo punto è necessario salvare il file e avviare Home Assistant. Ad avvio completato, verificare che il contenuto del file zwcfg_*.xml sia effettivamente quello modificato.
Automazione
A questo punto abbiamo indirettamente abilitato le seguenti “scene Z-Wave” (da non confondersi con le “scene” di Home Assistant) utilizzabili tramite automazione:
Azione | scene_id | scene_data |
---|---|---|
Bottone uno singola pressione | 1 | 0 |
Bottone uno mantenimento pressione | 1 | 2 |
Bottone uno rilascio | 1 | 1 |
Bottone due singola pressione | 2 | 0 |
Bottone due mantenimento pressione | 2 | 2 |
Bottone due rilascio | 2 | 1 |
Bottone tre singola pressione * | 3 | 0 |
Bottone tre mantenimento pressione * | 3 | 2 |
Bottone tre rilascio * | 3 | 1 |
Bottone quattro singola pressione * | 4 | 0 |
Bottone quattro mantenimento pressione * | 4 | 2 |
Bottone quattro rilascio * | 4 | 1 |
* se presente.
Poniamo, a mo’ d’esempio, di voler definire un’automazione che si inneschi alla pressione del pulsante 2. e che accenda/spenga una “Light” chiamata “light.ingresso“.
Il codice sarà il seguente:
automation: - alias: Wallmote pressione pulsante 2 trigger: platform: event event_type: zwave.scene_activated event_data: entity_id: zwave.aeon_labs_zw130_wallmote scene_data: 0 scene_id: 2 condition: [] action: - service: light.toggle entity_id: light.ingresso
Come facile intuire, è necessario indicare la corretta entità (in questo caso “zwave.aeon_labs_zw130_wallmote“) della quale intercettare la scena Z-Wave (campi “scene_data” e “scene_id“) al fine di usarla come trigger dell’automazione. Ovviamente la tabella di cui sopra è necessaria in consultazione per definire la corretta coppia “scene_data” e “scene_id” da utilizzare in automazione.
È quindi possibile/necessario definire tante automazioni quanti sono i comportamenti attesi da gestire tramite WallMote (fino a 6 nel caso del modello a due pulsanti e 12 nel caso del modello a quattro).
Ovviamente nel blocco action, come sempre nelle automazioni, sarà possibile indicare qualsivoglia servizio collegato a una o più entità da controllare tramite il nostro WallMote / WallMote Quad.
⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui. |
Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Se ti sei perso, a tua disposizione c'è la mappa. |