$we funktioniert nicht mehr

Begonnen von ToKa, 21 März 2019, 06:38:55

Vorheriges Thema - Nächstes Thema

Beta-User

@ToKa:

Wenn es eilt, könntest du das hier mal testen:    foreach my $h2we (split(',', AttrVal('global', 'holiday2we', ''))) {
        if($h2we) {
             my $ergebnis = 'none';
           if (InternalVal($h2we, 'TYPE', '') eq "holiday") {
             $ergebnis = CommandGet(undef,$h2we . ' ' . sprintf("%02d-%02d",$mon+1,$mday));
           } elsif ($wday==$nowWday ){
             $ergebnis = "is_true" if IsWe();
           }elsif ( $wday==$nowWday+1){
             $ergebnis = "is_true" if IsWe("tomorrow");
           }
           if ($ergebnis ne 'none') {
             #Log 3, "ergebnis-------$i----->$ergebnis";
             $hdays{$i} = undef if ($d==7); #  $we Tag aufnehmen
             delete $hdays{$i} if ($d==8); # !$we Tag herausnehmen
           }
        }
    }

(das wäre als Quickfix die neue foreach-Schleife für ab Zeile 309; ist aber KOMPLETT ungetestet!)

@CoolTux (und ggf. igami):
Bitte um Rückmeldung, ob es Sinn macht, die Abfrage, ob holiday ist, (in generalisierter Form) aus der pm rauszunehmen und in ein zentrales IsHoliday() auszulagern.
Dann würde man nur entweder eine Zahl als Argument zulassen (=relative Verschiebung zu heute), sowie "yesterday" und "tomorrow" und alles andere (einschließlich Aufruf ohne Parameter) als "today" interpretieren. Rückgabe: Wahrheitswert.

Dann könnte man zukünftig die Liste der TYPE-Abfragen erweitern und jeden in h2we angegebenen Typen einer "angemessenen Sonderbehandlung" unterziehen...
Ist nur dahingehend schwierig, als IsWe() weiterhin sinnvollerweise nur bestimmte Readings berücksichtigt, hier aber ggf. was anderes prognostiziert wird. Ist halt für den Anwender, der was spezielles baut nicht so einfach zu durchschauen, dass IsWe() intern nicht diese Funktion nutzt (was aus Geschwindigkeitsgründen auch besser so bleibt, denke ich).
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

CoolTux

Ich muss gestehen das ich mir nicht alles angeschaut habe. So kann ich schlecht beurteilen ob und in wie fern es Sinn macht.
Ich schaue die Tage mal etwas genauer hin.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Beta-User

Eilt ja nicht, ich werde den Quickfix in jedem Fall erst mal testen (wenn nicht vorher @ToKa meldet, dass es funktioniert).
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

ToKa

Hallo zusammen,

zunächst mal ganz lieben Dank, dass Ihr Euch des Problems angenommen habt, auch ohne meine Rückmeldung.

Ich habe soeben den Quickfix eingebaut. Nach einem modify des WeekdayTimer Devices und eines meiner HeatingControl Devices werden jetzt die Schaltzeiten korrekt angezeigt. Sobald ich für den heutigen Tag "Urlaub" über meinen dummy auslöse und wieder ein modify durchführe, werden die Schaltzeiten für heute, wie am Wochenende berechnet.

Zur Sicherheit hier mal noch die beiden holidayDevices und der WeedayTimer:
Internals:
   FUUID      5c42dbd1-f33f-2e5f-bdad-a0fda5040cdc5e33
   NAME       ZS_zs_CAL_Urlaub
   NR         76
   STATE      none
   TYPE       dummy
   READINGS:
     2019-03-25 20:35:27   state           none
Attributes:
   alias      Urlaub
   group      Haus Status,Kalender
   icon       weather_summer
   room       IT-Kontrollzentrum,Residents
   setList    state:atHome,onTour,none
   sortby     8
   webCmd     state


Internals:
   DEF        ZS_zs_CAL_Feiertage 1 21600
   FUUID      5c42dbd8-f33f-2e5f-c7df-2ff935a29cca6d5b
   INTERVAL   21600
   KALENDER   ZS_zs_CAL_Feiertage
   NAME       ZS_zs_CAL_View_Feiertage
   NR         281
   NTFY_ORDER 50-ZS_zs_CAL_View_Feiertage
   STATE      none
   TYPE       CALVIEW
   READINGS:
     2019-03-25 20:19:20   c-term          10
     2019-03-25 20:19:20   c-today         0
     2019-03-25 20:19:20   c-tomorrow      0
     2019-03-25 20:19:20   state           none
     2019-03-25 20:19:20   t_001_bdate     19.04.2019
     2019-03-25 20:19:20   t_001_btime     00:00
     2019-03-25 20:19:20   t_001_categories Dieser Terminservice wird präsentiert von calovo.de - kostenlos eigenen Kalender anlegen und mit der Welt teilen: http://bit.ly/calovo_kostenlos_starten\n\nDeine Feiertage. In deinem Kalender. Immer aktuell.\n\n\nAnbieter-Impressum: https://calovo.de/impressum\n\n\ncalfeed löschen? Anleitung: bit.ly/calfeed_loeschen
     2019-03-25 20:19:20   t_001_daysleft  25
     2019-03-25 20:19:20   t_001_daysleftLong in 25 Tagen
     2019-03-25 20:19:20   t_001_description  Baden-Württemberg - präsentiert von calovo.de
     2019-03-25 20:19:20   t_001_duration 
     2019-03-25 20:19:20   t_001_edate     20.04.2019
     2019-03-25 20:19:20   t_001_etime     00:00
     2019-03-25 20:19:20   t_001_location  calovo.de
     2019-03-25 20:19:20   t_001_mode      next
     2019-03-25 20:19:20   t_001_source    ZS_zs_CAL_Feiertage
     2019-03-25 20:19:20   t_001_sourcecolor white
     2019-03-25 20:19:20   t_001_summary   Karfreitag
     2019-03-25 20:19:20   t_001_timeshort 00:00 - 00:00
     2019-03-25 20:19:20   t_001_weekday   5
     2019-03-25 20:19:20   t_001_weekdayname Freitag
     2019-03-25 20:19:20   t_002_bdate     21.04.2019
     2019-03-25 20:19:20   t_002_btime     00:00
     2019-03-25 20:19:20   t_002_categories Dieser Terminservice wird präsentiert von calovo.de - kostenlos eigenen Kalender anlegen und mit der Welt teilen: http://bit.ly/calovo_kostenlos_starten\n\nDeine Feiertage. In deinem Kalender. Immer aktuell.\n\n\nAnbieter-Impressum: https://calovo.de/impressum\n\n\ncalfeed löschen? Anleitung: bit.ly/calfeed_loeschen
     2019-03-25 20:19:20   t_002_daysleft  27
     2019-03-25 20:19:20   t_002_daysleftLong in 27 Tagen
     2019-03-25 20:19:20   t_002_description  Baden-Württemberg - präsentiert von calovo.de
     2019-03-25 20:19:20   t_002_duration 
     2019-03-25 20:19:20   t_002_edate     22.04.2019
     2019-03-25 20:19:20   t_002_etime     00:00
     2019-03-25 20:19:20   t_002_location  calovo.de
     2019-03-25 20:19:20   t_002_mode      next
     2019-03-25 20:19:20   t_002_source    ZS_zs_CAL_Feiertage
     2019-03-25 20:19:20   t_002_sourcecolor white
     2019-03-25 20:19:20   t_002_summary   Ostersonntag
     2019-03-25 20:19:20   t_002_timeshort 00:00 - 00:00
     2019-03-25 20:19:20   t_002_weekday   0
     2019-03-25 20:19:20   t_002_weekdayname Sonntag
     2019-03-25 20:19:20   t_003_bdate     22.04.2019
     2019-03-25 20:19:20   t_003_btime     00:00
     2019-03-25 20:19:20   t_003_categories Dieser Terminservice wird präsentiert von calovo.de - kostenlos eigenen Kalender anlegen und mit der Welt teilen: http://bit.ly/calovo_kostenlos_starten\n\nDeine Feiertage. In deinem Kalender. Immer aktuell.\n\n\nAnbieter-Impressum: https://calovo.de/impressum\n\n\ncalfeed löschen? Anleitung: bit.ly/calfeed_loeschen
     2019-03-25 20:19:20   t_003_daysleft  28
     2019-03-25 20:19:20   t_003_daysleftLong in 28 Tagen
     2019-03-25 20:19:20   t_003_description  Baden-Württemberg - präsentiert von calovo.de
     2019-03-25 20:19:20   t_003_duration 
     2019-03-25 20:19:20   t_003_edate     23.04.2019
     2019-03-25 20:19:20   t_003_etime     00:00
     2019-03-25 20:19:20   t_003_location  calovo.de
     2019-03-25 20:19:20   t_003_mode      next
     2019-03-25 20:19:20   t_003_source    ZS_zs_CAL_Feiertage
     2019-03-25 20:19:20   t_003_sourcecolor white
     2019-03-25 20:19:20   t_003_summary   Ostermontag
     2019-03-25 20:19:20   t_003_timeshort 00:00 - 00:00
     2019-03-25 20:19:20   t_003_weekday   1
     2019-03-25 20:19:20   t_003_weekdayname Montag
     2019-03-25 20:19:20   t_004_bdate     01.05.2019
     2019-03-25 20:19:20   t_004_btime     00:00
     2019-03-25 20:19:20   t_004_categories Dieser Terminservice wird präsentiert von calovo.de - kostenlos eigenen Kalender anlegen und mit der Welt teilen: http://bit.ly/calovo_kostenlos_starten\n\nDeine Feiertage. In deinem Kalender. Immer aktuell.\n\n\nAnbieter-Impressum: https://calovo.de/impressum\n\n\ncalfeed löschen? Anleitung: bit.ly/calfeed_loeschen
     2019-03-25 20:19:20   t_004_daysleft  37
     2019-03-25 20:19:20   t_004_daysleftLong in 37 Tagen
     2019-03-25 20:19:20   t_004_description  Baden-Württemberg - präsentiert von calovo.de
     2019-03-25 20:19:20   t_004_duration 
     2019-03-25 20:19:20   t_004_edate     02.05.2019
     2019-03-25 20:19:20   t_004_etime     00:00
     2019-03-25 20:19:20   t_004_location  calovo.de
     2019-03-25 20:19:20   t_004_mode      next
     2019-03-25 20:19:20   t_004_source    ZS_zs_CAL_Feiertage
     2019-03-25 20:19:20   t_004_sourcecolor white
     2019-03-25 20:19:20   t_004_summary   Tag der Arbeit
     2019-03-25 20:19:20   t_004_timeshort 00:00 - 00:00
     2019-03-25 20:19:20   t_004_weekday   3
     2019-03-25 20:19:20   t_004_weekdayname Mittwoch
     2019-03-25 20:19:20   t_005_bdate     30.05.2019
     2019-03-25 20:19:20   t_005_btime     00:00
     2019-03-25 20:19:20   t_005_categories Dieser Terminservice wird präsentiert von calovo.de - kostenlos eigenen Kalender anlegen und mit der Welt teilen: http://bit.ly/calovo_kostenlos_starten\n\nDeine Feiertage. In deinem Kalender. Immer aktuell.\n\n\nAnbieter-Impressum: https://calovo.de/impressum\n\n\ncalfeed löschen? Anleitung: bit.ly/calfeed_loeschen
     2019-03-25 20:19:20   t_005_daysleft  66
     2019-03-25 20:19:20   t_005_daysleftLong in 66 Tagen
     2019-03-25 20:19:20   t_005_description  Baden-Württemberg - präsentiert von calovo.de
     2019-03-25 20:19:20   t_005_duration 
     2019-03-25 20:19:20   t_005_edate     31.05.2019
     2019-03-25 20:19:20   t_005_etime     00:00
     2019-03-25 20:19:20   t_005_location  calovo.de
     2019-03-25 20:19:20   t_005_mode      next
     2019-03-25 20:19:20   t_005_source    ZS_zs_CAL_Feiertage
     2019-03-25 20:19:20   t_005_sourcecolor white
     2019-03-25 20:19:20   t_005_summary   Christi Himmelfahrt
     2019-03-25 20:19:20   t_005_timeshort 00:00 - 00:00
     2019-03-25 20:19:20   t_005_weekday   4
     2019-03-25 20:19:20   t_005_weekdayname Donnerstag
     2019-03-25 20:19:20   t_006_bdate     09.06.2019
     2019-03-25 20:19:20   t_006_btime     00:00
     2019-03-25 20:19:20   t_006_categories Dieser Terminservice wird präsentiert von calovo.de - kostenlos eigenen Kalender anlegen und mit der Welt teilen: http://bit.ly/calovo_kostenlos_starten\n\nDeine Feiertage. In deinem Kalender. Immer aktuell.\n\n\nAnbieter-Impressum: https://calovo.de/impressum\n\n\ncalfeed löschen? Anleitung: bit.ly/calfeed_loeschen
     2019-03-25 20:19:20   t_006_daysleft  76
     2019-03-25 20:19:20   t_006_daysleftLong in 76 Tagen
     2019-03-25 20:19:20   t_006_description  Baden-Württemberg - präsentiert von calovo.de
     2019-03-25 20:19:20   t_006_duration 
     2019-03-25 20:19:20   t_006_edate     10.06.2019
     2019-03-25 20:19:20   t_006_etime     00:00
     2019-03-25 20:19:20   t_006_location  calovo.de
     2019-03-25 20:19:20   t_006_mode      next
     2019-03-25 20:19:20   t_006_source    ZS_zs_CAL_Feiertage
     2019-03-25 20:19:20   t_006_sourcecolor white
     2019-03-25 20:19:20   t_006_summary   Pfingstsonntag
     2019-03-25 20:19:20   t_006_timeshort 00:00 - 00:00
     2019-03-25 20:19:20   t_006_weekday   0
     2019-03-25 20:19:20   t_006_weekdayname Sonntag
     2019-03-25 20:19:20   t_007_bdate     10.06.2019
     2019-03-25 20:19:20   t_007_btime     00:00
     2019-03-25 20:19:20   t_007_categories Dieser Terminservice wird präsentiert von calovo.de - kostenlos eigenen Kalender anlegen und mit der Welt teilen: http://bit.ly/calovo_kostenlos_starten\n\nDeine Feiertage. In deinem Kalender. Immer aktuell.\n\n\nAnbieter-Impressum: https://calovo.de/impressum\n\n\ncalfeed löschen? Anleitung: bit.ly/calfeed_loeschen
     2019-03-25 20:19:20   t_007_daysleft  77
     2019-03-25 20:19:20   t_007_daysleftLong in 77 Tagen
     2019-03-25 20:19:20   t_007_description  Baden-Württemberg - präsentiert von calovo.de
     2019-03-25 20:19:20   t_007_duration 
     2019-03-25 20:19:20   t_007_edate     11.06.2019
     2019-03-25 20:19:20   t_007_etime     00:00
     2019-03-25 20:19:20   t_007_location  calovo.de
     2019-03-25 20:19:20   t_007_mode      next
     2019-03-25 20:19:20   t_007_source    ZS_zs_CAL_Feiertage
     2019-03-25 20:19:20   t_007_sourcecolor white
     2019-03-25 20:19:20   t_007_summary   Pfingstmontag
     2019-03-25 20:19:20   t_007_timeshort 00:00 - 00:00
     2019-03-25 20:19:20   t_007_weekday   1
     2019-03-25 20:19:20   t_007_weekdayname Montag
     2019-03-25 20:19:20   t_008_bdate     20.06.2019
     2019-03-25 20:19:20   t_008_btime     00:00
     2019-03-25 20:19:20   t_008_categories Dieser Terminservice wird präsentiert von calovo.de - kostenlos eigenen Kalender anlegen und mit der Welt teilen: http://bit.ly/calovo_kostenlos_starten\n\nDeine Feiertage. In deinem Kalender. Immer aktuell.\n\n\nAnbieter-Impressum: https://calovo.de/impressum\n\n\ncalfeed löschen? Anleitung: bit.ly/calfeed_loeschen
     2019-03-25 20:19:20   t_008_daysleft  87
     2019-03-25 20:19:20   t_008_daysleftLong in 87 Tagen
     2019-03-25 20:19:20   t_008_description  Baden-Württemberg - präsentiert von calovo.de
     2019-03-25 20:19:20   t_008_duration 
     2019-03-25 20:19:20   t_008_edate     21.06.2019
     2019-03-25 20:19:20   t_008_etime     00:00
     2019-03-25 20:19:20   t_008_location  calovo.de
     2019-03-25 20:19:20   t_008_mode      next
     2019-03-25 20:19:20   t_008_source    ZS_zs_CAL_Feiertage
     2019-03-25 20:19:20   t_008_sourcecolor white
     2019-03-25 20:19:20   t_008_summary   Fronleichnam
     2019-03-25 20:19:20   t_008_timeshort 00:00 - 00:00
     2019-03-25 20:19:20   t_008_weekday   4
     2019-03-25 20:19:20   t_008_weekdayname Donnerstag
     2019-03-25 20:19:20   t_009_bdate     03.10.2019
     2019-03-25 20:19:20   t_009_btime     00:00
     2019-03-25 20:19:20   t_009_categories Dieser Terminservice wird präsentiert von calovo.de - kostenlos eigenen Kalender anlegen und mit der Welt teilen: http://bit.ly/calovo_kostenlos_starten\n\nDeine Feiertage. In deinem Kalender. Immer aktuell.\n\n\nAnbieter-Impressum: https://calovo.de/impressum\n\n\ncalfeed löschen? Anleitung: bit.ly/calfeed_loeschen
     2019-03-25 20:19:20   t_009_daysleft  192
     2019-03-25 20:19:20   t_009_daysleftLong in 192 Tagen
     2019-03-25 20:19:20   t_009_description  Baden-Württemberg - präsentiert von calovo.de
     2019-03-25 20:19:20   t_009_duration 
     2019-03-25 20:19:20   t_009_edate     04.10.2019
     2019-03-25 20:19:20   t_009_etime     00:00
     2019-03-25 20:19:20   t_009_location  calovo.de
     2019-03-25 20:19:20   t_009_mode      next
     2019-03-25 20:19:20   t_009_source    ZS_zs_CAL_Feiertage
     2019-03-25 20:19:20   t_009_sourcecolor white
     2019-03-25 20:19:20   t_009_summary   Tag der Deutschen Einheit
     2019-03-25 20:19:20   t_009_timeshort 00:00 - 00:00
     2019-03-25 20:19:20   t_009_weekday   4
     2019-03-25 20:19:20   t_009_weekdayname Donnerstag
     2019-03-25 20:19:20   t_010_bdate     01.11.2019
     2019-03-25 20:19:20   t_010_btime     00:00
     2019-03-25 20:19:20   t_010_categories Dieser Terminservice wird präsentiert von calovo.de - kostenlos eigenen Kalender anlegen und mit der Welt teilen: http://bit.ly/calovo_kostenlos_starten\n\nDeine Feiertage. In deinem Kalender. Immer aktuell.\n\n\nAnbieter-Impressum: https://calovo.de/impressum\n\n\ncalfeed löschen? Anleitung: bit.ly/calfeed_loeschen
     2019-03-25 20:19:20   t_010_daysleft  221
     2019-03-25 20:19:20   t_010_daysleftLong in 221 Tagen
     2019-03-25 20:19:20   t_010_description  Baden-Württemberg - präsentiert von calovo.de
     2019-03-25 20:19:20   t_010_duration 
     2019-03-25 20:19:20   t_010_edate     02.11.2019
     2019-03-25 20:19:20   t_010_etime     00:00
     2019-03-25 20:19:20   t_010_location  calovo.de
     2019-03-25 20:19:20   t_010_mode      next
     2019-03-25 20:19:20   t_010_source    ZS_zs_CAL_Feiertage
     2019-03-25 20:19:20   t_010_sourcecolor white
     2019-03-25 20:19:20   t_010_summary   Allerheiligen
     2019-03-25 20:19:20   t_010_timeshort 00:00 - 00:00
     2019-03-25 20:19:20   t_010_weekday   5
     2019-03-25 20:19:20   t_010_weekdayname Freitag
Attributes:
   alias      Feiertage BW
   group      Kalender
   maxreadings 10
   modes      next
   room       IT-Kontrollzentrum
   sortby     6
   stateFormat { if (ReadingsVal("ZS_zs_CAL_View_Feiertage","c-today",0) == 0) {
return "none";
  } else {
  return ReadingsVal("ZS_zs_CAL_View_Feiertage","today_001_summary","");
  }
}
   timeshort  1
   userReadings state { if (ReadingsVal("ZS_zs_CAL_View_Feiertage","c-today",0) == 0) {
return "none";
  } else {
  return ReadingsVal("ZS_zs_CAL_View_Feiertage","today_001_summary","");
  }
}


Internals:
   COMMAND    { myWeekdayTimer($NAME,$EVENT) }
   CONDITION 
   DEF        KG_hz_ZS_Zirkulationspumpe de !$we|04:30|on-for-timer !$we|16:30|on-for-timer $we|06:30|on-for-timer $we|18:30|on-for-timer { myWeekdayTimer($NAME,$EVENT) }
   DEVICE     KG_hz_ZS_Zirkulationspumpe
   FUUID      5c42dbd1-f33f-2e5f-de1e-369a0a62fe6c8946
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       KG_hz_ZS_Zirkulationspumpe_wT_01
   NR         83
   Profil 0: Sonntag 06:30:00 on-for-timer, 18:30:00 on-for-timer
   Profil 1: Montag 04:30:00 on-for-timer, 16:30:00 on-for-timer
   Profil 2: Dienstag 04:30:00 on-for-timer, 16:30:00 on-for-timer
   Profil 3: Mittwoch 04:30:00 on-for-timer, 16:30:00 on-for-timer
   Profil 4: Donnerstag 04:30:00 on-for-timer, 16:30:00 on-for-timer
   Profil 5: Freitag 04:30:00 on-for-timer, 16:30:00 on-for-timer
   Profil 6: Samstag 06:30:00 on-for-timer, 18:30:00 on-for-timer
   Profil 7: Wochenende 06:30:00 on-for-timer, 18:30:00 on-for-timer
   Profil 8: Werktags 04:30:00 on-for-timer, 16:30:00 on-for-timer
   STATE      nächste Schaltung: 2019-03-26 04:30:00 on-for-timer
   STILLDONETIME 0
   TYPE       WeekdayTimer
   READINGS:
     2019-03-25 20:35:38   currValue       on-for-timer
     2019-03-25 20:35:38   nextUpdate      2019-03-26 04:30:00
     2019-03-25 20:35:38   nextValue       on-for-timer
     2019-03-25 20:35:38   state           active
   SWITCHINGTIMES:
     !$we|04:30|on-for-timer
     !$we|16:30|on-for-timer
     $we|06:30|on-for-timer
     $we|18:30|on-for-timer
   TIMER:
     KG_hz_ZS_Zirkulationspumpe_wT_01_SetTimerOfDay:
       HASH       KG_hz_ZS_Zirkulationspumpe_wT_01
       MODIFIER   SetTimerOfDay
       NAME       KG_hz_ZS_Zirkulationspumpe_wT_01_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:
         06:30:00   on-for-timer
         18:30:00   on-for-timer
       1:
         04:30:00   on-for-timer
         16:30:00   on-for-timer
       2:
         04:30:00   on-for-timer
         16:30:00   on-for-timer
       3:
         04:30:00   on-for-timer
         16:30:00   on-for-timer
       4:
         04:30:00   on-for-timer
         16:30:00   on-for-timer
       5:
         04:30:00   on-for-timer
         16:30:00   on-for-timer
       6:
         06:30:00   on-for-timer
         18:30:00   on-for-timer
       7:
         06:30:00   on-for-timer
         18:30:00   on-for-timer
       8:
         04:30:00   on-for-timer
         16:30:00   on-for-timer
   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      1553484600
       PARA       on-for-timer
       TIME       04:30
       TAGE:
         8
     2:
       EPOCH      1553527800
       PARA       on-for-timer
       TIME       16:30
       TAGE:
         8
     3:
       EPOCH      1553491800
       PARA       on-for-timer
       TIME       06:30
       TAGE:
         7
     4:
       EPOCH      1553535000
       PARA       on-for-timer
       TIME       18:30
       TAGE:
         7
   profile_IDX:
     0:
       06:30:00   3
       18:30:00   4
     1:
       04:30:00   1
       16:30:00   2
     2:
       04:30:00   1
       16:30:00   2
     3:
       04:30:00   1
       16:30:00   2
     4:
       04:30:00   1
       16:30:00   2
     5:
       04:30:00   1
       16:30:00   2
     6:
       06:30:00   3
       18:30:00   4
     7:
       06:30:00   3
       18:30:00   4
     8:
       04:30:00   1
       16:30: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      Zeitsteuerung Zirkulationspumpe
   commandTemplate set $NAME  $EVENT
   group      Zirkulationspumpe
   icon       sani_pump
   room       Heizungsraum,Zentrale Steuerung
   stateFormat nächste Schaltung: nextUpdate nextValue


Falls ich noch etwas tun / testen kann, lasst es mich wissen.

Beste Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

Beta-User

Danke schon mal für die Rückmeldung.

Kannst du den Test kurz noch erweitern und deinem dummy noch ein tomorrow-reading spendieren?
Dann sollten auch die Zeiten für morgen korrekt gebildet werden, wenn das reading auf was anderem steht wie none.

@igami: Ich nehme an, das wäre für dich ok, wenn Cooltux das dann auch wieder eincheckt, wenn auch dieser Teil klappt?
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

ToKa

Das mit tomorrow funktioniert auch.
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

CoolTux

Zitat von: ToKa am 25 März 2019, 22:14:18
Das mit tomorrow funktioniert auch.

Und Du testest mit dem Code
Zitat von: Beta-User am 25 März 2019, 12:52:07
@ToKa:

Wenn es eilt, könntest du das hier mal testen:    foreach my $h2we (split(',', AttrVal('global', 'holiday2we', ''))) {
        if($h2we) {
             my $ergebnis = 'none';
           if (InternalVal($h2we, 'TYPE', '') eq "holiday") {
             $ergebnis = CommandGet(undef,$h2we . ' ' . sprintf("%02d-%02d",$mon+1,$mday));
           } elsif ($wday==$nowWday ){
             $ergebnis = "is_true" if IsWe();
           }elsif ( $wday==$nowWday+1){
             $ergebnis = "is_true" if IsWe("tomorrow");
           }
           if ($ergebnis ne 'none') {
             #Log 3, "ergebnis-------$i----->$ergebnis";
             $hdays{$i} = undef if ($d==7); #  $we Tag aufnehmen
             delete $hdays{$i} if ($d==8); # !$we Tag herausnehmen
           }
        }
    }

(das wäre als Quickfix die neue foreach-Schleife für ab Zeile 309; ist aber KOMPLETT ungetestet!)

Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

ToKa

Ja CoolTux, den Code habe ich manuell eingebunden
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

igami

Zitat von: Beta-User am 25 März 2019, 21:46:42
@igami: Ich nehme an, das wäre für dich ok, wenn Cooltux das dann auch wieder eincheckt, wenn auch dieser Teil klappt?
Da ich zeitlich aktuell stark eingebunden bin habe ich nichts dagegen
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

ToKa

Hallo CoolTux,

nach dem heutigen Update war leider der Fehler wieder da. Im Quellcode ist auch die Zeile 309ff nicht so wie Beta-user vorgeschlagen bzw. von mir manuell getestet.

Ich habe jetzt den Code wieder hier aus dem Thread eingefügt und damit funktioniert es.

Beste Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

CoolTux

Meinst Du damit diese Änderung


foreach my $h2we (split(',', AttrVal('global', 'holiday2we', ''))) {
        if($h2we) {
             my $ergebnis = 'none';
           if (InternalVal($h2we, 'TYPE', '') eq "holiday") {
             $ergebnis = CommandGet(undef,$h2we . ' ' . sprintf("%02d-%02d",$mon+1,$mday));
           } elsif ($wday==$nowWday ){
             $ergebnis = "is_true" if IsWe();
           }elsif ( $wday==$nowWday+1){
             $ergebnis = "is_true" if IsWe("tomorrow");
           }
           if ($ergebnis ne 'none') {
             #Log 3, "ergebnis-------$i----->$ergebnis";
             $hdays{$i} = undef if ($d==7); #  $we Tag aufnehmen
             delete $hdays{$i} if ($d==8); # !$we Tag herausnehmen
           }
        }
    }


Das ist dann auch korrekt. Dieser Code wurde auch nicht eingecheckt, sondern lediglich der Schleifendurchlauf durch alle holiday2we Devices.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Beta-User

Hallo CoolTux,

habe es eben etwas hübscher formatiert eingecheckt. Kaum macht man es richtig, funktioniert es auch...
Damit bin ich auch als Quell des Übels zu erkennen, wenn es Probleme geben sollte.

Danke zusammen.
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

ToKa

Hallo zusammen,

nach dem heutigen Update kann ich bestätigen, ist jetzt alles OK.

Vielen Dank noch einmal für Eure schnellen Änderungen.

Beste Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight