[Solved] Auto Update von Switch Item
Verfasst: 2. Feb 2024 20:30
Moin zusammen,
ich versuche gerade die Dauer des Lüftens mit Fensterkontakten zu überwachen und im Bedarf eine Nachricht per Telegram zu verschicken.
Der Ansatz ist:
Fenster Offen triggert einen Timer von 15 Min
Wenn der Timer seinen Status von ON wechselt, schicke Nachricht an Telegram Gruppe
Das funktioniert schon, hat aber ein kosmetisches Problem. Die Timer werden getriggert und sind danach im State: UNDEF. Es gab dazu verschiedene Posts das mit autoupdate auf off zu setzten z.B. hier viewtopic.php?p=33103#p33103 das scheint aber in OH 4 nicht mehr zu funktionieren oder ich finde die Konfiguration nicht
. In der Doku hatte ich zu Autoupdate von Items auch leider nichts gefunden. Habt ihr da eine Idee, wie man den Status auf OFF setzen kann, wenn er sich von ON ändert? Hab es mit einer Rule versucht und bin gescheitert.
ich versuche gerade die Dauer des Lüftens mit Fensterkontakten zu überwachen und im Bedarf eine Nachricht per Telegram zu verschicken.
Der Ansatz ist:
Fenster Offen triggert einen Timer von 15 Min
Code: Alles auswählen
configuration: {}
triggers:
- id: "1"
configuration:
itemName: DuscheFenster_OffenGeschlossen
state: OPEN
previousState: CLOSED
type: core.ItemStateChangeTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
command: ON
itemName: DuscheTimer15Min
type: core.ItemCommandAction
Code: Alles auswählen
configuration: {}
triggers:
- id: "2"
configuration:
itemName: DuscheTimer15Min
previousState: ON
type: core.ItemStateChangeTrigger
conditions: []
actions:
- inputs: {}
id: "3"
configuration:
type: application/javascript
script: >
var logger =
Java.type('org.slf4j.LoggerFactory').getLogger('org.openhab.rule.' +
ctx.ruleUID);
var things = Java.type('org.openhab.core.model.script.actions.Things');
if (items.getItem('DuscheFenster_OffenGeschlossen').state == 'OPEN') {
things.getActions('telegram', 'telegram:telegramBot:076f70b110').sendTelegram('Achtung! Fenster in der Dusche ist offen');
logger.info("Alarm Dusche Fenster ist offen. Nachricht an Telegram geschickt")
}
type: script.ScriptAction
