57_Calendar.pm: alpha-Test der neuen Version

Begonnen von Dr. Boris Neubert, 02 Januar 2016, 19:08:17

Vorheriges Thema - Nächstes Thema

Dr. Boris Neubert

Zitat von: Dr. Boris Neubert am 27 Januar 2016, 21:50:48
Okay, die fehlende Aktualisierung kann auch ein Problem im Programmfluss sein. Die Angaben reichen erstmal. Schaue mir den Code an und komme dann zurück.

Es war ein Fehler im Programmfluss. Nach einem fehlgeschlagenen NonblockingGet wurde der Wecker nicht gestellt und der ewige Zyklus von update und trigger kam zum Erliegen.

Gefixt in der Version im Eingangsbeitrag.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

Irgendwie habe ich aktuell ein Problem mit einmaligen Terminen, die über Mitternacht hinausgehen, wenn ich hideOlderThan auf 0d setze. Muss die Sache aber noch genauer untersuchen. Effekt ist, dass am Ende des Termins zwar der event für end: getriggert wird, der Termin aber nicht mehr gefunden wird, um die summary auszulesen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Ich verstehe das Problem.

Gut lösen lässt es sich wohl nur mit der angekündigten Superduper-Funktion get ... events flexibleFilterregel
Für den Augenblick kannst Du Dir vielleicht damit behelfen, hideOlderThan auf 10 zu setzen. Das steht für 10 Sekunden. Das müsste reichen, im Notify noch das Summary auszulesen.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

Den Vorschlag mit 10 Sekunden werde ich mal testen, danke.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Verständnisfrage...

Warum werden mir trotz hideOlderThan = 10 folgende vEvents von get ... vEvents zurückgeliefert?


93: VEVENT @580 [known]
    CREATED: 20160128T161756Z
    DTEND: 20160207T070000
    DTSTAMP: 20160128T161813Z
    DTSTART: 20160206T210000
    SEQUENCE: 0
    SUMMARY: sz_Bett_.*
    UID: B68BC8BB-BFA9-4EAC-AF9B-418925813C5C
    >>> Events:
      B68BC8BBBFA94EACAF9B418925813C5C         end                     06.02.2016 21:00:00-07.02.2016 07:00:00 sz_Bett_.*
    >>> Skipped events:

94: VEVENT @591 [known]
    CREATED: 20160202T194059Z
    DTEND: 20160204T205500
    DTSTAMP: 20160202T194150Z
    DTSTART: 20160203T203000
    SEQUENCE: 0
    SUMMARY: sz_Bett_links
    UID: 12D5E197-C121-40B9-83DF-A9737034BDD1
    >>> Events:
      12D5E197C12140B983DFA9737034BDD1         end                     03.02.2016 20:30:00-04.02.2016 20:55:00 sz_Bett_links
    >>> Skipped events:

95: VEVENT @603 [known]
    CREATED: 20160207T150322Z
    DTEND: 20160208T070000
    DTSTAMP: 20160207T150344Z
    DTSTART: 20160207T210000
    SEQUENCE: 0
    SUMMARY: sz_Bett_rechts
    UID: 4536E59A-2C7B-435F-BFB0-58F72FC79205
    >>> Events:
      4536E59A2C7B435FBFB058F72FC79205       start                     07.02.2016 21:00:00-08.02.2016 07:00:00 sz_Bett_rechts
    >>> Skipped events:


Zumindest die events 93 und 94 hätte ich nicht als Rückgabe erwartet.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

get ... vevents gibt immer alle VEVENTs. hide... bezieht sich auf Termine und findet nur bei get ... full ... und Konsorten Anwendung.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

ok, danke.

Zitat von: Dr. Boris Neubert am 07 Februar 2016, 10:44:06
Für den Augenblick kannst Du Dir vielleicht damit behelfen, hideOlderThan auf 10 zu setzen. Das steht für 10 Sekunden. Das müsste reichen, im Notify noch das Summary auszulesen.

Die Angabe von 10 Sekunden haben das beschriebene Problem tatsächlich gelöst. Das Problem hatte nichts damit zu tun, ob der Event über Mitternacht geht oder nicht, es war mir nur zuerst bei solchen Terminen aufgefallen.

Sollte nicht seitens des Moduls automatisch eine solche "Löschfrist" eingehalten werden?
Oder ein Wert 0 für hideOlderThan generell abgelehnt werden? Ob man 0d oder 0 angibt, läuft ja am Ende auf die gleiche Frist raus.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Zitat von: betateilchen am 08 Februar 2016, 09:40:34
Oder ein Wert 0 für hideOlderThan generell abgelehnt werden? Ob man 0d oder 0 angibt, läuft ja am Ende auf die gleiche Frist raus.

Ich habe in der Doku darauf hingewiesen:

        Please note that an action triggered by a change to mode "end" cannot access the calendar event
        if you set hideOlderThan to 0 because the calendar event will already be hidden at that time. Better set
        hideOlderThan to 10.
       

Wird demnächst eingecheckt.

Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

#98
naja, besser als nix  8)

Wobei das Problem nur bei nicht-wiederholenden Events auftritt. Bei wiederholenden Ereignissen wird zwar eine summary zurückgeliefert, das ist aber nicht zwingend die summary des Ereignisses, das gerade den event getriggert hat. Da kommen manchmal ganz lustige Dinge raus...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Nach nunmehr zwei Jahren fertiggestellt:

https://forum.fhem.de/index.php?topic=86148.new#new

Bitte dort weiterdiskutieren. Ich mache hier endgültig dicht.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!