community italiana di domotica personale
 
Integrare Aeotec WallMote / WallMote Quad a Home Assistant

Integrare Aeotec WallMote / WallMote Quad a Home Assistant

SCOPI DELLA GUIDA
CONCETTI AFFRONTATI:
  • Utilizzo e configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI
  • Home Assistant configurato e funzionante
  • Una rete Z-Wave già definita presso Home Assistant (spiegato a seguire)
DISPOSITIVI FISICI UTILIZZATI:
GUIDA INDICATA A UTENTI CON ISTALLAZIONE:
Ambienti Home Assistant HassOS-Supervised-Core
NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata e realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fa decadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In caso di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat;
  • gli articoli di inDomus sono totalmente indipendenti e non sponsorizzati. Se mai questo cambiasse, verrà segnalato chiaramente sulle pagine oggetto di sponsorizzazione;
  • se hai bisogno di orientarti, c'è la mappa.
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.Aeotec WallMote - In mano

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:

Home Assistant - Z-Wave - Add Node

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).

Home Assistant - Z-Wave - Aeotec WallMote Node

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.