Seite 1 von 1

Zeitsteuerung in einer Regel

Verfasst: 22. Jan 2022 22:20
von Murdock79
Hallo,
ich habe einen Fensterkontakt, der beim Ändern des Zustands eine Telegramm Nachricht schickt und eine Sirene einschaltet.
Das klappt auch soweit.

Nun möchte ich aber auch, dass sich die Sirene nach einer bestimmten Zeit wieder ausschaltet. Auch sollte die Sirene wieder aus gehen, wenn sich der Zustand wieder ändert.
Wie müsste ich denn einen Zeitbefehl in meine Rules einfügen?

Grüße
Konstantin

Code: Alles auswählen

configuration: {}
triggers:
  - id: "1"
    configuration:
      itemName: Fensterkontake1
      state: "1"
      previousState: "0"
    type: core.ItemStateChangeTrigger
conditions: []
actions:
  - inputs: {}
    id: "2"
    configuration:
      type: application/vnd.openhab.dsl.rule
      script: >-
        val telegramAction =
        getActions("telegram","telegram:telegramBot:Obenhabian_Bot")
          telegramAction.sendTelegram("Fensterkontakt offen! Alarm!!!")
    type: script.ScriptAction
  - id: "3"
    configuration:
      itemName: SireneAnAus_state
      command: ON
    type: core.ItemCommandAction

Re: Zeitsteuerung in einer Regel

Verfasst: 23. Jan 2022 01:55
von udo1toni
Wenn Du das über die UI programmierst, wäre es das einfachste, dem Sirenenitem über die Metadaten einen Expiration Timer mitzugeben. Man kann dort definieren, dass ein Item, wenn es kein Update bekommt, automatisch entweder auf einen bestimmten Status fällt oder ein bestimmtes Kommando sendet. Dies geschieht aber nur, wenn der Status sich vom Zielstatus unterscheidet.

Damit die Sirene beim Wechsel des Status des Kontakt ebenfalls ausgeschaltet wird, brauchst Du nur eine weitere Rule...