Disclaimer

Prestare sempre attenzione a seguire le indicazioni fornite in questo blog, soprattutto se si tratta di apparecchiature elettriche collegate alla tensione di 220V. Non mi ritengo responsabile di danni causati dall'aver seguito i consigli qui pubblicati.
Grazie

mercoledì 18 ottobre 2017

Home Automation System - Usiamo i gruppi di OpenHAB v.2




Altro passo in avanti con OpenHAB v.2...parliamo di "gruppi"; leggendo la documentazione ufficiale (http://docs.openhab.org/configuration/items.html#groups) e dopo averli studiati un pochino mi sono reso conto che non sono delle semplici etichette per categorizzare gli items gestiti da OpenHAB, ma possono servire anche come "aggregatori di informazioni" nelle sitemap, essere utilizzati nelle "rules" ed avere un loro valore puntuale, derivato dai valori dei singoli items ad essi associati. Possono anche ricevere dei comandi che saranno inviati agli oggetti contenuti.

Il "gruppo" non è nient'altro che un item con delle particolarità. Esso infatti viene definito in un file .items presente nella cartella degli items. Ho quindi creato un file dedicato, chiamato groups.items, nella cartella /etc/openhab2/items ed ho iniziato a definire alcuni gruppi che mi potranno tornare utili nel proseguio della configurazione del sistema.

I gruppi possono essere annidati e quindi è possibile creare una vera e propria struttura gerarchica.

La sintassi la trovate nella documentazione ufficiale ed è molto semplice.

I gruppi che ho iniziato a creare mi serviranno per raggruppare gli item secondo i piani e le stanze della casa (main floor, first floor, kitchen, garden...), la tipologia di item (sensor, switch, network, etc etc...), l'utilizzo (lights, temperature etc etc...) e man mano che mi serviranno ulteriori categorizzazioni le andrò ad aggiungere...

Ho fatto in modo che alcuni di questi gruppi possano avere un loro valore, dipendente dai valori degli item / gruppi contenuti. Alcuni esempi:

- il gruppo gTemperatureFirstFloor conterrà tutti i sensori di temperatura presenti al primo piano e il suo valore sarà definito come la media dei valori di tutti i sensori;

- il gruppo gEnergyConsumer conterrà tutti i sensori di misurazione potenza consumata e il suo valore ne sarà la somma;

- il gruppo gLightSwitchGarden conterrà tutti gli switch delle luci del giardino ed il suo valore sarà un ON se almeno uno switch sarà in stato ON altrimenti OFF

Questi gruppi potranno essere inseriti anche nelle sitemap dove si potrà vedere il relativo valore (se lo hanno...) e, tramite un click, vedere tutti gli item / gruppi in esso contenuti, creando una vera e propria visualizzazione gerarchia.

Ad esempio, riprendiamo il gruppo delle luci esterne ed affianchiamogli i gruppi delle luci dei vari piani della casa: gLightSwitchFirstFloor, gLightSwitchMainFloor, gLightSwitchGroundFloor (all'interno di essi inseriremo gli items relativi agli switch delle luci...). Creiamo un nuovo gruppo chiamato gLightSwitch ed inseriremo al suo interno tutti i gruppi delle luci definiti prima.

Inserendo in una sitemap il gruppo gLightSwitch avremo a disposizione una navigazione gerarchica fino ad arrivare ai singoli items, passando dai gruppi intermedi, ognuno con il proprio valore riassuntivo; inviando comandi a gLightSwitch potremmo comandare, tramite un solo oggetto, l'accensione e lo spegnimento di tutte le luci di casa.


Ecco un video di esempio per la gestione delle luci