Seite 1 von 1
OH3 Regel: Schalten mit Zeitverzögerung
Verfasst: 19. Jan 2021 10:46
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.
OH3 Regel: Schalten mit Zeitverzögerung
Verfasst: 19. Jan 2021 10:56
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
Re: OH3 Regel: Schalten mit Zeitverzögerung
Verfasst: 19. Jan 2021 13:21
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?
Re: OH3 Regel: Schalten mit Zeitverzögerung
Verfasst: 19. Jan 2021 15:07
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.
Re: OH3 Regel: Schalten mit Zeitverzögerung
Verfasst: 19. Jan 2021 20:22
von udo1toni
genau.
