[gelöst] Probleme mit WeekdayTimer

Begonnen von JWRu, 01 Oktober 2019, 23:16:25

Vorheriges Thema - Nächstes Thema

Beta-User

Danke für die Rückmeldung.

Kannst du das noch einige Zeit im Auge behalten? Wäre schon interessant, wie das list neulich zustande gekommen ist. Wie in dem anderen Thread berichtet, konnte ich auch bei intensiverer Analyse im Code bzw. beim Vergleich der Versionen nichts feststellen, das "sowas" verursacht haben könnte; allerdings ist der Code für mich auch etwas "undurchsichtig". Gerade deswegen beschränken sich die zwischenzeitlichen Änderungen auch auf das notwendigste (v.a. im Zusammenhang mit holiday2we).

(Wenn erst mal kein Handlungsbedarf mehr bestehen sollte, darfst du den Thread auch gerne als "vorläufig gelöst" kennzeichnen).

Gruß, Beta-User
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

JWRu

Heute hat die letzte Schaltung nicht geklappt. im Reading nextUpdate steht jetzt (um 23:00 Uhr) immer noch 22:55:00.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Beta-User

 :(

Wenn ich deine Symptome richtig deute, scheint das Problem erst am 2. Tag aufzutreten, richtig?

Ich werde mir mal den Code dahingehend nochmal ansehen, aber so einen richtigen Anpack habe ich nach wie vor nicht. Zwei Testszenarien sind denkbar:
1. zurück auf 19567 und da auch mal den 2. Tag abwarten (müßte eigentlich genauso _nicht_ funktionieren);
2. mit der aktuellen den weiteren Schaltzeitpunkt einbauen und dann mal schauen, ob das eine Änderung (ab dem 2. Tag) bewirkt...
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

JWRu

#18
Das vermute ich auch.
Anscheinend muss WeekdayTimer einmal über die Aktion laufen, die um 00:00:05 Uhr passiert.
Im Log ist allerdings nichts Auffälliges zu sehen:
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] removing Timer: Timer_Fussbodenheizung_2
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] removing Timer: Timer_Fussbodenheizung_4
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] removing Timer: Timer_Fussbodenheizung_3
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] removing Timer: Timer_Fussbodenheizung_1
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] 07:03:54 19:21:06 Mittwoch
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20 (Profil 0: Sonntag)
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20 (Profil 1: Montag)
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20 (Profil 2: Dienstag)
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20 (Profil 3: Mittwoch)
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20 (Profil 4: Donnerstag)
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20 (Profil 5: Freitag)
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20 (Profil 6: Samstag)
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] device type heating recognized, setModifier:desired-temp
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] Heating recognized - switch in the past activated
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] condition: - Tage:0,1,2,3,4,5,6
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] condition: {my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6);;;;( 1 && (defined $days->{$wday}))}
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] result of condition:1
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] setTimer - timer seems to be active today: 0123456|06:15|28
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] setting  Timer: Timer_Fussbodenheizung_1 2019-10-09 06:15:00
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] condition: - Tage:0,1,2,3,4,5,6
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] condition: {my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6);;;;( 1 && (defined $days->{$wday}))}
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] result of condition:1
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] setTimer - timer seems to be active today: 0123456|08:45|20
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] setting  Timer: Timer_Fussbodenheizung_2 2019-10-09 08:45:00
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] condition: - Tage:0,1,2,3,4,5,6
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] condition: {my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6);;;;( 1 && (defined $days->{$wday}))}
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] result of condition:1
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] setTimer - timer seems to be active today: 0123456|21:45|28
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] setting  Timer: Timer_Fussbodenheizung_3 2019-10-09 21:45:00
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] condition: - Tage:0,1,2,3,4,5,6
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] condition: {my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6);;;;( 1 && (defined $days->{$wday}))}
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] result of condition:1
2019.10.09 00:00:05 4: [Timer_Fussbodenheizung] setTimer - timer seems to be active today: 0123456|22:55|20
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] setting  Timer: Timer_Fussbodenheizung_4 2019-10-09 22:55:00
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] removing Timer: Timer_Fussbodenheizung_SetTimerOfDay
2019.10.09 00:00:05 5: [Timer_Fussbodenheizung] setting  Timer: Timer_Fussbodenheizung_SetTimerOfDay 2019-10-10 00:00:05


Ich teste jetzt mal Option 2 und melde mich am Freitag.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Beta-User

In dem Parallelthread habe ich eine Testversion gepostet. Bitte die mal austesten, und den Timer gleich auch mit "enable" zur Neuberechnung der Timer "ermuntern", dann brauchen wir nicht immer einen Tag zuzuwarten.

Allerdings habe ich da vorrangig das andere Thema im Auge gehabt, "dein" Problem könnte aber ein Seiteneffekt gewesen sein, wir werden sehen...
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

JWRu

Test mit 19806 und zusätzlichem Schaltzeitpunkt um 23:59 Uhr ist jetzt gelaufen:
Am Tag der Änderung der Definition wird die letzte Schaltung um 23:59 Uhr ausgeführt, am darauffolgenden Tag nicht.
Ich teste jetzt mal die Testversion - Ergebnis am Sonntag.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Beta-User

Thx.

Eine Anmerkung evtl. noch: zur Doku sind bei einem WDT lists wirklich hilfreich. Wir werden allerdings mit der neuen Fassung gleich "am 2. Tag" starten, da dort das "enable" direkt ausgeführt wird. Eventuell wäre es eine Idee, die beiden Zeilen am Ende von "Start" noch auszukommentieren, ich bin da noch etwas unsicher, was die richtige Vorgehensweise an der Stelle ist...
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

JWRu

Das ist das aktuelle List mit 19806:
Internals:
   COMMAND    { if (Value("Status_Fussbodenheizung") eq "on") { my $Value = substr($EVENT,0,2); fhem("set $NAME setpointHeating $Value") } }
   CONDITION 
   DEF        ZWave_THERMOSTAT_2 06:15|28 08:45|20 21:45|28 22:55|20 23:59|20 { if (Value("Status_Fussbodenheizung") eq "on") { my $Value = substr($EVENT,0,2); fhem("set $NAME setpointHeating $Value") } }
   DEVICE     ZWave_THERMOSTAT_2
   FUUID      5c447ba1-f33f-c1fa-ad2b-49e10c535265c659
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       Timer_Fussbodenheizung
   NR         215
   Profil 0: Sonntag 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20, 23:59:00 20
   Profil 1: Montag 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20, 23:59:00 20
   Profil 2: Dienstag 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20, 23:59:00 20
   Profil 3: Mittwoch 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20, 23:59:00 20
   Profil 4: Donnerstag 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20, 23:59:00 20
   Profil 5: Freitag 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20, 23:59:00 20
   Profil 6: Samstag 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20, 23:59:00 20
   STATE      28
   STILLDONETIME 0
   TYPE       WeekdayTimer
   Helper:
     DBLOG:
       currValue:
         myDbLog:
           TIME       1570767300.03917
           VALUE      28
       nextUpdate:
         myDbLog:
           TIME       1570767300.03917
           VALUE      2019-10-11 08:45:00
       nextValue:
         myDbLog:
           TIME       1570767300.03917
           VALUE      20
       state:
         myDbLog:
           TIME       1570767300.03917
           VALUE      28
   READINGS:
     2019-10-11 06:15:00   currValue       28
     2019-10-06 09:34:11   disabled        0
     2019-10-11 06:15:00   nextUpdate      2019-10-11 08:45:00
     2019-10-11 06:15:00   nextValue       20
     2019-10-11 06:15:00   state           28
   SWITCHINGTIMES:
     06:15|28
     08:45|20
     21:45|28
     22:55|20
     23:59|20
   TIMER:
     Timer_Fussbodenheizung_1:
       HASH       Timer_Fussbodenheizung
       MODIFIER   1
       NAME       Timer_Fussbodenheizung_1
     Timer_Fussbodenheizung_2:
       HASH       Timer_Fussbodenheizung
       MODIFIER   2
       NAME       Timer_Fussbodenheizung_2
     Timer_Fussbodenheizung_3:
       HASH       Timer_Fussbodenheizung
       MODIFIER   3
       NAME       Timer_Fussbodenheizung_3
     Timer_Fussbodenheizung_4:
       HASH       Timer_Fussbodenheizung
       MODIFIER   4
       NAME       Timer_Fussbodenheizung_4
     Timer_Fussbodenheizung_5:
       HASH       Timer_Fussbodenheizung
       MODIFIER   5
       NAME       Timer_Fussbodenheizung_5
       immerSchalten 1
     Timer_Fussbodenheizung_SetTimerOfDay:
       HASH       Timer_Fussbodenheizung
       MODIFIER   SetTimerOfDay
       NAME       Timer_Fussbodenheizung_SetTimerOfDay
       SETTIMERATMIDNIGHT 1
     Timer_Fussbodenheizung_delayed:
       HASH       Timer_Fussbodenheizung
       MODIFIER   delayed
       NAME       Timer_Fussbodenheizung_delayed
   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:
         06:15:00   28
         08:45:00   20
         21:45:00   28
         22:55:00   20
         23:59:00   20
       1:
         06:15:00   28
         08:45:00   20
         21:45:00   28
         22:55:00   20
         23:59:00   20
       2:
         06:15:00   28
         08:45:00   20
         21:45:00   28
         22:55:00   20
         23:59:00   20
       3:
         06:15:00   28
         08:45:00   20
         21:45:00   28
         22:55:00   20
         23:59:00   20
       4:
         06:15:00   28
         08:45:00   20
         21:45:00   28
         22:55:00   20
         23:59:00   20
       5:
         06:15:00   28
         08:45:00   20
         21:45:00   28
         22:55:00   20
         23:59:00   20
       6:
         06:15:00   28
         08:45:00   20
         21:45:00   28
         22:55:00   20
         23:59:00   20
   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      1570767300
       PARA       28
       TIME       06:15
       TAGE:
         0
         1
         2
         3
         4
         5
         6
     2:
       EPOCH      1570776300
       PARA       20
       TIME       08:45
       TAGE:
         0
         1
         2
         3
         4
         5
         6
     3:
       EPOCH      1570823100
       PARA       28
       TIME       21:45
       TAGE:
         0
         1
         2
         3
         4
         5
         6
     4:
       EPOCH      1570827300
       PARA       20
       TIME       22:55
       TAGE:
         0
         1
         2
         3
         4
         5
         6
     5:
       EPOCH      1570831140
       PARA       20
       TIME       23:59
       TAGE:
         0
         1
         2
         3
         4
         5
         6
   profile_IDX:
     0:
       06:15:00   1
       08:45:00   2
       21:45:00   3
       22:55:00   4
       23:59:00   5
     1:
       06:15:00   1
       08:45:00   2
       21:45:00   3
       22:55:00   4
       23:59:00   5
     2:
       06:15:00   1
       08:45:00   2
       21:45:00   3
       22:55:00   4
       23:59:00   5
     3:
       06:15:00   1
       08:45:00   2
       21:45:00   3
       22:55:00   4
       23:59:00   5
     4:
       06:15:00   1
       08:45:00   2
       21:45:00   3
       22:55:00   4
       23:59:00   5
     5:
       06:15:00   1
       08:45:00   2
       21:45:00   3
       22:55:00   4
       23:59:00   5
     6:
       06:15:00   1
       08:45:00   2
       21:45:00   3
       22:55:00   4
       23:59:00   5
   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:
   commandTemplate set $NAME desired-temp $EVENT
   disable    0
   room       Badezimmer
   verbose    5
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Beta-User

Wirklich mysteriös. Unterstellt, das ist das list ohne Neustart am 3. Tag, steht der Schaltzeitpunkt ordnungsgemäß da... Und es ist kein Grund ersichtlich, warum der nicht ausgeführt werden sollte.
Dann glaube ich auch nicht recht daran, dass die neue Fassung an dem Befund was ändert. (*Kopfkratz*)
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

JWRu

Dann gehe ich mal sukzessive auf die älteren Versionen zurück und teste die mal.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

JWRu

#25
Ich war schon erfolgreich: Mit 19567 hat es auch am zweiten Tag geklappt.
Ich habe den Log mal durchgeschaut, wo es Unterschiede zwischen 19567 und 19806 gibt, und bin fündig geworden.

Dazu muss ich etwas ausholen:
Bei mir wird morgens um 6:00 Uhr über ein at abhängig von der aktuellen Außentemperatur und der Wettervorhersage der Dummy Status_Fussbodenheizung gesetzt:
Internals:
   COMMAND    { if ((Value("Urlaub") eq "off") && (ReadingsNum("Wettervorhersage","fc0_tempMax",0) < 25) && (ReadingsNum("Klima_aussen","temperature",0) < 17))
{ fhem("set Status_Fussbodenheizung on") } else { fhem("set Status_Fussbodenheizung off") } }
   DEF        *06:00 { if ((Value("Urlaub") eq "off") && (ReadingsNum("Wettervorhersage","fc0_tempMax",0) < 25) && (ReadingsNum("Klima_aussen","temperature",0) < 17))
{ fhem("set Status_Fussbodenheizung on") } else { fhem("set Status_Fussbodenheizung off") } }
   FUUID      5c447ba1-f33f-c1fa-cd2c-c8e90c3ff5ed3047
   NAME       Fussbodenheizung_set_status
   NR         153
   PERIODIC   yes
   RELATIVE   no
   REP        -1
   STATE      Next: 06:00:00
   TIMESPEC   06:00
   TRIGGERTIME 1571025600
   TRIGGERTIME_FMT 2019-10-14 06:00:00
   TYPE       at
   READINGS:
     2019-10-13 06:00:00   state           Next: 06:00:00
Attributes:
   room       Badezimmer


Das löst ein notify aus, das Timer_Fussbodenheizung auf "enable" oder "disable" setzt:
Internals:
   DEF        Status_Fussbodenheizung.* { if ($EVENT eq "off")   {
fhem("set ZWave_THERMOSTAT_2 tmOff; set Timer_Fussbodenheizung disable");  }
  if (($EVENT eq "on") && (Value("Urlaub") eq "off")) {
    fhem("set ZWave_THERMOSTAT_2 tmHeating; set Timer_Fussbodenheizung enable") }
}
   FUUID      5c447ba1-f33f-c1fa-369b-36d2dbfff7346bf9
   NAME       notify_Fussbodenheizung
   NOTIFYDEV  Status_Fussbodenheizung.*
   NR         202
   NTFY_ORDER 50-notify_Fussbodenheizung
   REGEXP     Status_Fussbodenheizung.*
   STATE      2019-10-13 06:00:00
   TRIGGERTIME 1570939200.01378
   TYPE       notify
   READINGS:
     2019-10-11 09:25:15   state           active
Attributes:
   room       Badezimmer


Während der ganzen Tests waren übrigens die Bedingungen so, dass Timer_Fussbodenheizung immer auf "enable" gesetzt wurde:

In der Version 19806 sieht dieser Vorgang im Log so aus:
2019.10.08 06:00:00 3: [Timer_Fussbodenheizung] set Timer_Fussbodenheizung enable
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] removing Timer: Timer_Fussbodenheizung_2
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] removing Timer: Timer_Fussbodenheizung_4
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] removing Timer: Timer_Fussbodenheizung_1
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] removing Timer: Timer_Fussbodenheizung_3
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] 07:02:24 19:23:09 Dienstag
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20 (Profil 0: Sonntag)
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20 (Profil 1: Montag)
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20 (Profil 2: Dienstag)
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20 (Profil 3: Mittwoch)
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20 (Profil 4: Donnerstag)
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20 (Profil 5: Freitag)
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] 06:15:00 28, 08:45:00 20, 21:45:00 28, 22:55:00 20 (Profil 6: Samstag)
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] device type heating recognized, setModifier:desired-temp
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] Heating recognized - switch in the past activated
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] condition: - Tage:0,1,2,3,4,5,6
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] condition: {my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6);;;;( 1 && (defined $days->{$wday}))}
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] result of condition:1
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] setTimer - timer seems to be active today: 0123456|06:15|28
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] setting  Timer: Timer_Fussbodenheizung_1 2019-10-08 06:15:00
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] condition: - Tage:0,1,2,3,4,5,6
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] condition: {my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6);;;;( 1 && (defined $days->{$wday}))}
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] result of condition:1
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] setTimer - timer seems to be active today: 0123456|08:45|20
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] setting  Timer: Timer_Fussbodenheizung_2 2019-10-08 08:45:00
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] condition: - Tage:0,1,2,3,4,5,6
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] condition: {my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6);;;;( 1 && (defined $days->{$wday}))}
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] result of condition:1
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] setTimer - timer seems to be active today: 0123456|21:45|28
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] setting  Timer: Timer_Fussbodenheizung_3 2019-10-08 21:45:00
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] condition: - Tage:0,1,2,3,4,5,6
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] condition: {my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6);;;;( 1 && (defined $days->{$wday}))}
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] result of condition:1
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] setTimer - timer seems to be active today: 0123456|22:55|20
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] setting  Timer: Timer_Fussbodenheizung_4 2019-10-08 22:55:00
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] time=22:55/1570568100 delay=-60900, nextDelay=-60780, nextRetry=1570507320
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] delayedExecutionCond:0
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] result of delayedExecutionCond: 0
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] list of window sensors found: 'Timer_Fussbodenheizung'
2019.10.08 06:00:00 4: [Timer_Fussbodenheizung] past timer on ZWave_THERMOSTAT_2 at 2019-10-07 22:55:00 with  20 activated
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] removing Timer: Timer_Fussbodenheizung_delayed
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] setting  Timer: Timer_Fussbodenheizung_delayed 2019-10-08 06:00:05
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] removing Timer: Timer_Fussbodenheizung_SetTimerOfDay
2019.10.08 06:00:00 5: [Timer_Fussbodenheizung] setting  Timer: Timer_Fussbodenheizung_SetTimerOfDay 2019-10-09 00:00:05
2019.10.08 06:00:05 4: ZWave_THERMOSTAT_2 2019-10-07 22:55:00 25505.1071169376s
2019.10.08 06:00:05 5: [Timer_Fussbodenheizung] removing Timer: Timer_Fussbodenheizung_4
2019.10.08 06:00:05 5: [Timer_Fussbodenheizung] setting  Timer: Timer_Fussbodenheizung_4 2019-10-07 22:55:00
2019.10.08 06:00:05 4: [Timer_Fussbodenheizung] time=22:55/1570568100 delay=-60895, nextDelay=-60780, nextRetry=1570507320
2019.10.08 06:00:05 4: [Timer_Fussbodenheizung] delayedExecutionCond:0
2019.10.08 06:00:05 4: [Timer_Fussbodenheizung] result of delayedExecutionCond: 0
2019.10.08 06:00:05 4: [Timer_Fussbodenheizung] list of window sensors found: 'Timer_Fussbodenheizung'
2019.10.08 06:00:05 4: [Timer_Fussbodenheizung] condition: - Tage:7,8
2019.10.08 06:00:05 5: [Timer_Fussbodenheizung] condition: {my $days={};;map{$days->{$_}=1}();;;;( 1 && (defined $days->{$wday} ||  $we || !$we))}
2019.10.08 06:00:05 5: [Timer_Fussbodenheizung] result of condition:1
2019.10.08 06:00:05 4: [Timer_Fussbodenheizung] condition: - Tage:0,1,2,3,4,5,6
2019.10.08 06:00:05 5: [Timer_Fussbodenheizung] condition: {my $days={};;map{$days->{$_}=1}(0,1,2,3,4,5,6);;;;( 1 && (defined $days->{$wday}))}
2019.10.08 06:00:05 5: [Timer_Fussbodenheizung] result of condition:1
2019.10.08 06:00:05 4: [Timer_Fussbodenheizung] Update   - past timer activated
2019.10.08 06:00:05 4: [Timer_Fussbodenheizung] device type heating recognized, setModifier:desired-temp
2019.10.08 06:00:05 4: [Timer_Fussbodenheizung] aktParam: newParam:20.0 - is  not disabled
2019.10.08 06:00:05 4: [Timer_Fussbodenheizung] command: '{ if (Value("Status_Fussbodenheizung") eq "on") { my $Value = substr($EVENT,0,2);; fhem("set $NAME setpointHeating $Value") } }' executed with %NAME=>ZWave_THERMOSTAT_2,%EVENT=>20.0
2019.10.08 06:00:05 3: ZWave set ZWave_THERMOSTAT_2 setpointHeating 20


in der Version 19567 so:
2019.10.12 06:00:00 3: [Timer_Fussbodenheizung] set Timer_Fussbodenheizung enable
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Beta-User

Danke für die umfangreiche Fehleranalyse.

Ich versuche grade, den Code wieder in diese Richtung zu ändern, dabei aber die deutlich komplexere Auswertung, ob bzw. wann denn jetzt $we ist, (die mit 19806 kam) auf eine andere, zentrale Stelle zu verlagern (die dann auch nur einmal am Tag/auf Anforderung erneuert wird). Mal sehen, ob wir das damit dann in den Griff bekommen. Bis dahin habe ich weiter keine wirkliche Idee, warum diese Änderung diese Auswirkung hat ??? . Aber vielleicht komme ich noch drauf, es hilft mir jedenfalls schon mal deutlich weiter.
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

JWRu

Lass dir Zeit - ich komme bis Ende nächster Woche eh nicht zum Testen.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

JWRu

Gibt's schon eine neue Version? Ich bin jetzt wieder da und könnte was testen.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Beta-User

Es gibt zwar eine Testversion im Parallelthread, aber die dürfte dein Problem auch nicht beseitigen, die ist nur insofern besser, als die Auswertung, welche "relativen" Tage Wochenende sind, nur noch einmal am Tag bzw. bei "enable" gemacht werden und der Code auch gleich für den Tag initialisiert wird.

Tendenziell muß ich da nochmal grundlegender an den Code ran, hatte aber bisher nicht die mentale Ruhe für so eine "große Aktion". Ich melde mich, wenn es was wirklich neues gibt...
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