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

martedì 24 ottobre 2017

Home Automation System - OpenHAB v.2 Piccolo miglioramento per il monitoring della rete




Dopo l'introduzione dei gruppi nel mio setup di OpenHAB v.2 ho migliorato leggermente la configurazione del monitoring di rete.

Ho infatti aggiunto un gruppo chiamato gNetworkCheck, che verrà assegnato a tutti i dispositivi che verranno tenuti sotto monitoraggio. Questo gruppo assumerà il valore ON quando tutti gli item contenuti saranno in stato ON, altrimenti OFF.

La regola che gestisce il monitoraggio a questo punto non viene definita per ogni dispositivo, ma direttamente sul gruppo; in questo modo ogni volta che aggiungo un dispositivo da monitorare, è sufficiente che esso venga assegnato anche al gruppo gNetworkCheck, senza dover scrivere una "rule" a lui dedicata.

Ho quindi modificato il mio file /etc/openhab2/rules/checks.rules, eliminando tutte le regole associate ai singoli "item" ed inserendone una sola relativa al gruppo:

rule "network check"
when
Item gNetworkCheck changed
then
val lastItem = gNetworkCheck.members.sortBy[lastUpdate].last
logInfo("rules", "NETWORK CHECK -> " + lastItem.name + " changed to " + lastItem.state)
sendNotification([user_to_be_notified], "NETWORK CHECK -> " + lastItem.name + " changed to " + lastItem.state)
end


Seguendo un suggerimento di un thread del forum di OpenHAB (https://community.openhab.org/t/determining-the-triggering-item-in-the-body-of-a-rule/2654/4?u=alex73) sono riuscito ad identificare l'elemento che ha scatenato il cambio di valore del gruppo. In questo modo lo posso indicare nel testo della notifica.

Ecco la sitemap aggiornata con l'indicazione del gruppo