57_Calendar Fehler GoogleKalender

Begonnen von Brause, 24 Februar 2019, 10:20:04

Vorheriges Thema - Nächstes Thema

Brause

Guten Morgen zusammen

Seit dem heutigen update holt das Modul meine GoogleKalender nicht mehr.
Habe im Log dann diese Meldungen

2019.02.24 09:26:48 1: Calendar xx.CAL.Privat: retrieval failed with HTTP response code 400
2019.02.24 09:26:48 1: Calendar xx.CAL.Privat: retrieved no or empty data
2019.02.24 09:26:48 1: Calendar xx.CAL.Abfall: retrieval failed with HTTP response code 400
2019.02.24 09:26:48 1: Calendar xx.CAL.Abfall: retrieved no or empty data
2019.02.24 09:26:49 1: Calendar xx.CAL.Heizung: retrieval failed with HTTP response code 400
2019.02.24 09:26:49 1: Calendar xx.CAL.Heizung: retrieved no or empty data


Den Outlook-Kalender holt es ohne Probleme.

Habe erstmal die alte Version zurück gespielt und alles ist wieder normal.

Zum Schluss noch ein list von einem Device

Internals:
   DEF        ical url https://calendar.google.com/calendar/ical/xxx%40gmail.com/private-xxx/basic.ics
   FUUID      5xxxx
   NAME       xx.CAL.Privat
   NOTIFYDEV  global
   NR         380
   NTFY_ORDER 50-xx.CAL.Privat
   STATE      letztes Update: 2019-02-24 10:03:57
   TYPE       Calendar
   .attraggr:
   .attrminint:
   .fhem:
     iCalendar  BEGIN:VCALENDAR
....
END:VCALENDAR

     interval   3600
     lastUpdate 2019-02-24 10:03:57
     lastid     150
     lasturl    https://calendar.google.com/calendar/ical/xxx%40gmail.com/private-xxx/basic.ics
     lstUpdtTs  1550999037.71348
     nextUpdate 2019-02-24 11:03:57
     nextWake   2019-02-24 11:03:57
     nextWakeTs 1551002637.71348
     nxtUpdtTs  1551002637.71348
     type       url
     url        https://calendar.google.com/calendar/ical/xxx%40gmail.com/private-xxx/basic.ics
     vevents:
   READINGS:
     2019-02-24 10:03:58   calname         xxxx@gmail.com
     2019-02-24 10:03:58   lastUpdate      2019-02-24 10:03:57
     2019-02-20 15:30:00   modeAlarm       
     2019-02-22 17:00:00   modeAlarmOrStart
     2019-02-20 15:09:58   modeAlarmed     
     2019-02-22 17:10:08   modeChanged     
     2019-02-24 10:03:58   modeEnd         
.....
     2019-02-22 17:10:08   modeEnded       
     2019-02-22 17:00:00   modeStart       
     2019-02-22 16:10:08   modeStarted     
     2019-02-24 10:03:58   modeUpcoming    29mb409v2gs96rgin0q115j9vrgooglecom;73e27qgcgf9euu0pfs9ovotdh7googlecom
     2019-02-24 10:03:58   nextUpdate      2019-02-24 11:03:57
     2019-02-24 10:03:58   nextWakeup      2019-02-24 11:03:57
     2019-02-24 10:03:58   state           triggered
Attributes:
   DbLogExclude .*
   group      Kalender
   hideOlderThan 1
   icon       im_user
   room       hidden
   stateFormat letztes Update: lastUpdate
   verbose    3


Gruss Brause

amenomade

Und was sagt die Log mit verbose 5?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Mave


betateilchen

Ich auch - aber nur bei Google Kalendern. Sämtliche ownCloud Kalender laufen fehlerfrei.

Bin schon dran, nach dem Fehler zu suchen.

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

betateilchen

ok, ich weiß, woher der Fehler kommt: In google Kalendern kommen Prozentzeichen vor, das kollidiert mit der neu eingebauten Ersetzung von wildcards.

Jetzt muss ich mir nur noch eine Lösung dafür ausdenken :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

#5
Ich habe gerade eine Lösung eingecheckt, die das Problem mit Google Kalendern umgeht. Um diese Lösung zu aktivieren, muss im device des Google Kalenders, das Attribut "quirks" den Wert "noWildcards" enthalten. Damit ist dann die Verwendung von Wildcards in Google Kalendern nicht möglich.


Wer die Möglichkeit hat, die Datei aus dem SVN zu holen, kann dann das ab sofort tun.

Ansonsten gibt es die Moduldatei auch hier zum Download: https://svn.fhem.de/trac/export/HEAD/trunk/fhem/FHEM/57_Calendar.pm


Sorry für die Umstände - ich hatte viele Kalender getestet, nur Google nicht, da ich schon länger nicht mehr damit arbeite.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Brause

So funktioniert es bei mir wieder.

DANKE

betateilchen

Das Problem ist gelöst.

Gerade habe ich eine Modulversion eingecheckt, die bei google Kalendern automatisch die wildcards Auswertung unterbindet. Damit muss das Attribut quirks nicht mehr manuell gefüllt werden. Ab sofort gilt die Regel: "Keine wildcards bei Google Kalendern!"

Das Attribut quirks wird trotzdem auch weiterhin ausgewertet, falls ein ähnliches Problem noch bei anderen Kalendern auftreten sollte, die ebenfalls % Zeichen in der URL haben, ohne dass damit ein wildcard gekennzeichnet wird.
Die Änderungen und die Verwendung des Attributes wurden in der commandref dokumentiert.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

amenomade

Bei mir geht die neue Version aus export/HEAD/trunk nicht. Fhem stoppt.

Die problematische DEF:
define UntisCal Calendar ical file ./log/untis.ics
setuuid UntisCal 5c61dc6c-f33f-6837-1c94-7dcc25f9f9d5e407


Nehme ich beide Zeilen von fhem.cfg weg, funktioniert alles.

Mit verbose 5:
2019.02.24 12:29:58 4: Calendar UntisCal: Wakeup
2019.02.24 12:29:58 4: Calendar UntisCal: Updating...
2019.02.24 12:29:58 4: Calendar UntisCal: Getting data from file ./log/untis.ics
2019.02.24 12:29:58 5: Calendar UntisCal: file retrieval successful
2019.02.24 12:29:58 4: Calendar UntisCal: parsing data asynchronously (PID= -12440)
2019.02.24 12:29:58 5: Calendar UntisCal: control passed back to main loop.


Mehr nicht
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

betateilchen

#9
Setze mal bitte

attr UntisCal synchronousUpdate 1

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

betateilchen

Hab grade mal ein ics file angelegt und getestet:


2019.02.24 13:08:17 4: Calendar UntisCal: Wakeup
2019.02.24 13:08:17 4: Calendar UntisCal: Updating...
2019.02.24 13:08:17 4: Calendar UntisCal: Getting data from file ./log/untis.ics
2019.02.24 13:08:17 5: Calendar UntisCal: file retrieval successful
2019.02.24 13:08:17 4: Calendar UntisCal: parsing data asynchronously (PID= 6951)
2019.02.24 13:08:17 5: Calendar UntisCal: control passed back to main loop.
2019.02.24 13:08:18 4: Calendar UntisCal: got result from asynchronous parsing.
2019.02.24 13:08:18 4: Calendar UntisCal: asynchronous parsing finished.
2019.02.24 13:08:18 4: Calendar UntisCal: merging data
2019.02.24 13:08:18 4: Calendar UntisCal: 2 records processed, 2 new, 0 known, 0 modified, 0 changed.
2019.02.24 13:08:18 4: Calendar UntisCal: creating calendar events
2019.02.24 13:08:18 4: Calendar UntisCal: Checking times...
2019.02.24 13:08:18 4: Calendar UntisCal: process ended.


scheint also kein generelles Problem mit dem Modul selbst zu sein.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

amenomade

Anbei die .ics Datei
Vielleicht hängt es an meiner Windows Testinstanz?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

betateilchen

#12
Zitat von: amenomade am 24 Februar 2019, 13:33:26
Vielleicht hängt es an meiner Windows Testinstanz?

Wer macht denn auch sowas...  8)

Hast Du den Vorschlag mit dem Attribut für synchrone Verarbeitung getestet?




Edit: es funktioniert bei mir auch mit der von Dir geposteten Datei.


2019.02.24 13:37:15 4: Calendar untisCal: Wakeup
2019.02.24 13:37:15 4: Calendar untisCal: Updating...
2019.02.24 13:37:15 4: Calendar untisCal: Getting data from file ./log/untis.ics
2019.02.24 13:37:15 5: Calendar untisCal: file retrieval successful
2019.02.24 13:37:15 4: Calendar untisCal: parsing data asynchronously (PID= 7082)
2019.02.24 13:37:15 5: Calendar untisCal: control passed back to main loop.
2019.02.24 13:37:16 4: Calendar untisCal: got result from asynchronous parsing.
2019.02.24 13:37:16 4: Calendar untisCal: asynchronous parsing finished.
2019.02.24 13:37:16 4: Calendar untisCal: merging data
2019.02.24 13:37:16 4: Calendar untisCal: 31 records processed, 31 new, 0 known, 0 modified, 0 changed.
2019.02.24 13:37:16 4: Calendar untisCal: creating calendar events
2019.02.24 13:37:16 4: Calendar untisCal: Checking times...
2019.02.24 13:37:16 4: Calendar untisCal: process ended.


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

amenomade

Zitat von: betateilchen am 24 Februar 2019, 13:34:39
Wer macht denn auch sowas...  8)
::) Jemand, der kein Bock hat, jedes mal seine Linux VM zu starten  :P
Aber gut so: sonst hättest Du nicht gewusst, dass es mit Windows nicht funktioniert  8)
Zitat
Hast Du den Vorschlag mit dem Attribut für synchrone Verarbeitung getestet?
Jetzt ja, und damit geht es.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

betateilchen

Dein "Problem" kommt daher, dass mit dem heutigen Update die Verarbeitung per default von synchron auf asynchron umgestellt wurde. Das scheint bei Windows offenbar nicht zu funktionieren.

Ok, ich werde also noch eine Prüfung einbauen, die eine asynchrone Verarbeitung unter Windows unterbindet.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!