Hallo,
ich habe die Ferientage laut Wiki definiert:
# Schulferien
define Bayern_Ferien Calendar ical file ./Daten/Ferien_Bayern.ics 86400
attr Bayern_Ferien room Kalender
define Bayern_Ferientag dummy
attr Bayern_Ferientag alias Schulferien
attr Bayern_Ferientag devStateIcon 0:FS20.off 1:FS20.on
attr Bayern_Ferientag room Kalender
define Bayern_Ferien.notify notify Bayern_Ferien { fhem "set Bayern_Ferientag " . (ReadingsVal("Bayern_Ferien", "modeStart", "") =~ "schulferien" ? 1: 0) }
Heute ist der letzte Ferientag, aber das Reading steht auf 0
Ein list ergibt :
Internals:
DEF ical file ./Daten/Ferien_Bayern.ics 86400
NAME Bayern_Ferien
NR 581
STATE Active
TYPE Calendar
Readings:
2016-01-06 10:03:19 all F_2016_6249schulferienorg;F_2016_6250schulferienorg;F_2016_6251schulferienorg;F_2016_6252schulferienorg;F_2016_6253schulferienorg;F_2016_6254schulferienorg
2016-01-06 10:03:19 lastCheck 2016-01-06 10:03:19
2016-01-06 10:03:19 lastUpdate 2016-01-06 10:03:19
2016-01-06 10:03:19 modeAlarm
2016-01-06 10:03:19 modeAlarmOrStart
2016-01-06 10:03:19 modeAlarmed
2016-01-06 10:03:19 modeChanged F_2016_6249schulferienorg;F_2016_6250schulferienorg;F_2016_6251schulferienorg;F_2016_6252schulferienorg;F_2016_6253schulferienorg;F_2016_6254schulferienorg
2016-01-06 10:03:19 modeEnd
2016-01-06 10:03:19 modeEnded
2016-01-06 10:03:19 modeStart
2016-01-06 10:03:19 modeStarted
2016-01-06 10:03:19 modeUpcoming F_2016_6249schulferienorg;F_2016_6250schulferienorg;F_2016_6251schulferienorg;F_2016_6252schulferienorg;F_2016_6253schulferienorg;F_2016_6254schulferienorg
2016-01-06 10:03:19 stateChanged F_2016_6249schulferienorg;F_2016_6250schulferienorg;F_2016_6251schulferienorg;F_2016_6252schulferienorg;F_2016_6253schulferienorg;F_2016_6254schulferienorg
2016-01-06 10:03:19 stateDeleted
2016-01-06 10:03:19 stateNew F_2016_6249schulferienorg;F_2016_6250schulferienorg;F_2016_6251schulferienorg;F_2016_6252schulferienorg;F_2016_6253schulferienorg;F_2016_6254schulferienorg
2016-01-06 10:03:19 stateUpdated
Fhem:
interval 86400
lastCheck 2016-01-06 10:03:19
lastChkTs 1452070999.63961
lastUpdate 2016-01-06 10:03:19
lstUpdtTs 1452070999.63971
nextCheck 2016-01-07 10:03:19
nextChkTs 1452157399.63971
nextUpdate 2016-01-07 10:03:19
nxtUpdtTs 1452157399.63971
type file
url ./Daten/Ferien_Bayern.ics
Attributes:
room Kalender
Habe alles schon xmal mit dem Wiki etc verglichen, kann den Fehler aber nicht finden
Schau doch mal nach, was in der Kalenderdatei drinsteht. Eventuell ist der heutige Tag ja gar nicht als Ferientag geführt, weil er in Bayern ohnehin ein Feiertag ist.
in der Kalenderdatei steht:
BEGIN:VEVENT
CREATED:20140820T031604Z
LAST-MODIFIED:20140820T031604Z
DTSTAMP:20140820T031604Z
SUMMARY:Schulferien 2015 Bayern
DTSTART;VALUE=DATE:20151224
DTEND;VALUE=DATE:20160106
URL:http://www.schulferien.org
DESCRIPTION;LANGUAGE=de:Schulferien 2015 Bayern
TRANSP:TRANSPARENT
UID:F_2015_6170@schulferien.org
END:VEVENT
also der 6. ist noch Ferientag
Hat Dein notify gestern korrekt funktioniert?
Gestern habe ich nicht kontrolliert, aber am 24. Dez hatte ich kontrolliert und das hatte es funktioniert.
Naja, an einen wirklichen Fehler des Calendar Moduls glaube ich nicht. Vielleicht hat das Modul ein Problem, den Jahreswechsel auszuwerten (reine Vermutung).
Da es aber in absehbarer Zeit ohnehin eine komplett neue Version des Moduls geben wird, würde ich mir auch nicht den Kopf zerbrechen wegen einer solchen Kleinigkeit ;)
Kann ich mir nicht vorstellen, denn viele machen hier ja die Ferienauswertung und das Calendarmodul existiert ja schon länger als 1 Jahr. Das müsste ja schon aufgefallen sein.
Ich habe mal die ical geändert dann kommt bei einem get text all 10 folgendes:
01.01.16 00:00 Schulferien 2016 Bayern
08.02.16 00:00 Winterferien 2016 Bayern
21.03.16 00:00 Osterferien 2016 Bayern
17.05.16 00:00 Pfingstferien 2016 Bayern
30.07.16 00:00 Sommerferien 2016 Bayern
31.10.16 00:00 Herbstferien 2016 Bayern
24.12.16 00:00 Weihnachtsferien 2016 Bayern
Irgendwie befüllt das notify nicht mehr den dummy
Welcher Parameter der Ical Datei wird für die Auswertung genommen ? Summary ?
Zitat von: raspklaus am 06 Januar 2016, 12:07:34
Irgendwie befüllt das notify nicht mehr den dummy
Doch, aber in modeStart steht nix drin, deswegen wird der Wert auf 0 gesetzt.
Mit der geänderten ical funktioniert es wieder:
BEGIN:VEVENT
CREATED:20140820T031604Z
LAST-MODIFIED:20140820T031604Z
DTSTAMP:20140820T031604Z
SUMMARY:Schulferien 2016 Bayern
DTSTART;VALUE=DATE:20160101
DTEND;VALUE=DATE:20160112
URL:http://www.schulferien.org
DESCRIPTION;LANGUAGE=de:Schulferien 2016 Bayern
TRANSP:TRANSPARENT
UID:F_2016_6170@schulferien.org
END:VEVENT
scheint also doch irgendwie mit dem Jahreswechsel nicht so ganz zu funktionieren.
Wann wird es denn ein neues Modul geben ?
Das neue Modul ist im Moment im alpha-Teststadium, dazu gibt es sogar eine Ankündigung hier im Forum und einen Thread, in dem sich (derzeit nur) Entwickler und Tester austauschen. Ich denke, die Zeit bis zur Freigabe ist überschaubar. Bis zum nächsten Jahreswechsel auf jeden Fall 8)
Na dann kann ja bei 2017 nichts mehr schief gehen ;D
Hallo raspklaus,
die Anzeige aus dem ersten Beitrag zeigt, dass Du die 2016er Kalenderdatei geladen hast. Das VEVENT aus dem dritten Beitrag ist aus der 2015er Kalenderdatei. Ich nehme an, dass das Problem im Zusammenhang mit dem Auswechseln der Kalenderdatei bei Dir entstanden ist. So lässt es sich jedenfalls für mich nicht nachvollziehen.
Das Modul ist bzgl. Jahreswechsel agnostisch, da die Prüfung der Termine auf der Grundlage des internen Zeitformats erfolgt (Anzahl Sekunden seit der Epoche).
Viele Grüße
Boris
Habe das bei mir nachgeprüft - ich nutze den selben Mechanismus.
Wenn man die Schulferienkalenderdatei durch die vom neuen Jahr austauscht, fehlen die Weihnachtsferien 2015/16. Diese sind nämlich in der 2016er-Kartei nicht drin.
Das erklärt das Verhalten für mich abschließend.
Viele Grüße
Boris
Sorry, dass ich mich erst jetzt melde, bin erst gestern abend vom Urlaub zurück.
Um den Jahreswechsel zu überbrücken hatte ich die Kalenderdateien 2015 und 2016 zusammengeführt. Natürlich vorher die Endkennzeichen aus der 2015 und die Startkennzeichen aus der 2016 entfernt.
BEGIN:VEVENT
CREATED:20140820T031604Z
LAST-MODIFIED:20140820T031604Z
DTSTAMP:20140820T031604Z
SUMMARY:Schulferien 2015 Bayern
DTSTART;VALUE=DATE:20151102
DTEND;VALUE=DATE:20151108
URL:http://www.schulferien.org
DESCRIPTION;LANGUAGE=de:Schulferien 2015 Bayern
TRANSP:TRANSPARENT
UID:F_2015_6169@schulferien.org
END:VEVENT
BEGIN:VEVENT
CREATED:20140820T031604Z
LAST-MODIFIED:20140820T031604Z
DTSTAMP:20140820T031604Z
SUMMARY:Schulferien 2016 Bayern
DTSTART;VALUE=DATE:20161224
DTEND;VALUE=DATE:20160106
URL:http://www.schulferien.org
DESCRIPTION;LANGUAGE=de:Schulferien 2016 Bayern
TRANSP:TRANSPARENT
UID:F_2016_6170@schulferien.org
END:VEVENT
BEGIN:VEVENT
CREATED:20140820T031815Z
LAST-MODIFIED:20140820T031815Z
DTSTAMP:20140820T031815Z
SUMMARY:Winterferien 2016 Bayern
DTSTART;VALUE=DATE:20160208
DTEND;VALUE=DATE:20160213
URL:http://www.schulferien.org
DESCRIPTION:Alle Termine auf www.schulferien.org
TRANSP:TRANSPARENT
UID:F_2016_6249@schulferien.org
END:VEVENT
BEGIN:VEVENT
CREATED:20140820T031815Z
LAST-MODIFIED:20140820T031815Z
DTSTAMP:20140820T031815Z
SUMMARY:Osterferien 2016 Bayern
DTSTART;VALUE=DATE:20160321
DTEND;VALUE=DATE:20160402
URL:http://www.schulferien.org
DESCRIPTION:Alle Termine auf www.schulferien.org
TRANSP:TRANSPARENT
UID:F_2016_6250@schulferien.org
END:VEVENT
Damit sollte eigentlich in 2016 noch der Eintrag aus 2015 gültig sein. Aber die Tage für das neue Jahr hat das Modul ignoriert. Erst nachdem ich den 24. Dez. auf den 1. Jan geändert hatte wurden die Ferien wieder angezeigt.
Muss also doch irgendwie an dem Calendarmodul liegen.
Um das nachzuvollziehen, benötige ich eine Datei, die das Problem reproduziert.
Ich habe derzeit keine Anhaltspunkte für die Suche nach den Ursachen.
Viele Grüße
Boris
Sorry,
hat etwas gedauert. Musste erst meinen Rechner neu aufsetzen.
Anbei die ics
Hallo,
im Kalender enden die Bayerischen Winterferien am 06.01.2016 um 00:00. Damit sind am 06.01.2016 keine Winterferien mehr. Problem gelöst.
Viele Grüße
Boris
Zitat von: Dr. Boris Neubert am 16 Januar 2016, 19:19:53
im Kalender enden die Bayerischen Winterferien am 06.01.2016 um 00:00.
was für Bayern auch logisch ist, weil der 06.01. dort sowieso immer ein Feier- und kein Ferientag ist. Hatte ich ja eingangs schon vermutet :)