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

Hallo,

ich habe das Calendar-Modul fast vollkommen neu geschrieben (anbei). Das war notwendig, weil die Konzeption des bisherigen Moduls nicht geeignet war, ausreichend gut mit Serienterminen umzugehen.

Heute beginnt der alpha-Test. Er ist beschränkt auf Developer und Tester. Nur diese können in diesem Thema Antworten schreiben.

Das Modul ist weitestgehend abwärtskompatibel. Funktionale Ergänzungen erfolgen erst, wenn die neue Version etabliert ist. Interessierte finden am Anfang des Moduls ca. 300 Zeilen Dokumentation.


What's new?
-----------
This module version replaces the 2015 version that has been widely. Noteworthy
changes
- No more state... readings; "all" reading has been removed as well.
- The mode... readings (modeAlarm, modeAlarmOrStart, etc.) are deprecated
  and will be removed in a future version. Use the mode=<regex> filter instead.
- Handles recurring calendar events with out-of-order events and exceptions
  (EXDATE).
- Keeps ALL calendar events within plus/minus 400 days from the date of the
  in FHEM: this means that you can have more than one calendar event with the
  same UID.
- You can restrict visible calendar events with attributes hideLaterThan,
  hideOlderThan.
- Nonblocking retrieval of calendar from URL.
- New get commands:
    get <name> vevents
    get <name> vcalendar
    get <name> <format> <mode>
    get <name> <format> mode=<regex>
    get <name> <format> uid=<regex>
- The get commands
    get <name> <format> ...
  may not work as before since several calendar events may exist for a
  single UID, particularly the get command
    get <name> <format> all
  show all calendar events from a series (past, current, and future); you
  probably want to replace "all" by "next":
    get <name> <format> next
  to get only the first (not past but current or future) calendar event from
  each series.
- Migration hints:
 
  Replace
    get <name> <format> all
  by
    get <name> <format> next
   
  Replace
    get <name> <format> <uid>
  by
    get <name> <format> uid=<uid> 1
   
  Replace
    get <name> <format> modeAlarmOrStart
  by
    get <name> <format> mode=alarm|start
 
- The FHEM events created for mode changes of single calendar events have been
  amended:
    changed: UID <mode>
    <mode>: UID                 (this is new)
  <mode> is the current mode of the calendar event after the change. It is
  highly advisable to trigger actions based on these FHEM events instead of
  notifications for changes of the mode... readings.


Viele Grüße
Boris

2016-01-02 19:51

  • Perl-Syntaxfehler beseitigt %->$
2016-01-02 20:53

  • Ein Reload ohne Neustart von FHEM erzeugt Warnungen. Das ist normal. Besser vor Verwendung FHEM neu starten.
2016-01-03 16:00

  • Interne Readings (fhem) unsichtbar gemacht.
  • Neue Defaults für Attribute: hideLaterThan inaktiv, hideOlderThan= 0. Damit werden alle Termine außer den beendeten angezeigt.
  • get <name> full|debug|text|summary|location|alarm|start|end <reading> wiederbelebt.
2016-01-01 18:40
  • Calendar_GetEvents() überall mit 4 Parametern aufrufen
2016-01-08 19:14
  • Erkennt nun auch veränderte Elemente an verändertem DTSTAMP
  • Ein define löst eine Aktualisierung des Kalenders aus, wenn das define nach Initialisierung von FHEM erfolgt.
2016-01-09 15:30
  • reload tut nun was es soll und nicht nur update
  • Verzögerung bis zur Aktualisierung nach Start von FHEM auf fix 2 Sekunden gesetzt.
  • Neuer Default: hideOlderThan inaktiv
  • Neuer Filter: next
  • onCreateEvent plugin
  • Doku überarbeitet
  • What's new? überarbeitet
2016-01-09 19:52
  • Sicherung, damit Kalender nur in der Zukunft aufwacht
  • Vor der Verarbeitung in der ical-Datei [\r\n\]+ durch \n ersetzen
2016-01-10 15:32
  • Absturz bei define beseitigt
2016-01-16 19:09
  • Hirntote Kalender mit VEVENTs ohne UID bekommen eine synthetische UID verpasst
2016-01-17 11:17
  • Neue Filter mode= und uid=
2016-01-23 19:25

  • Änderung vom 8.1. rückgängig gemacht: DTSTAMP ist kein Kennzeichen für eine Änderung am Termin
  • Versuch einer Beschleunigung von Merge und Crossreferencing mittels Perl-Gymnastik
  • CalendarAsHtml()
  • nach Aktualisierung der Termin (wegen reload, update oder weil eine Alarm-, Start- oder Ende-Zeit erreicht wurde) wird das FHEM-Event triggered gefeuert.
  • Doku DE eingebaut (Dank an JoWiemann) und Doku komplett qualitätsgesichert
  • Das ist der Release-Kandidat 1
2016-01-29 20:42
  • Fehler im Programmfluss beseitigt, dass nach einem fehlgeschlagenen Update der Wecker nicht mehr gestellt wird


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

VB90

Hallo Boris,

vorweg: Vielen Dank für deine Arbeit das Modul neu zu schreiben.
Gern beteilige ich mich an den Test zur neuen Version. Meine FHEM Installation ist FeatureLevel 5.7 und gestern zuletzt geupdatet.

Ich habe es neu geladen, Nach reload des Moduls bekomme ich folgenden Eintrag im Logfile:


2016.01.02 19:29:24.705 0: syntax error at ./FHEM/57_Calendar.pm line 1175, near "%vevents{"
Global symbol "$vevent" requires explicit package name at ./FHEM/57_Calendar.pm line 1176, <$fh> line 863.
Global symbol "$vevent" requires explicit package name at ./FHEM/57_Calendar.pm line 1177, <$fh> line 863.
Global symbol "$skip" requires explicit package name at ./FHEM/57_Calendar.pm line 1193, <$fh> line 863.
Global symbol "$skip" requires explicit package name at ./FHEM/57_Calendar.pm line 1201, <$fh> line 863.
syntax error at ./FHEM/57_Calendar.pm line 1258, near "} else"
syntax error at ./FHEM/57_Calendar.pm line 1264, near "}"
Can't use global @_ in "my" at ./FHEM/57_Calendar.pm line 1273, near "= @_"
Global symbol "$level" requires explicit package name at ./FHEM/57_Calendar.pm line 1274, <$fh> line 863.
Global symbol "$level" requires explicit package name at ./FHEM/57_Calendar.pm line 1274, <$fh> line 863.
syntax error at ./FHEM/57_Calendar.pm line 1315, near "}"
./FHEM/57_Calendar.pm has too many errors.


Der Versuch das Kalender Device in FHEM zu löschen und neu anzulegen endete in einem sofortigem Chrash von FHEM.

vb
Man muss das Rad nicht neu erfinden, nur wissen wie es gedreht wird.

Dr. Boris Neubert

Danke, vb, dass Du testest.

Definitiv ein Fehler. Mein Perl steckts klaglos weg. Habe es gefixt. Version im ersten Post aktualisiert.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

hexenmeister

Hallo Boris,
ich möchte auch für Weiterentwicklung bedanken, auch wenn ich den Kalendar-Modul nicht produktiv einsetze, will ich gerne ein oder anderes Test durchführen. :)

Bei mir wollte das neue Modul leider noch nicht mitspielen...
FHEM ist aktuell (gestern upgedated).

2016.01.02 20:03:16 1: PERL WARNING: Subroutine new redefined at ./FHEM/57_Calendar.pm line 359.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine uid redefined at ./FHEM/57_Calendar.pm line 368.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine start redefined at ./FHEM/57_Calendar.pm line 373.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine setMode redefined at ./FHEM/57_Calendar.pm line 400.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine lastModified redefined at ./FHEM/57_Calendar.pm line 418.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine modeChanged redefined at ./FHEM/57_Calendar.pm line 423.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine summary redefined at ./FHEM/57_Calendar.pm line 430.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine location redefined at ./FHEM/57_Calendar.pm line 435.
2016.01.02 20:03:16 1: PERL WARNING: Prototype mismatch: sub Calendar::Event::ts: none vs ($$) at ./FHEM/57_Calendar.pm line 445.
2016.01.02 20:03:16 3: stacktrace:
2016.01.02 20:03:16 3:     main::__ANON__                      called by ./FHEM/57_Calendar.pm (445)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2206)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2205)
2016.01.02 20:03:16 3:     main::CommandReload                 called by fhem.pl (1070)
2016.01.02 20:03:16 3:     main::AnalyzeCommand                called by fhem.pl (940)
2016.01.02 20:03:16 3:     main::AnalyzeCommandChain           called by ./FHEM/98_telnet.pm (265)
2016.01.02 20:03:16 3:     main::telnet_Read                   called by ./FHEM/98_apptime.pm (104)
2016.01.02 20:03:16 3:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (74)
2016.01.02 20:03:16 3:     main::CallFn                        called by fhem.pl (661)
2016.01.02 20:03:16 1: PERL WARNING: Subroutine ts redefined at ./FHEM/57_Calendar.pm line 440.
2016.01.02 20:03:16 1: PERL WARNING: Prototype mismatch: sub Calendar::Event::ts0: none vs ($$) at ./FHEM/57_Calendar.pm line 452.
2016.01.02 20:03:16 3: stacktrace:
2016.01.02 20:03:16 3:     main::__ANON__                      called by ./FHEM/57_Calendar.pm (452)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2206)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2205)
2016.01.02 20:03:16 3:     main::CommandReload                 called by fhem.pl (1070)
2016.01.02 20:03:16 3:     main::AnalyzeCommand                called by fhem.pl (940)
2016.01.02 20:03:16 3:     main::AnalyzeCommandChain           called by ./FHEM/98_telnet.pm (265)
2016.01.02 20:03:16 3:     main::telnet_Read                   called by ./FHEM/98_apptime.pm (104)
2016.01.02 20:03:16 3:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (74)
2016.01.02 20:03:16 3:     main::CallFn                        called by fhem.pl (661)
2016.01.02 20:03:16 1: PERL WARNING: Subroutine ts0 redefined at ./FHEM/57_Calendar.pm line 447.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine asText redefined at ./FHEM/57_Calendar.pm line 454.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine asFull redefined at ./FHEM/57_Calendar.pm line 462.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine alarmTime redefined at ./FHEM/57_Calendar.pm line 491.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine startTime redefined at ./FHEM/57_Calendar.pm line 496.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine endTime redefined at ./FHEM/57_Calendar.pm line 501.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine isUpcoming redefined at ./FHEM/57_Calendar.pm line 508.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine isAlarmed redefined at ./FHEM/57_Calendar.pm line 518.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine isStarted redefined at ./FHEM/57_Calendar.pm line 525.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine isEnded redefined at ./FHEM/57_Calendar.pm line 551.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine nextTime redefined at ./FHEM/57_Calendar.pm line 561.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine new redefined at ./FHEM/57_Calendar.pm line 592.
2016.01.02 20:03:16 1: PERL WARNING: Prototype mismatch: sub ICal::Entry::new: none vs ($$) at ./FHEM/57_Calendar.pm line 632.
2016.01.02 20:03:16 3: stacktrace:
2016.01.02 20:03:16 3:     main::__ANON__                      called by ./FHEM/57_Calendar.pm (632)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2206)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2205)
2016.01.02 20:03:16 3:     main::CommandReload                 called by fhem.pl (1070)
2016.01.02 20:03:16 3:     main::AnalyzeCommand                called by fhem.pl (940)
2016.01.02 20:03:16 3:     main::AnalyzeCommandChain           called by ./FHEM/98_telnet.pm (265)
2016.01.02 20:03:16 3:     main::telnet_Read                   called by ./FHEM/98_apptime.pm (104)
2016.01.02 20:03:16 3:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (74)
2016.01.02 20:03:16 3:     main::CallFn                        called by fhem.pl (661)
2016.01.02 20:03:16 1: PERL WARNING: Subroutine new redefined at ./FHEM/57_Calendar.pm line 618.
2016.01.02 20:03:16 1: PERL WARNING: Prototype mismatch: sub ICal::Entry::value: none vs ($$) at ./FHEM/57_Calendar.pm line 655.
2016.01.02 20:03:16 3: stacktrace:
2016.01.02 20:03:16 3:     main::__ANON__                      called by ./FHEM/57_Calendar.pm (655)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2206)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2205)
2016.01.02 20:03:16 3:     main::CommandReload                 called by fhem.pl (1070)
2016.01.02 20:03:16 3:     main::AnalyzeCommand                called by fhem.pl (940)
2016.01.02 20:03:16 3:     main::AnalyzeCommandChain           called by ./FHEM/98_telnet.pm (265)
2016.01.02 20:03:16 3:     main::telnet_Read                   called by ./FHEM/98_apptime.pm (104)
2016.01.02 20:03:16 3:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (74)
2016.01.02 20:03:16 3:     main::CallFn                        called by fhem.pl (661)
2016.01.02 20:03:16 1: PERL WARNING: Subroutine value redefined at ./FHEM/57_Calendar.pm line 651.
2016.01.02 20:03:16 1: PERL WARNING: Prototype mismatch: sub ICal::Entry::parts: none vs ($$) at ./FHEM/57_Calendar.pm line 682.
2016.01.02 20:03:16 3: stacktrace:
2016.01.02 20:03:16 3:     main::__ANON__                      called by ./FHEM/57_Calendar.pm (682)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2206)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2205)
2016.01.02 20:03:16 3:     main::CommandReload                 called by fhem.pl (1070)
2016.01.02 20:03:16 3:     main::AnalyzeCommand                called by fhem.pl (940)
2016.01.02 20:03:16 3:     main::AnalyzeCommandChain           called by ./FHEM/98_telnet.pm (265)
2016.01.02 20:03:16 3:     main::telnet_Read                   called by ./FHEM/98_apptime.pm (104)
2016.01.02 20:03:16 3:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (74)
2016.01.02 20:03:16 3:     main::CallFn                        called by fhem.pl (661)
2016.01.02 20:03:16 1: PERL WARNING: Subroutine parts redefined at ./FHEM/57_Calendar.pm line 679.
2016.01.02 20:03:16 1: PERL WARNING: Prototype mismatch: sub ICal::Entry::addproperty: none vs ($$) at ./FHEM/57_Calendar.pm line 859.
2016.01.02 20:03:16 3: stacktrace:
2016.01.02 20:03:16 3:     main::__ANON__                      called by ./FHEM/57_Calendar.pm (859)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2206)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2205)
2016.01.02 20:03:16 3:     main::CommandReload                 called by fhem.pl (1070)
2016.01.02 20:03:16 3:     main::AnalyzeCommand                called by fhem.pl (940)
2016.01.02 20:03:16 3:     main::AnalyzeCommandChain           called by ./FHEM/98_telnet.pm (265)
2016.01.02 20:03:16 3:     main::telnet_Read                   called by ./FHEM/98_apptime.pm (104)
2016.01.02 20:03:16 3:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (74)
2016.01.02 20:03:16 3:     main::CallFn                        called by fhem.pl (661)
2016.01.02 20:03:16 1: PERL WARNING: Subroutine addproperty redefined at ./FHEM/57_Calendar.pm line 817.
2016.01.02 20:03:16 1: PERL WARNING: Prototype mismatch: sub ICal::Entry::parse: none vs ($$) at ./FHEM/57_Calendar.pm line 864.
2016.01.02 20:03:16 3: stacktrace:
2016.01.02 20:03:16 3:     main::__ANON__                      called by ./FHEM/57_Calendar.pm (864)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2206)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2205)
2016.01.02 20:03:16 3:     main::CommandReload                 called by fhem.pl (1070)
2016.01.02 20:03:16 3:     main::AnalyzeCommand                called by fhem.pl (940)
2016.01.02 20:03:16 3:     main::AnalyzeCommandChain           called by ./FHEM/98_telnet.pm (265)
2016.01.02 20:03:16 3:     main::telnet_Read                   called by ./FHEM/98_apptime.pm (104)
2016.01.02 20:03:16 3:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (74)
2016.01.02 20:03:16 3:     main::CallFn                        called by fhem.pl (661)
2016.01.02 20:03:16 1: PERL WARNING: Subroutine parse redefined at ./FHEM/57_Calendar.pm line 861.
2016.01.02 20:03:16 1: PERL WARNING: Prototype mismatch: sub ICal::Entry::parseSub: none vs ($$$) at ./FHEM/57_Calendar.pm line 896.
2016.01.02 20:03:16 3: stacktrace:
2016.01.02 20:03:16 3:     main::__ANON__                      called by ./FHEM/57_Calendar.pm (896)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2206)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2205)
2016.01.02 20:03:16 3:     main::CommandReload                 called by fhem.pl (1070)
2016.01.02 20:03:16 3:     main::AnalyzeCommand                called by fhem.pl (940)
2016.01.02 20:03:16 3:     main::AnalyzeCommandChain           called by ./FHEM/98_telnet.pm (265)
2016.01.02 20:03:16 3:     main::telnet_Read                   called by ./FHEM/98_apptime.pm (104)
2016.01.02 20:03:16 3:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (74)
2016.01.02 20:03:16 3:     main::CallFn                        called by fhem.pl (661)
2016.01.02 20:03:16 1: PERL WARNING: Subroutine parseSub redefined at ./FHEM/57_Calendar.pm line 866.
2016.01.02 20:03:16 1: PERL WARNING: Prototype mismatch: sub ICal::Entry::asString () vs ($$) at ./FHEM/57_Calendar.pm line 1316.
2016.01.02 20:03:16 3: stacktrace:
2016.01.02 20:03:16 3:     main::__ANON__                      called by ./FHEM/57_Calendar.pm (1316)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2206)
2016.01.02 20:03:16 3:     (eval)                              called by fhem.pl (2205)
2016.01.02 20:03:16 3:     main::CommandReload                 called by fhem.pl (1070)
2016.01.02 20:03:16 3:     main::AnalyzeCommand                called by fhem.pl (940)
2016.01.02 20:03:16 3:     main::AnalyzeCommandChain           called by ./FHEM/98_telnet.pm (265)
2016.01.02 20:03:16 3:     main::telnet_Read                   called by ./FHEM/98_apptime.pm (104)
2016.01.02 20:03:16 3:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (74)
2016.01.02 20:03:16 3:     main::CallFn                        called by fhem.pl (661)
2016.01.02 20:03:16 1: PERL WARNING: Subroutine asString redefined at ./FHEM/57_Calendar.pm line 1273.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine Calendar_Initialize redefined at ./FHEM/57_Calendar.pm line 1327.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine Calendar_Define redefined at ./FHEM/57_Calendar.pm line 1341.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine Calendar_Undef redefined at ./FHEM/57_Calendar.pm line 1377.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine Calendar_Set redefined at ./FHEM/57_Calendar.pm line 1411.
2016.01.02 20:03:16 1: PERL WARNING: Subroutine Calendar_Get redefined at ./FHEM/57_Calendar.pm line 1434.


Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Dr. Boris Neubert

Danke auch an Dich, dass Du testest.

Hast Du das Modul nur mit reload angezogen? Dann kommen üblicherweise diese Meldungen. Aber laufen tut es doch dennoch, oder?
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

JoWiemann

#5
Hallo Boris,

wird ein nicht freigegebener Google-Kalender hinterlegt, wird folgendes Log geschrieben:

2016.01.02 20:24:06 1: Calendar MeinKalender: data not in ICal format
2016.01.02 20:24:06 1: Calendar MeinKalender: maybe gzip data, but cannot load Compress::Zlib

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Dr. Boris Neubert

Danke, Jörg, fürs Testen.

Das Ergebnis ist normal.

Das Modul enthält etwas zurück, was nicht wie ein iCalendar aussieht. Es denkt, es könnte komprimiert sein, und versucht zu dekomprimieren. Bei Dir schlägt das fehl, weil Compress::Zlib fehlt. Wenn die Dekompression laufen und auch fehlschlagen würde, käme dann die endgültige Meldung, dass der Kalender kein iCalendar ist.

Bei Dir müsste aber get MeinKalender vcalendar die heruntergeladenen Daten (Fehlermeldung im HTML-Format?) zeigen.

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

hexenmeister

Zitat von: Dr. Boris Neubert am 02 Januar 2016, 20:11:47
Hast Du das Modul nur mit reload angezogen? Dann kommen üblicherweise diese Meldungen. Aber laufen tut es doch dennoch, oder?

Hast Recht :)
Bei Neustart sah das besser aus. Das Modul läuft, habe noch keine Unstimmigkeiten gemerkt. Positiv: Das Modul ist aus der apptime-Auflistung verschwunden :)
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Benni

Hallo Boris,

ich habe mir das neue Modul auch mal heruntergeladen und in meinem Testsystem eingespielt.

Der Kalender konnte auch erfolgreich abgerufen werden, allerdings erhalte ich bei get keine Ergebnisse (s. Screenshot), obwohl entsprechende Termine vorhanden sind.
Auf meinem Produktivsystem, auf dem noch das reguläre Modul arbeitet erhalte ich dagegen korrekte Ergebnisse. Beide Systeme verwenden den selben google-Kalender.

Mein Testsystem ist tagesaktuell (FHEM + Wheezy)

Gruß Benni.

JoWiemann

Zitat von: Dr. Boris Neubert am 02 Januar 2016, 20:29:36
Das Modul enthält etwas zurück, was nicht wie ein iCalendar aussieht. Es denkt, es könnte komprimiert sein, und versucht zu dekomprimieren. Bei Dir schlägt das fehl, weil Compress::Zlib fehlt. Wenn die Dekompression laufen und auch fehlschlagen würde, käme dann die endgültige Meldung, dass der Kalender kein iCalendar ist.

Hallo Boris,

habe seit langem libio-compress-zlib-perl installiert, oder brauche ich Bundle::Compress::Zlib - search.cpan.org?

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Dr. Boris Neubert

Zitat von: JoWiemann am 02 Januar 2016, 21:02:41
habe seit langem libio-compress-zlib-perl installiert, oder brauche ich Bundle::Compress::Zlib - search.cpan.org?

Hmm, habe das nie benutzt und auch nicht getestet - Code war eine Spende eines Dritten.

Das Package heisst libio-compress-perl auf neueren Systemen.

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

Dr. Boris Neubert

Danke, Benni, für Deinen Test.

Zitat von: Benni am 02 Januar 2016, 20:57:03
Der Kalender konnte auch erfolgreich abgerufen werden, allerdings erhalte ich bei get keine Ergebnisse (s. Screenshot), obwohl entsprechende Termine vorhanden sind.

Mit

get cal vevents

erhältst Du ausführliche Informationen, wie sich aus den VEVENTS im iCalendar die Kalenderereignisse ergeben.

Sofern nicht vertraulich, kannst Du das gerne hier posten, und ich schaue es mir an.

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

Benni

Hallo Boris,

die Informationen sind leider teilweise zu heikel, da auch einige geschäftliche Termine dabei sind.
Ich werde mir morgen mal noch einen separaten Testaccount einrichten, brauche ich sowieso  ;)

Gruß Benni.

Dr. Boris Neubert

OK, verstehe ich. Hinweis: ab dem zweiten Google-Calendar werden die Alarme nicht übertragen, d.h. sie kommen schon gar nicht beim Download des iCalenders an. Das soll Dich bitte nicht wundern und es ist kein Fehler des Moduls.

Hast Du Dir die Ausgabe angesehen?

Bei meinem Testaccount sieht sie beispielsweise so aus:


get T vevents
1: VEVENT [new]
    CREATED: 20160102T141354Z
    DESCRIPTION:
    DTEND: 20160102T145400Z
    DTSTAMP: 20160102T203259Z
    DTSTART: 20160102T145300Z
    LAST-MODIFIED: 20160102T145100Z
    LOCATION:
    SEQUENCE: 2
    SUMMARY: Bald\, bald\, mein Schatz
    UID: 08dciotv1763hi5ls2tqi4fjrc@google.com
    >>> Events:
      08dciotv1763hi5ls2tqi4fjrcgooglecom         end                     02.01.2016 15:53:00-02.01.2016 15:54:00 Bald\, bald\, mein Schatz
    >>> Skipped events:

2: VEVENT [new, in a series with 3,4]
    CREATED: 20151122T132130Z
    DESCRIPTION: 11.01.2016 verschoben auf 13.01.2016 13-14 Uhr
    DTEND: 20160113T140000
    DTSTAMP: 20160102T203259Z
    DTSTART: 20160113T130000
    LAST-MODIFIED: 20160102T133836Z
    LOCATION: Ort
    RECURRENCE-ID: 20160111T170000
    SEQUENCE: 1
    SUMMARY: Montags 17-18 ab 07.09.2015
    UID: i6uhqrgv5gjm9j5ep59sh4ub78@google.com
    >>> is an exception
    >>> Events:
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     13.01.2016 13:00:00-13.01.2016 14:00:00 Montags 17-18 ab 07.09.2015 Ort
    >>> Skipped events:

3: VEVENT [new, in a series with 2,4]
    CREATED: 20151122T132130Z
    DESCRIPTION: 25.01.2016 verschoben auf 27.01.2016 7-8 Uhr
    DTEND: 20160127T080000
    DTSTAMP: 20160102T203259Z
    DTSTART: 20160127T070000
    LAST-MODIFIED: 20160102T115651Z
    LOCATION: Ort
    RECURRENCE-ID: 20160125T170000
    SEQUENCE: 1
    SUMMARY: Montags 17-18 ab 07.09.2015
    UID: i6uhqrgv5gjm9j5ep59sh4ub78@google.com
    >>> is an exception
    >>> Events:
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     27.01.2016 07:00:00-27.01.2016 08:00:00 Montags 17-18 ab 07.09.2015 Ort
    >>> Skipped events:

4: VEVENT [new, in a series with 2,3]
    CREATED: 20151122T132130Z
    DESCRIPTION: Beschreibung
    DTEND: 20150907T180000
    DTSTAMP: 20160102T203259Z
    DTSTART: 20150907T170000
    EXDATE: (20160425T170000 20160222T170000)
    LAST-MODIFIED: 20160102T094155Z
    LOCATION: Ort
    RRULE: FREQ=WEEKLY;BYDAY=MO
    SEQUENCE: 0
    SUMMARY: Montags 17-18 ab 07.09.2015
    UID: i6uhqrgv5gjm9j5ep59sh4ub78@google.com
    >>> is a series
    >>> Events:
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     07.09.2015 17:00:00-07.09.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     14.09.2015 17:00:00-14.09.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     21.09.2015 17:00:00-21.09.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     28.09.2015 17:00:00-28.09.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     05.10.2015 17:00:00-05.10.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     12.10.2015 17:00:00-12.10.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     19.10.2015 17:00:00-19.10.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     26.10.2015 17:00:00-26.10.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     02.11.2015 17:00:00-02.11.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     09.11.2015 17:00:00-09.11.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     16.11.2015 17:00:00-16.11.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     23.11.2015 17:00:00-23.11.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     30.11.2015 17:00:00-30.11.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     07.12.2015 17:00:00-07.12.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     14.12.2015 17:00:00-14.12.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     21.12.2015 17:00:00-21.12.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom         end                     28.12.2015 17:00:00-28.12.2015 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     04.01.2016 17:00:00-04.01.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     18.01.2016 17:00:00-18.01.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     01.02.2016 17:00:00-01.02.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     08.02.2016 17:00:00-08.02.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     15.02.2016 17:00:00-15.02.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     29.02.2016 17:00:00-29.02.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     07.03.2016 17:00:00-07.03.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     14.03.2016 17:00:00-14.03.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     21.03.2016 17:00:00-21.03.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     28.03.2016 17:00:00-28.03.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     04.04.2016 17:00:00-04.04.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     11.04.2016 17:00:00-11.04.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     18.04.2016 17:00:00-18.04.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     02.05.2016 17:00:00-02.05.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     09.05.2016 17:00:00-09.05.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     16.05.2016 17:00:00-16.05.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     23.05.2016 17:00:00-23.05.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     30.05.2016 17:00:00-30.05.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     06.06.2016 17:00:00-06.06.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     13.06.2016 17:00:00-13.06.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     20.06.2016 17:00:00-20.06.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     27.06.2016 17:00:00-27.06.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     04.07.2016 17:00:00-04.07.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     11.07.2016 17:00:00-11.07.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     18.07.2016 17:00:00-18.07.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     25.07.2016 17:00:00-25.07.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     01.08.2016 17:00:00-01.08.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     08.08.2016 17:00:00-08.08.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     15.08.2016 17:00:00-15.08.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     22.08.2016 17:00:00-22.08.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     29.08.2016 17:00:00-29.08.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     05.09.2016 17:00:00-05.09.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     12.09.2016 17:00:00-12.09.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     19.09.2016 17:00:00-19.09.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     26.09.2016 17:00:00-26.09.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     03.10.2016 17:00:00-03.10.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     10.10.2016 17:00:00-10.10.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     17.10.2016 17:00:00-17.10.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     24.10.2016 17:00:00-24.10.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     31.10.2016 17:00:00-31.10.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     07.11.2016 17:00:00-07.11.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     14.11.2016 17:00:00-14.11.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     21.11.2016 17:00:00-21.11.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     28.11.2016 17:00:00-28.11.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     05.12.2016 17:00:00-05.12.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     12.12.2016 17:00:00-12.12.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     19.12.2016 17:00:00-19.12.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     26.12.2016 17:00:00-26.12.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     02.01.2017 17:00:00-02.01.2017 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     09.01.2017 17:00:00-09.01.2017 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     16.01.2017 17:00:00-16.01.2017 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     23.01.2017 17:00:00-23.01.2017 18:00:00 Montags 17-18 ab 07.09.2015 Ort
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom    upcoming                     30.01.2017 17:00:00-30.01.2017 18:00:00 Montags 17-18 ab 07.09.2015 Ort
    >>> Skipped events:
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom   undefined                     11.01.2016 17:00:00-11.01.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort RECURRENCE-ID: 20160111T170000
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom   undefined                     25.01.2016 17:00:00-25.01.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort RECURRENCE-ID: 20160125T170000
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom   undefined                     22.02.2016 17:00:00-22.02.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort EXDATE: 20160222T170000
      i6uhqrgv5gjm9j5ep59sh4ub78googlecom   undefined                     25.04.2016 17:00:00-25.04.2016 18:00:00 Montags 17-18 ab 07.09.2015 Ort EXDATE: 20160425T170000



Aus dem new in eckigen Klammern wird dann nach dem ersten Update ein known, wenn sich nichts ändert.

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

Benni

Ja, das sieht bei mir grundsätzlich genau so aus.
Auch der Wechsel von [new] auf [known] nach einem update hat funktioniert.