OH3 Regel: Schalten mit Zeitverzögerung

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
Kuli
Beiträge: 66
Registriert: 17. Jan 2017 20:51
Answers: 0

OH3 Regel: Schalten mit Zeitverzögerung

Beitrag von Kuli »

Hallo.

Ich möchte nach dem Update eines "Item States" mit Verzögerung (z.B. 15 Minuten) etwas schalten.
Ohne die Verzögerung eine Standardregel, die ich unter "Rules" konfigurieren könnte.
Gibt es für die Verzögerung etwas Fertiges in OH3?
Ich finde da gerade nicht den richtigen Ansatz und will es auch nicht unnötig kompliziert machen.

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

OH3 Regel: Schalten mit Zeitverzögerung

Beitrag von udo1toni »

Grundsätzlich kannstDu das über einen Timer erledigen.
Das Problem mit Timern in OH3: Wenn Du die UI zum Anlegen der Rule nutzt, kannst Du gewöhnlich keine globalen Variablen nutzen. Du könntest also den Timer nicht abbrechen, falls das nötig wird.

Es kommt ein wenig auf die Anwendung an, die Du realisieren willst.
Eventuell reicht schon die Expire-Option, die Du in einem Item aktivieren kannst.

Das Item nimmt, wenn es x Sekunden/Minuten/whatever nicht mehr upgedatet wurde, Status A an. Entweder, indem es ein Send auslöst, oder indem es ein Update auslöst.

Du kannst diesen Mechanismus auch indirekt nutzen, etwa so:
Item A erhält ein Update, das triggert Rule 1.
Rule 1 setzt Item B (welches ungebunden ist) aktiv. Expire fängt an zu laufen.
Nach Ablauf der Zeit setzt die Expire Option das Item B wieder auf inaktiv, und zwar mit send.
Nun triggert Rule 2 (durch das send) und löst die eigentliche Aktion aus.
Sollte es zwischendurch nötig werden, den Timer abzubrechen, so passiert das, indem das Item B per Update auf inaktiv gesetzt wird. Damit wird Rule 2 dann nicht getriggert, denn diese reagiert ja nur auf send.


Gesendet von iPad mit Tapatalk
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)

Benutzeravatar
Kuli
Beiträge: 66
Registriert: 17. Jan 2017 20:51
Answers: 0

Re: OH3 Regel: Schalten mit Zeitverzögerung

Beitrag von Kuli »

Okay, machen wir es einfach und konkreter.

Nehmen wir an ich brauche keine Abbruchfunktion und möchte einfach über das Update eines Items, ein anderes Item 15 Minuten zeitverzögert aus schalten.

Die Regel ohne Verzögerung mit dem Web-UI erstellt sieht dann so aus:
triggers:
- id: "1"
configuration:
itemName: MeldungenSSNSFGBS222SmartImplant_Input1Alarm
state: ON
type: core.ItemStateUpdateTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
itemName: Steckdose6_Switch
command: OFF
type: core.ItemCommandAction
Wie meinst du das mit dem einfachen Timer in OH3?
Wo baue ich diesen ein? Manuell oder über das Web-UI?

Benutzeravatar
Kuli
Beiträge: 66
Registriert: 17. Jan 2017 20:51
Answers: 0

Re: OH3 Regel: Schalten mit Zeitverzögerung

Beitrag von Kuli »

Hab doch noch was im Forum gefunden.

Die Regel lautet jetzt :
triggers:
- id: "1"
configuration:
itemName: MeldungenSSNSFGBS222SmartImplant_Input1Alarm
state: ON
type: core.ItemStateUpdateTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
type: application/vnd.openhab.dsl.rule
script: |-
createTimer(now.plusMinutes(10),[|
Steckdose6_Switch.sendCommand(OFF)
])
type: script.ScriptAction
und schaltet die Steckdose 10 Minuten nach dem Trigger-Event aus.

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

Re: OH3 Regel: Schalten mit Zeitverzögerung

Beitrag von udo1toni »

genau.
:)
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)

Antworten