Weekdaytimer, zwei Schaltzeiten an Feiertagen

Begonnen von Beagel, 29 Mai 2019, 21:44:05

Vorheriges Thema - Nächstes Thema

Beagel

Hallo zusammen,
komme mal wieder nicht weiter, möchte gerne das im WeekdayTimer die Feiertage mit berücksichtigt werden, klappt leider nicht. Es sollen an den Feiertag die "on" Zeiten von Sa-So genommen werden, aber es werden die normale Mo-Fr und die Sa-So, also zwei Zeiten angezeigt.
Für Morgen siehe Profil 4: Donnerstag
06:15:00 on, 08:00:00 on, 19:15:00 off

und die nächst Schaltzeit
nextUpdate 2019-05-30 06:15:00

list Feiertage
Internals:
   CFGFN     
   FUUID      5ceeb887-f33f-13e8-6d65-7965cde136c52c9d
   HOLIDAYFILE ./FHEM/holiday/rp.holiday
   NAME       rp
   NR         51785
   READONLY   1
   STATE      none
   TRIGGERTIME 1559167202.2647
   TYPE       holiday
   READINGS:
     2019-05-29 18:51:19   state           none
     2019-05-29 18:51:19   tomorrow        Christi Himmelfahrt
     2019-05-29 18:51:19   yesterday       none
Attributes:
   alias      rp
   room       Kalender


list WeekdayTimer
Internals:
   CFGFN     
   COMMAND   
   CONDITION 
   DEF        groupeEWZ 12345|06:15|on $we|08:00|on Mo-So|19:15|off
   DEVICE     groupeEWZ
   FUUID      5cec4921-f33f-13e8-bb1d-f6822e7380e55537
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       Timer_EWZ
   NR         22679
   Profil 0: Sonntag 08:00:00 on, 19:15:00 off
   Profil 1: Montag 06:15:00 on, 19:15:00 off
   Profil 2: Dienstag 06:15:00 on, 19:15:00 off
   Profil 3: Mittwoch 06:15:00 on, 19:15:00 off
   Profil 4: Donnerstag 06:15:00 on, 08:00:00 on, 19:15:00 off
   Profil 5: Freitag 06:15:00 on, 19:15:00 off
   Profil 6: Samstag 08:00:00 on, 19:15:00 off
   Profil 7: Wochenende 08:00:00 on
   STATE      active
   STILLDONETIME 0
   TYPE       WeekdayTimer
   READINGS:
     2019-05-29 20:31:46   currValue       off
     2019-05-29 19:07:29   disabled        0
     2019-05-29 20:31:46   nextUpdate      2019-05-30 06:15:00
     2019-05-29 20:31:46   nextValue       on
     2019-05-29 20:31:46   state           active
   SWITCHINGTIMES:
     12345|06:15|on
     $we|08:00|on
     Mo-So|19:15|off
   TIMER:
     Timer_EWZ_SetTimerOfDay:
       HASH       Timer_EWZ
       MODIFIER   SetTimerOfDay
       NAME       Timer_EWZ_SetTimerOfDay
       SETTIMERATMIDNIGHT 1
   dayNumber:
     !$we       8
     $we        7
     di         2
     do         4
     fr         5
     mi         3
     mo         1
     sa         6
     so         0
   helper:
     daysRegExp (so|mo|di|mi|do|fr|sa|\$we|\!\$we)
     daysRegExpMessage (so|mo|di|mi|do|fr|sa|$we|!$we)
     SWITCHINGTIME:
       0:
         08:00:00   on
         19:15:00   off
       1:
         06:15:00   on
         19:15:00   off
       2:
         06:15:00   on
         19:15:00   off
       3:
         06:15:00   on
         19:15:00   off
       4:
         06:15:00   on
         08:00:00   on
         19:15:00   off
       5:
         06:15:00   on
         19:15:00   off
       6:
         08:00:00   on
         19:15:00   off
       7:
         08:00:00   on
   longDays:
     de:
       Sonntag
       Montag
       Dienstag
       Mittwoch
       Donnerstag
       Freitag
       Samstag
       Wochenende
       Werktags
     en:
       Sunday
       Monday
       Tuesday
       Wednesday
       Thursday
       Friday
       Saturday
       weekend
       weekdays
     fr:
       Dimanche
       Lundi
       Mardi
       Mercredi
       Jeudi
       Vendredi
       Samedi
       weekend
       jours de la semaine
   profil:
     1:
       EPOCH      1559103300
       PARA       on
       TIME       06:15
       TAGE:
         1
         2
         3
         4
         5
     2:
       EPOCH      1559109600
       PARA       on
       TIME       08:00
       TAGE:
         7
     3:
       EPOCH      1559150100
       PARA       off
       TIME       19:15
       TAGE:
         0
         1
         2
         3
         4
         5
         6
   profile_IDX:
     0:
       08:00:00   2
       19:15:00   3
     1:
       06:15:00   1
       19:15:00   3
     2:
       06:15:00   1
       19:15:00   3
     3:
       06:15:00   1
       19:15:00   3
     4:
       06:15:00   1
       08:00:00   2
       19:15:00   3
     5:
       06:15:00   1
       19:15:00   3
     6:
       08:00:00   2
       19:15:00   3
     7:
       08:00:00   2
   shortDays:
     de:
       so
       mo
       di
       mi
       do
       fr
       sa
       $we
       !$we
     en:
       su
       mo
       tu
       we
       th
       fr
       sa
       $we
       !$we
     fr:
       di
       lu
       ma
       me
       je
       ve
       sa
       $we
       !$we
Attributes:
   alias      Timer_EWZ
   commandTemplate set $NAME  $EVENT
   room       8_Rolladen


wo ist mein Gedanken Fehler

schon mal Danke

amenomade

Und wie sieht dein Attribut holiday2we im global Device aus?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Beagel

ein Auszug aus der global
   logfile    ./log/fhem-%Y-%m.log
Attributes:
   alias      global
   autoload_undefined_devices 1
   autosave   0
   configfile fhem.cfg
   holiday2we rp
   language   DE
   latitude   xxxxxxxx
   logfile    ./log/fhem-%Y-%m.log
   longitude  xxxxxxxx
   modpath    .

amenomade

OK schon mal gut (hätte ich auch wegen Profil 4 selbst feststellen können).
Dann sollte es funktionieren.  SETTIMERATMIDNICHT ist auf 1 gesetzt. Es wäre interessant zu wissen, wie es nach Mitternacht aussehen wird.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Beta-User

Hmmm, an sich klingt es für mich logisch, dass wenn 4 und $we gleichzeitig zutreffen, dann eben auch alle betreffenden Schaltzeiten eingetragen werden. Wenn "entweder - oder" angesagt sein soll, müßte  !$we (oder die nummerischen Entsprechungen für die $we-Variable 7/8) genutzt werden.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

juemuc

Hallo zusammen,

hatte das Thema auch schon angesprochen. Leider wird hier der Wochentag "bevorzugt".

Ich hatte das Thema allerdings im FTUI-Bereich angesprochen.
https://forum.fhem.de/index.php/topic,48106.msg932069.html#msg932069

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Beagel

Hallo,

kurze Rückmeldung, heute morgen wurde normal wie ohne Feiertag geschaltet und auch noch mal die Feiertags/Wochenende Schaltung, also zweimal "on".
"Normal wie jeden Tag"
2019-05-30_06:15:00 groupeEWZ on
2019-05-30_06:15:00 Timer_EWZ nextUpdate: 2019-05-30 08:00:00
2019-05-30_06:15:00 Timer_EWZ nextValue: on
2019-05-30_06:15:00 Timer_EWZ currValue: on
2019-05-30_06:15:00 Timer_EWZ on

"Feiertag / Wochenende"
2019-05-30_08:00:00 groupeEWZ on
2019-05-30_08:00:00 Timer_EWZ nextUpdate: 2019-05-30 19:15:00
2019-05-30_08:00:00 Timer_EWZ nextValue: off
2019-05-30_08:00:00 Timer_EWZ currValue: on
2019-05-30_08:00:00 Timer_EWZ on


eigentlich wollte ich ja das heute nur die 8:00Uhr Schaltung erfolgt.

@Beta-User
könntest du mir ein Beispiel Code geben, stehe im Moment bei deinem Vorschlag auf dem Schlauch.

Oder ist das mit dem WeekdayTimer gar nicht möglich, welche Alternative würde es den sonst noch geben Zeitsteuerung mit Feiertag / Wochenende / Zufall ?

Gruß und noch einen schönen Feiertag.

Beta-User

statt
groupeEWZ 12345|06:15|on $we|08:00|on Mo-So|19:15|off
einfach das hier schreiben:
groupeEWZ !$we|06:15|on $we|08:00|on Mo-So|19:15|off
Sollte doch aber aus der cref so ablesbar sein, oder?
(Da sollte auch irgendwo stehen, was 7 und 8 als Wochentagsangaben bewirken ;) )
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Beagel

@Beta-User

das wars
groupeEWZ !$we|06:15|on $we|08:00|on Mo-So|19:15|off

da werden die Schaltzeiten  für Feiertage richtig übernommen.

mit der 7 und 8 werde ich mich noch weiter einlesen,  ;)

noch mal Danke

Prof. Dr. Peter Henning

Das Modul YAAHM kann das alles ein wenig komfortabler.

LG

pah