Hallo zusammen,
ich tue mich etwas schwer, für folgende Anforderung (die bei uns zu Haus nun immer öfter auftritt) den generell richtigen Ansatz zu finden.
Oftmals haben wir die Anforderung, eine Aktion auszuführen, wenn ein bestimmter Schwellwert für einen bestimmten Zeitraum überschritten ist.
Wenn ich mir http://docs.openhab.org/configuration/rules-dsl.html anschaue, würde eine Kombination aus
und
würde mir jetzt als erstes einfallen, also den state mit meinem Schwellwert vergleichen, dann z.B. 30 Sekunden warten und wieder mit dem state vergleichen. Das ginge bei kurzen Intervallen, aber wenn ich einen Schwellwert z.B. für 30 MINUTEN unterschritten wissen will, ist das sehr unscharf. Wenn der Schwellwert jetzt und in 30 Minuten unterschritten ist, muss er das ja nicht die ganzen 30 Minuten gewesen sein.
Kann mir jemand ein Beispiel geben, wie ich das elegant löse? Oder mir einen Link auf die Stelle der Doku geben, wo das beschrieben ist? Auf meine Belange angepasst bekomme ich das dann wohl, so tief bin ich drin. Ich will mich nur nicht in einen selbst erdachten, komplizierten Ansatz verrennen, wenns da vielleicht auch was pragmatisches out-of-the-box gibt.
Danke euch!
ich tue mich etwas schwer, für folgende Anforderung (die bei uns zu Haus nun immer öfter auftritt) den generell richtigen Ansatz zu finden.
Oftmals haben wir die Anforderung, eine Aktion auszuführen, wenn ein bestimmter Schwellwert für einen bestimmten Zeitraum überschritten ist.
Wenn ich mir http://docs.openhab.org/configuration/rules-dsl.html anschaue, würde eine Kombination aus
Code:
Item <item> received update [<state>]
Code:
createTimer(now.plusSeconds(30))
Kann mir jemand ein Beispiel geben, wie ich das elegant löse? Oder mir einen Link auf die Stelle der Doku geben, wo das beschrieben ist? Auf meine Belange angepasst bekomme ich das dann wohl, so tief bin ich drin. Ich will mich nur nicht in einen selbst erdachten, komplizierten Ansatz verrennen, wenns da vielleicht auch was pragmatisches out-of-the-box gibt.
Danke euch!
Kommentar