Calendar Fehlfunktion ?

Begonnen von raspklaus, 06 Januar 2016, 10:46:04

Vorheriges Thema - Nächstes Thema

raspklaus

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

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

raspklaus

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

betateilchen

Hat Dein notify gestern korrekt funktioniert?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

raspklaus

Gestern habe ich nicht kontrolliert, aber am 24. Dez hatte ich kontrolliert und das hatte es funktioniert.

betateilchen

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  ;)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

raspklaus

#6
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 ?


betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

raspklaus

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 ?

betateilchen

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)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

raspklaus

Na dann kann ja bei 2017 nichts mehr schief gehen ;D

Dr. Boris Neubert

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
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Dr. Boris Neubert

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
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

raspklaus

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.

Dr. Boris Neubert

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
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!