at mit twilight aktiviert sich doppelt

Begonnen von Benwish, 09 Februar 2017, 18:28:04

Vorheriges Thema - Nächstes Thema

Benwish

Hallo zusammen,

ich habe folgendes Problem: Ich möchte meine Rollläden helligkeitsgesteuert herunterfahren. Dafür nutze ich twilight, welches so eingestellt ist, dass die Rollläden zum Zeitpunkt ss_civil herunterfahren, aber nicht vor 18:00. Bisher hat das auch immer geklappt, da sind die Rollläden immer um 18:00 heruntergefahren (wurde halt früh dunkel). Seit einigen Tagen greift ss_civil, nun habe ich aber das Problem, dass die Rollläden zweimal hintereinander geschaltet werden. Einmal beim eintreten von ss_civil und dann kurz darauf noch mal, wenn der Zeitpunkt erreicht ist, den ss_civil am nächsten Tag erreicht (Sonne geht ja jeden Tag später unter).

Im Log sieht das dann so aus:

2017.02.09 18:10:09 3: CUL_HM set Rollladen_Kueche pct 0
2017.02.09 18:10:09 3: CUL_HM set Rollladen_Seitentuer pct 0
2017.02.09 18:10:09 3: CUL_HM set Rollladen_HST_Links pct 0
2017.02.09 18:10:09 3: CUL_HM set Rollladen_WC pct 0
2017.02.09 18:10:09 3: CUL_HM set Rollladen_HST_Rechts pct 0
2017.02.09 18:11:51 3: CUL_HM set Rollladen_Kueche pct 0
2017.02.09 18:11:51 3: CUL_HM set Rollladen_Seitentuer pct 0
2017.02.09 18:11:51 3: CUL_HM set Rollladen_HST_Links pct 0
2017.02.09 18:11:51 3: CUL_HM set Rollladen_WC pct 0
2017.02.09 18:11:51 3: CUL_HM set Rollladen_HST_Rechts pct 0


Wenn ich mir das at-Device anschaue, steht da auch als nächster Auslösezeitpunkt:
STATE Next: 18:11:51
Also morgen schaltet er das erste mal um 18:11:51 und wahrscheinlich dann wieder knapp 2 Min später noch mal.

Daher meine Frage: Kann ich verhindern, dass der at-Befehl am selben Tag zweimal ausgeführt wird, solange die Tage länger werden?

Mein Befehl in Gänze:
*{twilight("myTwilight","ss_civil","18:00","23:00")} {
fhem "set Rollladen_Kueche pct 0; set Rollladen_Seitentuer pct 0; set Rollladen_HST_Links pct 0; set Rollladen_WC pct 0;";
my $r1 = Value("MotionDetector_Garten");
my $r2 = Value("rgr_Residents");
if ($r1 eq "nomotion" || $r2 eq "absent") {
fhem "set Rollladen_HST_Rechts pct 0;";
}
}

Dietmar63

At berechnet die Zeit für den nächsten Tag sofort nach einer Ausführung.
Da wir im Moment ansteigende Sonnenuntergänge haben rechnet es jetzt + 2 Minuten aus.
Richtig wäre jetzt + 1Tag + 2 Minuten.

Nimm Weekdaytimer
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

franky08

Oder disable das at nach der Ausführung und setz es später (vlt. 00:01 Uhr) wieder auf disable 0, müsste so auch gehen und du must deinen Code nicht umbauen  ;)

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Benwish

Das erscheint mir am einfachsten, so mache ich es. Vielen Dank :)