Rule enable/dissable "has changed" als Trigger

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Oekel
Beiträge: 142
Registriert: 28. Aug 2021 10:34
Answers: 0

Rule enable/dissable "has changed" als Trigger

Beitrag von Oekel »

Moin,

ich verwende in an einigen Stellen in Scripten das FLAG:

Code: Alles auswählen

rules.setEnabled("rule_house_presence_simulation", true);
Erste Nebenbaustelle/Frage, kann ich daraus eine eigene Blockly Lib bauen? (Der InlineScript-Feld-Editor wird bereits nach wenigen Zeichen so hässlich.)

Eigentliche Frage:
Ist es mir vergönnt die Statusänderunge einer Rule als Trigger zu verwenden?

Mein Vorhaben wäre, sowohl die Thinks (online/offline) als auch die Rules (enabled/dissabled) zu prüfen, so dass das OH selber erkennt, ob es sich in einem gewolltem Zustand befindet,oder ob man beim letzten "Spielen" vielleicht eine wichtiges Element deaktiviert hat/ausgefallen ist.

LG

Benutzeravatar
udo1toni
Beiträge: 13986
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Rule enable/dissable "has changed" als Trigger

Beitrag von udo1toni »

Der Befehl ist mutmaßlich JavaScriipt?
Es sollte (ohne dass ich das je gemacht hätte...) kein Problem sein, einen passenden Block zu erstellen, das ist ja einer der großen Vorzüge von Blockly, dass man Funktionen erstellen kann.

Trigger: Da muss ich Dich enttäuschen, es gibt nur genau definierte Quellen als Trigger, das ein/ausschalten einer Rule gehört nicht dazu.
Wohl kannst Du aber bei einem Trigger System started oder auch Thing triggered eine Rule ausführen lassen und innerhalb dieser Rule dann vermutlich auch den Zustand des Settings (also true/false) abfragen, naheliegend wäre hier rules.getEnabled(rulename).

EDIT: eventuell heißt es auch rules.isEnabled(rulename)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Harka
Beiträge: 308
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: Rule enable/dissable "has changed" als Trigger

Beitrag von Harka »

Moin,
alternativ kannst Du das Inlinesript auch in eine Funktion oder gar eigenes Script auslagern um es aus dem Blickfeld zu verbannen.

Antworten