Hallo zusammen,
kann es sein, dass $we generell nicht mehr funktioniert? Aufgefallen ist es mir zunächst bei meinen Heating_Cotnrol Devices und jetzt auch bei MSwitch. $we lieferte gestern und heute 1 zurück.
Hat sich durch die neue Funktion IsWe() an $we etwas geändert?
Beste Grüße
Torsten
Moin,
Ich War ein paar tage unterwegs und bin erst heute abend wieder zuhause. Bezüglich MSwitch werde ich das heute abend testen - nicht das da irgend etwas quer läuft, zumal ich letzte Woche auch einige Änderungen gemacht habe.
Gruss Byte09
Gesendet von meinem SM-G900F mit Tapatalk
Bei mir funktioniert $we wie gehabt. Aber der Benni hat da was wegen einem holiday Dummy im anderen Thread erwähnt.
https://forum.fhem.de/index.php/topic,98583.msg921588.html#msg921588
Hallo CoolTux,
Ja das klingt genau danach....
Beste Grüße
Torsten
Ich habe mir jetzt zwar den anderen Thread angeschaut, kapiere aber nicht wirklich, was das jetzt für alle Anwender bedeutet?
Muss ich jetzt alles umstellen, wo ich $we oder !$we verwende und wenn ja wie? Wenn nein, müssen dann alle Modul Entwickler ihre Module anpassen?
Ärgerlich finde ich diese Änderung schon!
Beste Grüße
Torsten
Also $we sollte eigentlich ganz normal funktionieren. Zeig mal bitte was Deine holiday Devices haben. Also list von allen Holiday Devices bitte.
ZitatMuss ich jetzt alles umstellen, wo ich $we oder !$we verwende und wenn ja wie? Wenn nein, müssen dann alle Modul Entwickler ihre Module anpassen?
Entwickler muessen nichts aendern.
Anwender nur dann, wenn sie auf "zu kreative" Ideen beim MIssbrauch der holiday2we Funktion gekommen sind.
Jedenfalls ist das mein Stand.
Also Missbrauch ist sehr hart formuliert. Bislang war das so in der commandref dokumentiert.
Andernfalls ist der STATE auf den Text "none" gesetzt
Ja, ich verwende auch ein eigenes holiday2we device, das im STATE none setzt und in state die Anzahl Feiertage aus einem Kalender ausweist.
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-21 20:34:28 c-term 10
2019-03-21 20:34:28 c-today 0
2019-03-21 20:34:28 c-tomorrow 0
2019-03-21 20:34:28 state t: 10 td: 0 tm: 0
2019-03-21 20:34:28 t_001_bdate 19.04.2019
2019-03-21 20:34:28 t_001_btime 00:00
2019-03-21 20:34:28 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-21 20:34:28 t_001_daysleft 29
2019-03-21 20:34:28 t_001_daysleftLong in 29 Tagen
2019-03-21 20:34:28 t_001_description Baden-Württemberg - präsentiert von calovo.de
2019-03-21 20:34:28 t_001_duration
2019-03-21 20:34:28 t_001_edate 20.04.2019
2019-03-21 20:34:28 t_001_etime 00:00
2019-03-21 20:34:28 t_001_location calovo.de
2019-03-21 20:34:28 t_001_mode next
2019-03-21 20:34:28 t_001_source ZS_zs_CAL_Feiertage
2019-03-21 20:34:28 t_001_sourcecolor white
2019-03-21 20:34:28 t_001_summary Karfreitag
2019-03-21 20:34:28 t_001_timeshort 00:00 - 00:00
2019-03-21 20:34:28 t_001_weekday 5
2019-03-21 20:34:28 t_001_weekdayname Freitag
2019-03-21 20:34:28 t_002_bdate 21.04.2019
2019-03-21 20:34:28 t_002_btime 00:00
2019-03-21 20:34:28 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-21 20:34:28 t_002_daysleft 31
2019-03-21 20:34:28 t_002_daysleftLong in 31 Tagen
2019-03-21 20:34:28 t_002_description Baden-Württemberg - präsentiert von calovo.de
2019-03-21 20:34:28 t_002_duration
2019-03-21 20:34:28 t_002_edate 22.04.2019
2019-03-21 20:34:28 t_002_etime 00:00
2019-03-21 20:34:28 t_002_location calovo.de
2019-03-21 20:34:28 t_002_mode next
2019-03-21 20:34:28 t_002_source ZS_zs_CAL_Feiertage
2019-03-21 20:34:28 t_002_sourcecolor white
2019-03-21 20:34:28 t_002_summary Ostersonntag
2019-03-21 20:34:28 t_002_timeshort 00:00 - 00:00
2019-03-21 20:34:28 t_002_weekday 0
2019-03-21 20:34:28 t_002_weekdayname Sonntag
2019-03-21 20:34:28 t_003_bdate 22.04.2019
2019-03-21 20:34:28 t_003_btime 00:00
2019-03-21 20:34:28 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-21 20:34:28 t_003_daysleft 32
2019-03-21 20:34:28 t_003_daysleftLong in 32 Tagen
2019-03-21 20:34:28 t_003_description Baden-Württemberg - präsentiert von calovo.de
2019-03-21 20:34:28 t_003_duration
2019-03-21 20:34:28 t_003_edate 23.04.2019
2019-03-21 20:34:28 t_003_etime 00:00
2019-03-21 20:34:28 t_003_location calovo.de
2019-03-21 20:34:28 t_003_mode next
2019-03-21 20:34:28 t_003_source ZS_zs_CAL_Feiertage
2019-03-21 20:34:28 t_003_sourcecolor white
2019-03-21 20:34:28 t_003_summary Ostermontag
2019-03-21 20:34:28 t_003_timeshort 00:00 - 00:00
2019-03-21 20:34:28 t_003_weekday 1
2019-03-21 20:34:28 t_003_weekdayname Montag
2019-03-21 20:34:28 t_004_bdate 01.05.2019
2019-03-21 20:34:28 t_004_btime 00:00
2019-03-21 20:34:28 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-21 20:34:28 t_004_daysleft 41
2019-03-21 20:34:28 t_004_daysleftLong in 41 Tagen
2019-03-21 20:34:28 t_004_description Baden-Württemberg - präsentiert von calovo.de
2019-03-21 20:34:28 t_004_duration
2019-03-21 20:34:28 t_004_edate 02.05.2019
2019-03-21 20:34:28 t_004_etime 00:00
2019-03-21 20:34:28 t_004_location calovo.de
2019-03-21 20:34:28 t_004_mode next
2019-03-21 20:34:28 t_004_source ZS_zs_CAL_Feiertage
2019-03-21 20:34:28 t_004_sourcecolor white
2019-03-21 20:34:28 t_004_summary Tag der Arbeit
2019-03-21 20:34:28 t_004_timeshort 00:00 - 00:00
2019-03-21 20:34:28 t_004_weekday 3
2019-03-21 20:34:28 t_004_weekdayname Mittwoch
2019-03-21 20:34:28 t_005_bdate 30.05.2019
2019-03-21 20:34:28 t_005_btime 00:00
2019-03-21 20:34:28 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-21 20:34:28 t_005_daysleft 70
2019-03-21 20:34:28 t_005_daysleftLong in 70 Tagen
2019-03-21 20:34:28 t_005_description Baden-Württemberg - präsentiert von calovo.de
2019-03-21 20:34:28 t_005_duration
2019-03-21 20:34:28 t_005_edate 31.05.2019
2019-03-21 20:34:28 t_005_etime 00:00
2019-03-21 20:34:28 t_005_location calovo.de
2019-03-21 20:34:28 t_005_mode next
2019-03-21 20:34:28 t_005_source ZS_zs_CAL_Feiertage
2019-03-21 20:34:28 t_005_sourcecolor white
2019-03-21 20:34:28 t_005_summary Christi Himmelfahrt
2019-03-21 20:34:28 t_005_timeshort 00:00 - 00:00
2019-03-21 20:34:28 t_005_weekday 4
2019-03-21 20:34:28 t_005_weekdayname Donnerstag
2019-03-21 20:34:28 t_006_bdate 09.06.2019
2019-03-21 20:34:28 t_006_btime 00:00
2019-03-21 20:34:28 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-21 20:34:28 t_006_daysleft 80
2019-03-21 20:34:28 t_006_daysleftLong in 80 Tagen
2019-03-21 20:34:28 t_006_description Baden-Württemberg - präsentiert von calovo.de
2019-03-21 20:34:28 t_006_duration
2019-03-21 20:34:28 t_006_edate 10.06.2019
2019-03-21 20:34:28 t_006_etime 00:00
2019-03-21 20:34:28 t_006_location calovo.de
2019-03-21 20:34:28 t_006_mode next
2019-03-21 20:34:28 t_006_source ZS_zs_CAL_Feiertage
2019-03-21 20:34:28 t_006_sourcecolor white
2019-03-21 20:34:28 t_006_summary Pfingstsonntag
2019-03-21 20:34:28 t_006_timeshort 00:00 - 00:00
2019-03-21 20:34:28 t_006_weekday 0
2019-03-21 20:34:28 t_006_weekdayname Sonntag
2019-03-21 20:34:28 t_007_bdate 10.06.2019
2019-03-21 20:34:28 t_007_btime 00:00
2019-03-21 20:34:28 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-21 20:34:28 t_007_daysleft 81
2019-03-21 20:34:28 t_007_daysleftLong in 81 Tagen
2019-03-21 20:34:28 t_007_description Baden-Württemberg - präsentiert von calovo.de
2019-03-21 20:34:28 t_007_duration
2019-03-21 20:34:28 t_007_edate 11.06.2019
2019-03-21 20:34:28 t_007_etime 00:00
2019-03-21 20:34:28 t_007_location calovo.de
2019-03-21 20:34:28 t_007_mode next
2019-03-21 20:34:28 t_007_source ZS_zs_CAL_Feiertage
2019-03-21 20:34:28 t_007_sourcecolor white
2019-03-21 20:34:28 t_007_summary Pfingstmontag
2019-03-21 20:34:28 t_007_timeshort 00:00 - 00:00
2019-03-21 20:34:28 t_007_weekday 1
2019-03-21 20:34:28 t_007_weekdayname Montag
2019-03-21 20:34:28 t_008_bdate 20.06.2019
2019-03-21 20:34:28 t_008_btime 00:00
2019-03-21 20:34:28 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-21 20:34:28 t_008_daysleft 91
2019-03-21 20:34:28 t_008_daysleftLong in 91 Tagen
2019-03-21 20:34:28 t_008_description Baden-Württemberg - präsentiert von calovo.de
2019-03-21 20:34:28 t_008_duration
2019-03-21 20:34:28 t_008_edate 21.06.2019
2019-03-21 20:34:28 t_008_etime 00:00
2019-03-21 20:34:28 t_008_location calovo.de
2019-03-21 20:34:28 t_008_mode next
2019-03-21 20:34:28 t_008_source ZS_zs_CAL_Feiertage
2019-03-21 20:34:28 t_008_sourcecolor white
2019-03-21 20:34:28 t_008_summary Fronleichnam
2019-03-21 20:34:28 t_008_timeshort 00:00 - 00:00
2019-03-21 20:34:28 t_008_weekday 4
2019-03-21 20:34:28 t_008_weekdayname Donnerstag
2019-03-21 20:34:28 t_009_bdate 03.10.2019
2019-03-21 20:34:28 t_009_btime 00:00
2019-03-21 20:34:28 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-21 20:34:28 t_009_daysleft 196
2019-03-21 20:34:28 t_009_daysleftLong in 196 Tagen
2019-03-21 20:34:28 t_009_description Baden-Württemberg - präsentiert von calovo.de
2019-03-21 20:34:28 t_009_duration
2019-03-21 20:34:28 t_009_edate 04.10.2019
2019-03-21 20:34:28 t_009_etime 00:00
2019-03-21 20:34:28 t_009_location calovo.de
2019-03-21 20:34:28 t_009_mode next
2019-03-21 20:34:28 t_009_source ZS_zs_CAL_Feiertage
2019-03-21 20:34:28 t_009_sourcecolor white
2019-03-21 20:34:28 t_009_summary Tag der Deutschen Einheit
2019-03-21 20:34:28 t_009_timeshort 00:00 - 00:00
2019-03-21 20:34:28 t_009_weekday 4
2019-03-21 20:34:28 t_009_weekdayname Donnerstag
2019-03-21 20:34:28 t_010_bdate 01.11.2019
2019-03-21 20:34:28 t_010_btime 00:00
2019-03-21 20:34:28 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-21 20:34:28 t_010_daysleft 225
2019-03-21 20:34:28 t_010_daysleftLong in 225 Tagen
2019-03-21 20:34:28 t_010_description Baden-Württemberg - präsentiert von calovo.de
2019-03-21 20:34:28 t_010_duration
2019-03-21 20:34:28 t_010_edate 02.11.2019
2019-03-21 20:34:28 t_010_etime 00:00
2019-03-21 20:34:28 t_010_location calovo.de
2019-03-21 20:34:28 t_010_mode next
2019-03-21 20:34:28 t_010_source ZS_zs_CAL_Feiertage
2019-03-21 20:34:28 t_010_sourcecolor white
2019-03-21 20:34:28 t_010_summary Allerheiligen
2019-03-21 20:34:28 t_010_timeshort 00:00 - 00:00
2019-03-21 20:34:28 t_010_weekday 5
2019-03-21 20:34:28 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","");
}
}
Beste Grüße
Torsten
Das ist das Problem. Das musst Du entsprechend an passen.
@ToKa: Statt stateFormat userReadings fuer state setzen mit dem gleichen Code.
Danke Rudi, war schon dran ein doif als Dummy zu basteln.
So $we verhält sich wieder wie vorher und gibt für heute 0 zurück.
Meine weekdaytimer und heating_control devices haben aber immer noch falsche Schaltzeiten.
Muss also auch dort noch einen Fehler geben...
Dann müsste da bitte der Byte09 einmal schauen wie das in den Modulen umgesetzt wurde.
Zitat von: CoolTux am 21 März 2019, 21:41:04
Dann müsste da bitte der Byte09 einmal schauen wie das in den Modulen umgesetzt wurde.
... das sind nicht meine Module ;)
Für Mswitch habe ich es gerade getestet und es macht was es soll. ( es wird auch nur der inhalt der vorhandenen Variable ... so wie sie ist ... geprüft , ob 0 oder 1 ) .
gruss Byte09
Zitat von: ToKa am 21 März 2019, 21:35:05
So $we verhält sich wieder wie vorher und gibt für heute 0 zurück.
Meine weekdaytimer und heating_control devices haben aber immer noch falsche Schaltzeiten.
Muss also auch dort noch einen Fehler geben...
Kannst Du da bitte einmal für die entsprechenden Definitionen ein modify machen und schauen ob es dann weg ist?
Zitat von: CoolTux am 22 März 2019, 08:09:28
Kannst Du da bitte einmal für die entsprechenden Definitionen ein modify machen und schauen ob es dann weg ist?
Vermutlich ist nicht mal das notwendig, die timer müßten seit heute morgen wieder stimmen.Ein weekdaytimer aktualisiert seine Zeiten nur beim Define und dann einmal am Tag, und soweit ich das mitbekommen habe, ist das Modul nur eine Kopie von heating_control.
Zitat von: Beta-User am 22 März 2019, 08:12:03
Vermutlich ist nicht mal das notwendig, die timer müßten seit heute morgen wieder stimmen.Ein weekdaytimer aktualisiert seine Zeiten nur beim Define und dann einmal am Tag, und soweit ich das mitbekommen habe, ist das Modul nur eine Kopie von heating_control.
Guten Morgen,
Den Gedanken hatte ich auch schon und gehofft das der User bevor er das macht kurz nach schaut. Na bestimmt erzählt er uns nachher noch ob alles nun stimmt.
Grüße
Ich muss Euch enttäuschen, weder das modify gestern noch die nächtliche Neuberechnung der Schaltzeiten haben eine Besserung gebracht.
Dann gib mal bitte ein List von allen Holiday Devices welche Du im global Device als we2holiday definiert hast. Ausserdem bitte ein list der weekdaytimer Devices.
Hmmm,
also noch eine weitere modulinterne Implementierung von holiday2we und $we (Zeilen 310ff in weekdaytimer?)...
Allerdings ist mir nicht klar, wieso das jetzt so eine Auswirkung haben sollte, der get-Befehl von holiday-Devices wurde doch gar nicht angefaßt? Oder doch?
Zitat von: Beta-User am 22 März 2019, 13:57:26
Hmmm,
also noch eine weitere modulinterne Implementierung von holiday2we und $we (Zeilen 310ff in weekdaytimer?)...
Allerdings ist mir nicht klar, wieso das jetzt so eine Auswirkung haben sollte, der get-Befehl von holiday-Devices wurde doch gar nicht angefaßt? Oder doch?
Ist mir nicht bekannt. Bin aber auch noch nicht dazu gekommen mir die Änderungen im ganzen an zu schauen.
Danke schon Mal für Eure Hilfe, da ich jetzt aber unterwegs bin, kann ich Euch die Daten erst nächste Woche hier einstellen.
Beste Grüße und ein schönes Wochenende
Torsten
Ich habe mal geschaut. In der letzten Änderung von holiday gab es nur Anpassungen der Commandref, davor wurde das Modul zuletzt am 01.01.2019 angefasst.
Also am Holiday Modul kann es nicht liegen.
Kann es sein, dass du (neuerdings) zwei oder mehr holiday2we-Devices nutzt?
Dann hat das m.E. seit dem schon nicht mehr funktioniert, weil dann das "get" ein mehrzeiliges Array mit jeweils "none" zurückgibt... Das ist aber 'ne "none"'
Eigentlich ist das mit dem get-Aufruf ja schon eine coole Sache, war mir auch neu...
@CoolTux:
Wäre es zielführend, hier wieder auf die Idee einer zentralen IsHoliday()-Funktion zurückzukommen und igami vorzuschlagen, das entsprechend umzubauen? Aber dann wohl besser unter dem Namen IsHoliday2we() und einem nummerischen Wert als (optionalem) Argument, mit dem man ausgehend vom heutigen Tag vor- und zurück abfragen kann, welche holidays bekannt sind, Rückgabe dann auch als Zeilen-Array?
Also: IsHoliday2we(-3) gäbe 0 zurück, wenn vor drei Tagen kein holiday in den h2we-Devices drin steht, IsHoliday2we(2) gäbe "Fantasieferien \n Pfingstsonntag" (ohne Leerzeichen) zurück, wenn das übermorgen beides zuträfe.
Ansonsten wäre der fix wohl am einfachsten dadurch zu machen, dass man eine foreach-loop mit einem split nutzt, oder?
Das hatte mich auch schon gewundert das dort das globale we2holiday eingelesen wird und das Ergebnis pur als get Befehl verwendet wird.
Ist die Frage ob das schon immer so war oder erst vor lurzem dazu kam. Ich muss da mal im Archiv schauen.
Der Code ist neu und wurde am 14.02 eingecheckt. Also entweder geht es seit dem nicht mehr oder seit mindestens ein zweites we2holiday Device in global als Attribut eingetragen wurde.
Wie Rudi in dem anderen Thread irgendwo geschrieben hat: es ist "relativ neu", dass es überhaupt mehrere h2we-Geräte geben kann. Ich nehme an, dass das Dietmar63 noch gar nicht berücksichtigen konnte und igami bisher nicht über das Thema gestolpert war.
Wird wohl Zeit für einen neuen Thread in "unterstützende Dienste", oder wäre es besser, igami direkt anzuschreiben? (Verschieben macht m.E. nicht den großen Sinn, weil es mind. zwei unterschiedliche Themen sind, wovon eines allerdings m.E. gelöst/geklärt ist.)
@ToKa: Wenn du einen neuen Thread aufmachst, bitte hierher verlinken.
@CoolTux:
Jedenfalls auf die Schnelle sieht es so aus, also wäre das eine größere Umbauaktion gewesen, aber dieser Teil scheint auch vorher schon genau so funktioniert zu haben (Changeset ca. Zeile 733).
Ich habe da mal versucht was zu schreiben. Da ich aber selbst nicht weiß wie das Modul funktioniert müsste das bitte einmal jemand testen.
Eine Kleinigkeit wäre zu ändern, jedenfalls soweit erkennbar (mit h2we noch nicht auf Funktionalität getestet):
Zeile 312 enthält ein Argument zu viel in CommandGet (das ",1" hinten). Mit der folgenden läd das Modul:my $ergebnis = CommandGet(undef,$h2we . ' ' . sprintf("%02d-%02d",$mon+1,$mday));
Habe das mal geändert. Die ,1 gehören mit zum Get Befehl. Hatte ich falsch aufgefasst.
Zitat von: Beta-User am 22 März 2019, 17:52:39
Wird wohl Zeit für einen neuen Thread in "unterstützende Dienste", oder wäre es besser, igami direkt anzuschreiben?.
Ab jetzt lese ich hier mit. Bin nur aktuell stark ausgelastet und würde am liebsten einen komplettes rewrite des WeekdayTimer Moduls machen.
Ist sicherlich eine gute Idee, aber vielleicht schauen wir erstmal das wir das aktuelle Problem gefixt bekommen. Dann stehst Du auch nicht so unter "Druck".
Alles was wir brauchen ist jemand der die Änderungen testen kann. Wenn der Test positiv aus fällt kann man ja erstmal einchecken und den großen Umbau machen wenn Zeit da ist.
Zitat von: CoolTux am 23 März 2019, 09:07:04
Alles was wir brauchen ist jemand der die Änderungen testen kann. Wenn der Test positiv aus fällt kann man ja erstmal einchecken und den großen Umbau machen wenn Zeit da ist.
Nochmal der Hinweis:
Hatte gestern den Code von CoolTux leicht modifiziert, FHEM läuft damit, läßt sich starten usw. und heute wurde auch der Samstag berücksichtigt. Leider hatte ich es versäumt, gestern zum Feiertag zu erklären und dann einfach einen meiner wdt's entsprechend mal zu ändern...
Kann ich am Mo nachholen.
Anbei der diff (das mit CommandGet() ist m.E. besser wie der fhem-Aufruf von innerhalb eines Moduls).
@igami:
Wenn du gerne Unterstützung bei dem Rewrite haben willst oder Tester suchst: Sag Bescheid...
Zumindest diese internen fhem-Aufrufe sollten recht einfach zu eliminieren sein, und irgendwie fand ich das auch nachdenkenswert, wie da die Prognose erstellt wird, wenn es um die Feiertage geht (der Monat ändert sich nicht, auch wenn man für morgen nachsieht und heute der 31. ist, oder interpretiere ich das falsch?).
Vielleicht macht es wirklich Sinn, da eine zentrale IsHoliday() vorzubereiten, die man dann zu gegebener Zeit nach woanders zur Nutzung auch durch andere Module umziehen kann...
Ich hatte auch noch mal nachgebessert. Bitte den Post mit den Anhängen beachten.
@CoolTux:
Das hatte ich gesehen. Der wesentliche Unterschied ist der get-Aufruf.
In deinem ursprünglichen Anhang war das ein "CommandGet()", jetzt ist es wieder ein "fhem("get...".
Wie geschrieben, funktioniert das auch mit CommandGet, nur war die Syntax in der ersten Fassung nicht ganz korrekt. Jetzt paßt es. Da CommandGet m.E. der modulintern sauberere Aufruf ist, sollte man das ggf. vollends in diese Richtung umbauen. Brauchen wir dazu noch einen Import in der Modulinitialisierung? (Ich hatte FHEM gestern mit dem diff aus meinem Post gestartet, das lief problemlos...).
@ToKo: Kannst du uns bitte noch verraten, ob du tatsächlich mehrere Einträge in holiday2we hast?
Nicht, dass wir hier zwar ein Problem beheben, aber nicht deines...
@igami:
Wenn der Test am Mo "sauber" ist (also bei mehreren h2we-Einträgen nicht $we ist, und bei einem Eintrag irgendwo dann $we wahr wird), kann ich das gerne (ohne die auskommentierte Zeile) am Mo dann einchecken, wenn dir das recht ist.
Ich gehe davon aus das das Modul aktuell nicht packages verwendet, daher läuft das Modul unter main und kann problemlos auf die Funktionen aus fhem.pl zu greifen.
Grüße
Zitat von: Beta-User am 23 März 2019, 09:44:37
@igami:
Wenn du gerne Unterstützung bei dem Rewrite haben willst oder Tester suchst: Sag Bescheid...
Zumindest diese internen fhem-Aufrufe sollten recht einfach zu eliminieren sein, und irgendwie fand ich das auch nachdenkenswert, wie da die Prognose erstellt wird, wenn es um die Feiertage geht (der Monat ändert sich nicht, auch wenn man für morgen nachsieht und heute der 31. ist, oder interpretiere ich das falsch?).
Zitat von: Beta-User am 23 März 2019, 10:41:27
@igami:
Wenn der Test am Mo "sauber" ist (also bei mehreren h2we-Einträgen nicht $we ist, und bei einem Eintrag irgendwo dann $we wahr wird), kann ich das gerne (ohne die auskommentierte Zeile) am Mo dann einchecken, wenn dir das recht ist.
Ich habe auch kein Problem damit, das Modul komplett abzugeben ;)
Habe das Modul seinerzeit von Dietmar übernommen, jedoch aus Zeitmangel nie etwas dran geändert. Ziel war es das ganze mit uzsu kompatibel zu machen.
Habe mir den Patch angeschaut und bin damit einverstanden, dass du das einchecken nachher übernimmst.
Moin,
hab's kurz getestet, funktioniert für "echte" holiday-Devices.
Leider gab's beim Eincheck-Versuch eine Fehlermeldung ("nicht unter Versionskontrolle..."), daher kann ich vermutlich diesen Service nicht ohne weiteres übernehmen.
Was weiter problematisch sein dürfte: Nutzt jemand statt eines holiday-TYPE einen Dummy, was "manche Leute" neuerdings woanders als Würgaround empfehlen ( :P ) dürfte auch immer $we@WeekdayTimer sein... Ich habe dazu zwar eine Idee, das wird aber ggf. dauern, bis ich einen getesteten Patch liefern kann.
Anbei der patch nochmal ohne die überflüssige auskommentierte Zeile.
@CoolTux: Hast du da mehr Rechte?
@igami: Ich werde über das Maintainer-Thema nachdenken, allerdings sind meine Perl-"Kenntnisse" eher mau, und sowas wie uzsu-Kompabilität ruft bei mir große Augen hervor...
Das wird mit Rechten nichts weiter zu tun habe denke ich.
Du hast die ,1 am Ende weg gelassen. Weißt Du wo für genau die da ist? Ich hatte das mal getestet, der get Befehl vom Holiday Device nimmt das an.
Ansonsten kann ich auch versuchen es ein zu checken.
Zitat von: CoolTux am 25 März 2019, 08:04:44
Du hast die ,1 am Ende weg gelassen. Weißt Du wo für genau die da ist?
Hmm, ich hatte das aus dem Vorschlag von dir rausgeworfen, weil es einen prototype mismatch verursacht hatte, soweit ich mich entsinne. Daher hatte ich die Doku zu CommandGet konsultiert, und da war es nicht erforderlich.
Näheres kann ich nicht sagen, ich würde vermuten, dass die ursprüngliche ",1" evtl. auch zu dem fhem-Aufruf gehört und verhindern soll, dass eine Fehlermeldung kommt, wenn kein h2we-Device in global angegeben ist. Das würde aber in der neuen Variante sowieso bereits im Vorfeld durch das foreach verhindert, oder?
Ich kann daher nur sagen, dass es auf meinem Echtsystem mit 2 h2we-Devices so funktioniert hat wie in dem von mir angehängten Patch enthalten. Genauer: heute kein Schaltzeitpunkt in der Übersicht angegeben, wenn $we verwendet, aber kein hit in einer der beiden holiday-Dateien vorhanden ist, bzw. ein eingetragener Schaltzeitpunkt, wenn dort was steht (und das holiday-Device aktualisiert wurde).
Ansonsten sollten wir den code m.E. so ändern, dass heute und morgen IsWe() abgefragt wird und der direkte Rückgriff auf h2we nur an den anderen Tagen erfolgt, und dabei dann die MM-DD-Abfrage auf "echte" holiday-Devices beschränkt wird.
Da ckecke ich entsprechend so wie Du es gemacht hast jetzt ein?
Wir sollten mal schauen das wir im original Thread einmal nach fragen wer sonst noch Probleme bemerkt hat.
Irgendwie meldet sich ja sonst niemand weiter. Oder die haben noch nicht upgedatet.
Einchecken ist m.E. - erst mal - richtig.
Im "Original"-Thread ist/war WeekdayTimer kein Thema, weil es mit der Änderung in fhem.pl m.E. überhaupt nichts zu tun hat. Hier haben wir ja (noch) eine eigenständige Implementierung von $we, es wird lediglich intern auf h2we zurückgegriffen, dann aber wieder unabhängig mit eigener Logik ausgewertet.
Eine Rückfrage macht dort also m.E. keinen großen Sinn. Es wäre allenfalls eine Idee, dahin zurückzumelden, dass es in der Tat eine gute Idee zu sein scheint, zumindest für die Abfrage von heute und morgen auf IsWe() umzustellen, damit wenigstens das FHEM-weit einheitlich ist...
Was evtl. sinnvoll wäre: Diskussion zu IsHoliday().
Zitat von: Beta-User am 25 März 2019, 10:06:29
Einchecken ist m.E. - erst mal - richtig.
Im "Original"-Thread ist/war WeekdayTimer kein Thema, weil es mit der Änderung in fhem.pl m.E. überhaupt nichts zu tun hat. Hier haben wir ja (noch) eine eigenständige Implementierung von $we, es wird lediglich intern auf h2we zurückgegriffen, dann aber wieder unabhängig mit eigener Logik ausgewertet.
Eine Rückfrage macht dort also m.E. keinen großen Sinn. Es wäre allenfalls eine Idee, dahin zurückzumelden, dass es in der Tat eine gute Idee zu sein scheint, zumindest für die Abfrage von heute und morgen auf IsWe() umzustellen, damit wenigstens das FHEM-weit einheitlich ist...
Was evtl. sinnvoll wäre: Diskussion zu IsHoliday().
Ich habe im original Thread mal eine Spur hinterlassen. Desweiteren checke ich jetzt erstmal die neue Version ein und hoffen das beste.
Ok ich habe 98_WeekdayTimer.pm soeben eingecheckt.
Zitat von: CoolTux am 25 März 2019, 10:08:54
Ich habe im original Thread mal eine Spur hinterlassen. Desweiteren checke ich jetzt erstmal die neue Version ein und hoffen das beste.
Danke!
Ich will den anderen Thread im Moment nicht auch noch abbonieren, daher hier:
Zitat von: Beta-User am 25 März 2019, 07:10:36
Was weiter problematisch sein dürfte: Nutzt jemand statt eines holiday-TYPE einen Dummy,
So wie ich die Meldung von ToKa in dem anderen Thread (über den ich erst gestolpert bin, nachdem CoolTux geschrieben hatte, er hätte in dem anderen Thread eine Nachricht hingerlassen hätte und ich im falschen Thread (IsWe()) gesucht hatte...) gelesen hatte, ist genau das der Fall bzw. er nutzt jedenfalls KEIN holiday-Device.
(@ToKa: eine Rückmeldung hier wäre auch hilfreich gewesen, jedenfalls ich hatte das erst eben gesehen...)
Ich kümmere mich drum, es wird aber vermutlich erst Mitte/Ende der Woche ein getestetes Ergebnis geben. Muß erst diesen Teil des Codes besser verstehen.
@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).
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.
Eilt ja nicht, ich werde den Quickfix in jedem Fall erst mal testen (wenn nicht vorher @ToKa meldet, dass es funktioniert).
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
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?
Das mit tomorrow funktioniert auch.
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
Ja CoolTux, den Code habe ich manuell eingebunden
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
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
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.
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.
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