OpenHAB v3 Rules für Ihren WQHD INSTAR MQTTv5 Broker

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:

OpenHAB with your WQHD INSTAR MQTTv5 Broker

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:

OpenHAB with your WQHD INSTAR MQTTv5 Broker

Wir müssen nun ein Thing aus den Sonnen-Daten erstellen, die wir jetzt von der Astro-Binding erhalten:

OpenHAB with your WQHD INSTAR MQTTv5 Broker

Dieses Thing ist mit einem Channel für den Sonnenaufgang und Sonnenuntergang vorkonfiguriert, den wir verwenden können:

OpenHAB with your WQHD INSTAR MQTTv5 Broker

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

OpenHAB with your WQHD INSTAR MQTTv5 Broker

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:

OpenHAB with your WQHD INSTAR MQTTv5 Broker

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.