Seite 3 von 5
Re: Garagentor Rule mit Zeitraum
Verfasst: 21. Nov 2017 09:23
von Cyrelian
Hi Uwe,
den ZWaveNode9_DoorSensor.changedSince musst du mit einem (!) negieren.
D.H. also wenn der State sich
NICHT geändert hat.
habs mal angepasst:
Code: Alles auswählen
var String filename = Garage.rules
/* ------------- Garage ist offen (länger als 15 Minuten zwischen 17:00 - 08:00) --------------------
*/
rule "Garage ist länger als 15 Minuten geöffnet (17:00 - 08:00)"
when
Time cron "0 0/15 17-8 * * ?"
then
if (ZWaveNode9_DoorSensor.state == OPEN && !ZWaveNode9_DoorSensor.changedSince(now.minusMinutes(15)))
{ logInfo(filename, "Garage ist länger als 15 Minuten geöffnet")
//Sende Notification
sendMail("harry@hirsch.com", "**Garagentor ist >15min geöffnet!**", "**Garagentor schließen!**")}
else {
sendMail("harry@hirsch.com", "**Garage ist zu!**", "**Garage**")}
end
Ansonsten sollte das so passen.
CU
Cyrelian
Re: Garagentor Rule mit Zeitraum
Verfasst: 16. Jul 2018 07:12
von freeman121083
Hallo,
würde mich freuen wenn mir jemand helfen kann.
habe genau das gleiche vor, würde gerne meine Garage abends auf "Länger als x Zeit offen prüfen" und wenn Länger als X zeit auf dann sende eine Telegram Nachricht.
Kurz zur Erklärung:
Wenn Abends/Nachts zwischen 18:00-8:00 Uhr die Garage länger als 15min. offen ist dann sende mir eine telegram nachricht, wird die Garage in der zeit wieder zu gemacht sende mir entweder Garage zu oder oder keine Nachricht senden.
Das habe ich hier kopiert und für Testzwecke abgeändert:
- Die Zeit zum test auf Tagsüber gelegt
- den Timer auf 1 Minute gelegt (damit ich nicht so lange warten muss)
- das zu Steuernde Objekt auf Licht Niesche gelegt (Damit ich nicht immer Garage auf und zu machen muss)
Code: Alles auswählen
var String filename = "telegram.rules"
//* ------------- Garage ist offen (länger als 15 Minuten zwischen 17:00 - 08:00) --------------------*//
rule "Garage ist länger als 15 Minuten geöffnet (17:00 - 08:00)"
when
Time cron "0 0/1 6-20 * * ?"
then
if (Niesche.state == OFF && !Niesche.changedSince(now.minusMinutes(1)))
{ logInfo(filename, "Garage ist länger als 15 Minuten geöffnet")
Sende Notification
sendTelegram("OpenHab", "**Garagentor ist >15min geöffnet!**")}
else {
sendTelegram("OpenHab", "**Garage ist zu!**")}
end
So wird mir leider jede Minute IMMER Garage ist zu gesendet??
Die Garage wird über einen Magnetkontakt der auf einem KNX Binäreingang liegt. Dazu werde ich dann später ein contact item erstellen.
Zum testen wäre schön:
Licht länger an/aus (egal) als x zeit dann prüfe nach Ablauf der Zeit ob wirklich noch auf ist, dann sende mir eine telegram nachricht wenn das Tor in der Zeit zu gemacht wurde dann sende mir nichts.
Vielen Dank für eure Hilfe
Gruß
Dennis
Re: Garagentor Rule mit Zeitraum
Verfasst: 16. Jul 2018 11:56
von Cyrelian
Hi Dennis,
hast Du für dein ITEM (Niesche) denn eine "persistence" eingerichtet? Weil sonst wird das mit dem "changedSince" nix
.
Wäre so mein erster Verdacht.
CU
Cyrelian
Re: Garagentor Rule mit Zeitraum
Verfasst: 16. Jul 2018 13:13
von udo1toni
Das geht einfacher
Code: Alles auswählen
var Timer tGarage = null
rule "Garagentimer"
when
Item Niesche changed //Rule triggert, wenn Garage geschlossen oder geöffnet wird
then
if (now.getHourOfDay = 17) { //Falls 17 - 18 Uhr
if (Niesche.state == OFF) { //Garage wurde geöffnet
tGarage?cancel //Falls Timer aktiv, abbrechen
tGarage = createTimer(now.plusMinutes(15), [ | //Starte 15-Minuten-Timer
sendTelegram("OpenHab", "**Garagentor ist 15min geöffnet!**")
tGarage = null //reinitialisieren
])
}
else { //Garage wurde geschlossen
sendTelegram("OpenHab", "**Garage ist zu!**")}
tGarage?cancel //laufenden Timer stoppen und
tGarage = null //reinitialisieren
}
}
end
Re: Garagentor Rule mit Zeitraum
Verfasst: 16. Jul 2018 18:43
von freeman121083
Hi Cyrelian,
Ich weiß weder was das ist noch wie ich es einrichte. Könntest Du mir eine kleine Einweisung geben?
Danke vorab
Dennis
Re: Garagentor Rule mit Zeitraum
Verfasst: 16. Jul 2018 18:48
von freeman121083
Und entschuldigt meine Unmöglichkeit.
Erstmal vielen Dank das ihr mir so schnell Lösungsansätze unterbreitet. Openhab ist sehr neu für mich aber für meine Zwecke sehr interessant.
Danke
Re: Garagentor Rule mit Zeitraum
Verfasst: 16. Jul 2018 18:53
von freeman121083
Hallo udo1toni,
Was wäre bei deiner Lösung mit dem Fall, wenn innerhalb der 15min. Das Garagentor wieder zu gesteuert wird?
Re: Garagentor Rule mit Zeitraum
Verfasst: 16. Jul 2018 22:39
von udo1toni
Wenn das Garagentor geschlossen wird, wird der entsprechende Teil der Rule ausgeführt (die Rule triggert ja auf den Kontakt). Der "schließen" Teil der Rule beendet den Timer.
Wobei man vielleicht nochmal über die Zeitbeschränkung nachdenken müsste. Die Rule meldet momentan, falls das Tor zwischen 17 und 18 Uhr geöffnet wird und länger als 15 Minuten offen steht (also auch, wenn das Tor um 17:59 geöffnet und nach 18:14 geschlossen wird), oder zwischen 17 und 18 Uhr geschlossen wird (also auch, wenn das Tor um 16:59 geöffnet und um 17:00 Uhr geschlossen wird).
Mir ging es erstmal darum, zu zeigen, wie man solche Timeouts festlegt.
Re: Garagentor Rule mit Zeitraum
Verfasst: 18. Jul 2018 04:49
von freeman121083
Hi,
So hab es hin bekommen. Jetzt hab ich nur noch ein Problem: wie lege ich in OpenHab 2.3.0 ein Magnetkontakt der über einen Binäreingang angeschlossen ist an und in welcher Datei? Ich brauche erstmal keine Viso ich möchte den Status erstmal nur für das Garagen benutzen.
Vielen Dank
Gruß
Dennis
Re: Garagentor Rule mit Zeitraum
Verfasst: 18. Jul 2018 09:49
von Cyrelian
Hi Dennis,
prinzipiell wird das in einer .items Datei angelegt. Du musst uns aber etwas mehr über den Magnetkontakt verraten, damit wir wissen, über welches Binding wir diesen ansprechen sollen oder können.
CU
Cyrelian