OpenHAB v3 Rules für Ihren WQHD INSTAR MQTTv5 Broker
- Teil I - Konfiguration der MQTT-Binding über die Main Benutzeroberfläche
- Teil II - MQTT-Bindingskonfiguration über die Konfigurationsdateien
- Teil III - MQTT Binding Rules
- Teil IV - MQTT Binding Scripts
- Teil V - Guppen und Sitemaps
MQTT Binding Rules & Scripts
A: Teil 1 dieses Tutorials installierte das OpenHAB MQTT Binding und verband es mit dem internen Broker in unserer INSTAR WQHD Kamera unter Verwendung der OpenHab 3 Main UI. In Teil II haben wir dasselbe getan, indem wir die Konfigurationsdateien unserer OpenHab 3 Installation bearbeitet haben. Nun ist es an der Zeit, einige Automatisierungen mit Hilfe der OpenHab Rules Funktion hinzuzufügen.
Rules
Rules werden für die Automatisierung von Prozessen verwendet: Jede Regel kann ausgelöst werden, wodurch ein Skript aufgerufen wird, das beliebige Aufgaben ausführt, z. B. das Einschalten von Lichtern durch die Änderung von Items, das Ausführen mathematischer Berechnungen, das Starten von Zeitschaltuhren usw.
Bei der Kameraüberwachung ist die Tageszeit oft ein wichtiger Auslöser, um Ihre Kamera in eine andere Position zu schwenken, die Empfindlichkeit der Bewegungserkennung zu ändern usw. Hier können wir CRON-Auslöser verwenden, der zu einer bestimmten Tageszeit auslöst und unsere Kamera ensprechend ansteuert:
configuration: {}
triggers:
- id: "2"
configuration:
time: 18:00
type: timer.TimeOfDayTrigger
conditions: []
actions:
- id: "1"
configuration:
itemName: PrivacyAreas
command: OFF
type: core.ItemCommandAction
Eine elegantere Option ist das Astro-Binding, die es uns ermöglicht, den Sonnenaufgang oder Sonnenuntergang als Auslöser zu verwenden, da es oft die wechselnden Lichtverhältnisse sind, die eine Änderung der Kamerakonfiguration erfordern. Um diese Funktion zu nutzen, gehen Sie zu Settings/Bindings und installieren Sie Astro:
Wir müssen nun ein Thing aus den Sonnen-Daten erstellen, die wir jetzt von der Astro-Binding erhalten:
Dieses Thing ist mit einem Channel für den Sonnenaufgang und Sonnenuntergang vorkonfiguriert, den wir verwenden können:
Anstatt die Benutzeroberfläche zu verwenden, können wir nun unsere Rule aufschreiben - da wir nur den Schalter für die Privatsphärebereiche haben, schalten wir den Privatsphäre-Modus ein, sobald der Sonnenaufgang beginnt, und schalten ihn am Ende des Sonnenuntergangs wieder aus:
rules/astro_scenes.rules
rule "Astro Privacy ON"
when
Channel 'astro:sun:home:rise#event' triggered START or Item TEST received command ON
then
PrivacyAreas.sendCommand(ON)
logInfo("Astro Privacy, astroScenes.rules", "Info message :: Privacy ON")
end
rule "Astro Privacy OFF"
when
Channel 'astro:sun:home:set#event' triggered END or Item TEST received command OFF
then
PrivacyAreas.sendCommand(OFF)
logInfo("Astro Privacy, astroScenes.rules", "Info message :: Privacy OFF")
end
Damit ich nicht auf den Sonnenuntergang oder Sonnenaufgang warten muss, um zu sehen, ob der Regelsatz funktioniert, habe ich einen zweiten Auslöser mit einem "oder" or
hinzugefügt - ein einfaches Switch Item:
Das Umschalten dieses Schalters schaltet nun wiederum den Schalter PrivacyAreas, der den Privatsphärenmodus ein- und ausschaltet. Der Test Debug-Schalter kann entfernt werden, sobald Sie sichergestellt haben, dass alles funktioniert.
DEBUGGING: Wenn etwas nicht auf Anhieb funktioniert und Sie OpenHab wie in diesem Tutorial beschrieben eingerichtet haben, können Sie das OpenHab Log mit
tail -f /opt/openhab/openhab_userdata/logs/openhab.log
einsehen und eventuell vorhandene Fehler in Ihrer Konfiguration aufspüren.