Filtertimer Warnung

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
PeterA
Beiträge: 348
Registriert: 8. Feb 2019 12:12
Answers: 3

Filtertimer Warnung

Beitrag von PeterA »

Hallo zusammen,

hier habe ich eine Rule von "madmike" (vielen Dank), etwas abgeändert.
Damit möchte ich mir eine Warnung "pushen".

Wird das so funktionieren ?

Code: Alles auswählen

 // globale Variablen müssen zu Beginn der rules Datei deklariert werden!
var Timer tFilter = null

rule "Filterwarnung"

when
    Item Filtertimer changed
    
then
    if(tFilter === null && (FilterTimer.state >2000 | "h")) {
        tFilter = createTimer(now.plusHours(1), [ |
            tFilter = null
        ])
        sendBroadcastNotification("Erinnerung !!  Filterwechsel bei 2160h!") //Allgemeine Warnung an alle 
        
        
    }
end

Benutzeravatar
PeterA
Beiträge: 348
Registriert: 8. Feb 2019 12:12
Answers: 3

Re: Filtertimer Warnung

Beitrag von PeterA »

Also wieder Erwarten funktioniert die Rule nicht :/
Im Grunde möchte ich eine Pushnachricht bekommen wenn der Filtertimer einen bestimmten Wert erreicht hat. Hier 2000h.
Hmm da fällt mir ein, der Wert kommt ohne "h" aus der Anlage. Also nur der Zahlen Wert. Sollte das "h" entfallen?

Benutzeravatar
PeterA
Beiträge: 348
Registriert: 8. Feb 2019 12:12
Answers: 3

Re: Filtertimer Warnung

Beitrag von PeterA »

So, jetzt scheint es mit dieser Rule zu funktionieren.

könnte ich mir nun noch die Aktuelle "FilterTime" mit Pushen lassen ?

Code: Alles auswählen

 // globale Variablen müssen zu Beginn der rules Datei deklariert werden!
var Timer tFilter = null

rule "Filterwarnung"

when
    Item FilterTimer changed
    
then
    if(tFilter === null && (FilterTimer.state >2000 )) {
        tFilter = createTimer(now.plusHours(12), [ |
            tFilter = null
        ])
        sendBroadcastNotification("Erinnerung !!  Filterwechsel bei 2160h!") //Allgemeine Warnung an alle 
        
        
    }
end/code]

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

Re: Filtertimer Warnung

Beitrag von udo1toni »

Ja sicher,

Code: Alles auswählen

sendBroadcastNotification("Erinnerung !!  Filterwechsel bei 2160h! Aktueller Wert "+FilterTimer.state.toString+"h") //Allgemeine Warnung an alle 

Benutzeravatar
PeterA
Beiträge: 348
Registriert: 8. Feb 2019 12:12
Answers: 3

Re: Filtertimer Warnung

Beitrag von PeterA »

Hallo Udo,

Top! Funktioniert!
Noch Fragen zu "createTimer(now.plusHours(12)".
Gibt es da "grenzen" was den Timer angeht ? max 24h oder so ?
Und könnte ich da noch ne art Loginfo einbauen, wenn die Notification gesendet wurde ?

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

Re: Filtertimer Warnung

Beitrag von udo1toni »

Nein, es gibt keine Grenzen, man muss nur aufpassen, dass man den Zeitpunkt nicht in die Vergangenheit setzt. now() kennt verschiedene Methoden, plusMillis(), plusSeconds(), plusMinutes(), plusHours(), plusDays... die Methoden können auch miteinander kombiniert werden. Man sollte ich aber darüber im Klaren sein, dass der Scheduler alles vergisst, wenn openHAB neu gestartet wird.

Benutzeravatar
PeterA
Beiträge: 348
Registriert: 8. Feb 2019 12:12
Answers: 3

Re: Filtertimer Warnung

Beitrag von PeterA »

Ok alles klar,

Damit möchte ich nur verhindern, das ich ständig eine Nachricht bekomme wenn ich über 2000h bin.

Antworten