WeekdayTimer und Feiertage

Begonnen von bgewehr, 06 April 2015, 14:24:03

Vorheriges Thema - Nächstes Thema

bgewehr

Hallo,

Ich versuche den WeekdayTimer weiter für mich zu optimieren und frage mich, wie ich am besten Feiertage und Ferientage integrieren kann.

Wenn ich einen WDT habe, der für Sa-So eine Aktion definiert, dann wäre mein einfachster Wunsch, festlegen zu können, dass dies auch dann ausgeführt werden soll, wenn es entweder ein Feiertag oder ein Ferientag ist, auch wenn dieser an einem Montag ist, so wie heute. Sowas wie Tag 8 und 9 der Woche für Feiertage und Ferientage.

Wenn ich jetzt diese Dinge alle über Conditions machen muss, dann brauche ich die doppelt soviele WDT, wie ich Schaltprofile habe. (Wenn Montag ist und nicht Feiertag oder Ferientag, dann 07:00, sonst 09:00, wenn Dienstag ist und nicht Feiertag oder Ferientag, dann 07:00, sonst 09:00)

Wie ist der gedachte Ansatz? Was ist der einfachste Weg?
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

Dietmar63

Eine Feiertagserweiterung ist in Arbeit und steht in Kürze zur Verfügung.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

bgewehr

DAS sind gute Neuigkeiten! Gibt es eine kleine Info vorab, wie die Lösung aussehen wird?
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

Dietmar63

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

Bracew

#4
Hallo Dietmar63,

ich habe zwei WeekdayTimer laufen, welche mir des Nachts das Nachtlicht EIN und wieder AUS schalten.

Am Wochenende schaltet das Nachtlicht später ein und später wieder aus als in der Woche (Wir gehen später ins Bett und stehen am Morgen später auf).

Für die Wochentage:
define Nachtlich_Lampe_BadSpiegel_Wd WeekdayTimer Lampe_BadSpiegel Mo-So|{sunset_abs('HORIZON=-5',0,"21:45","22:30")}|on Mo-So|{sunrise_abs('HORIZON=-2',0,"04:30","07:00")}|off ((!$we) && (!isVerreist()))
und für das Wochenende:
define Nachtlich_Lampe_BadSpiegel_We WeekdayTimer Lampe_BadSpiegel Mo-So|{sunset_abs('HORIZON=-5',0,"22:15","23:00")}|on Mo-So|{sunrise_abs('HORIZON=-2',0,"04:30","08:30")}|off (($we) && (!isVerreist()))

Nun ist es aber so, dass ich das später EINschalten eigentlich auf den Tag vor dem Wochenende, also am Freitagabend, schon haben möchte. Und am Sonntagabend eigentlich schon wieder früher EIN, also wie in der Woche (Ältere Menschen, wie ich, müssen am Sonntagabend schon wieder früher ins Bett um am Montag ausgeschlafen zur Arbeit gehen zu können.)

Gibt es einen Trick dafür?

Gruß Bracew
FHEM auf Raspberry Pi
für z.B. Lichtsteuerung, Temperaturmessung, Balkonkraftwerk,
Öltankfüllstandsmessung und für Hühnerstall Hühnerklappe

Dietmar63

nein, einen Trick kenne ich für diese spezielle Anforderung nicht.

ich habe folgendes ermöglicht:

define Nachtlich_Lampe_BadSpiegel_Wd WeekdayTimer Lampe_BadSpiegel           !$we|{sunset_abs('HORIZON=-5',0,"21:45","22:30")}|on !$we|{sunrise_abs('HORIZON=-2',0,"04:30","07:00")}|off (!isVerreist())
define Nachtlich_Lampe_BadSpiegel_Wd WeekdayTimer Lampe_BadSpiegel de  !$we       {sunset_abs('HORIZON=-5',0,"21:45","22:30")}|on      {sunrise_abs('HORIZON=-2',0,"04:30","07:00")}|off (!isVerreist())


bei der Angabe der Wochentage ($we, !$we) gilt immer ein logisches ODER.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Bracew

Hallo Dietmar63,

danke für Deine Antwort.

Entschuldige, wenn ich hier nochmals repetiere, weil ich mir nicht ganz sicher bin, wie ich Deine Antwort zu verstehen habe.

Also 1.) Du kennst keine Möglichkeit für das, sagen wir mal, Vorgezogene-Wochenende-Problem.

und 2.) Mit dem Code gibst Du mir einen Hinweis darauf das es sinnvoller wäre das (!$we) bzw. ($we) aus meinem Code von hinten (aus dem disable-Teil raus) nach weiter vorn (in den profile-weekdays Teil hinein) zu verschieben und hinten nur noch (!isVerreist()) zu belassen. Dieser Hinweis hat aber nichts mit dem Vorgezogene-Wochenende-Problem zu tun, sondern ist Codeoptimierung.

Gruß Bracew
FHEM auf Raspberry Pi
für z.B. Lichtsteuerung, Temperaturmessung, Balkonkraftwerk,
Öltankfüllstandsmessung und für Hühnerstall Hühnerklappe

Dietmar63

zu 1)
ja, das Problem ist einfach, dass die timer eines WD gleichen Bedingungen unterliegen.

zu 2)
du musst  diese neue Funktionalität nicht nutzen. Es war hier aber ein großer Wunsch eine Möglichkeit zu bekommen, $we ... vereinfacht zu nutzen.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

kossmann

Hallo Dietmar,

heute früh habe ich mich gewundert, warum im Schlafzimmer das Rollo hoch ging. Ich hatte meine alte Definition mit at und if (!($we)) durch deinen WeekdayTimer ersetzt, da ich Freitags seit kurzem zu einer anderen Uhrzeit geweckt werden möchte, als Montag bis Donnerstag. Der WeekdayTimer erscheint dafür ja ideal. Samstag und Sonntag soll grundsätzlich nichts automatisch passieren. Heiligabend ist bei mir natürlich als Feiertag definiert 8)

Meine Definition sieht momentan wie folgt aus:

define Job_Schlafzimmer_Rollo_hoch WeekdayTimer Schlafzimmer_Rollo 1234|07:15|oben 5|08:00|oben

Mit der 7 und 8 als "Tag" komme ich hier ja nicht weiter, oder?

igami

Hallo kossmann,

Dietmar wird dir leider nicht mehr antworten können: siehe Nachruf Dietmar63

Ich habe einen Teil seiner Module übernommen, unter anderem WeekdayTimer.

Jedoch verstehe ich deine Frage nicht. 7 und 8 wird vom WeekdayTimer ausgewertet. Wenn es dir nun darum geht, dass  heute etwas anderes passieren soll, da es ja ein Feiertag ist, muss dies mit der condition beschrieben werden (z.B, !$we).
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED