Neues Modul: 57_GCALVIEW Google Kalender Viewer (+Abfall Kalender)

Begonnen von mumpitzstuff, 04 Oktober 2017, 00:02:11

Vorheriges Thema - Nächstes Thema

rabehd

#45
Bei mir tut es weiterhin nicht.  :-[
Da ich keinen klemmenden Prozess gefunden habe, habe ich ein Reboot des Raspi gemacht.
Jetzt schreibt er mir mehr (alle Kalendereinträge) ins Log, aber das Device ist weiterhin leer.
2017.11.09 12:04:18 3: Kalendertest blocking call already running
2017.11.09 12:04:18 3: BlockingCall for Kalendertest aborted
2017.11.09 12:04:18 5: Kalendertest_SetNextTimer: set next timer
2017.11.09 12:04:18 5: Kalendertest_DoRun: start running
2017.11.09 12:04:20 5: Kalendertest:  Access  Title
 ------  -----
  owner  G
  owner  b
  owner  R
  owner  A
  owner  Ra
 reader  kar
 reader  Di
 reader  Co
 reader  Day of the year
 reader  Feiertage in Deutschland
 reader  Phases of the Moon
 reader  Sunrise/Sunset:
 reader  Weather:
 reader  Week Numbers

2017.11.09 12:04:24 5: Kalendertest: 2017-11-09 00:00 2017-11-10 00:00 https://www.google.com/calendar/event?eid=RGF5b

(Kalendernamen gelöscht) Und das wiederholt sich

Das habe ich noch zwischen den Einträgen gefunden
2017.11.09 12:04:24 5: Kalendertest_DoEnd: end running
2017.11.09 12:04:24 1: ERROR evaluating
Auch funktionierende Lösungen kann man hinterfragen.

RoBra81

Zitat von: mumpitzstuff am 09 November 2017, 10:42:33
PS: Vielleicht wäre es auch möglich als configFolder /opt/fhem zu verwenden, dann müsste man wahrscheinlich im Modul gar nichts ändern, da das dann ja der Home path von fhem ist.

/opt/fhem hardcodiert fände ich nicht so gut, da nicht jeder FHEM in diesem Ordner hat. Ich habe zum Beispiel aus Perfomance-Gründen zwei Instanzen /opt/fhem/ und /opt/fhem2/ und weiß noch nicht, in welcher ich den Kalender betreiben werde. Wenn man das Attribut explizit setzt, weiß man auch, mit welchem Aufrauf man die Autorisierung in der Konsole machen muss (vielleicht könnte man das auch als Funktion des Moduls implementieren (URL zum Anklicken anzeigen und dann Code entgegennehmen), dann würden die Dateien (vermutlich) im richtigen Verzeichnis mit den korrekten Berechtigungen abgelegt und man könnte die configFolder-Geschichte weglassen...)

Ronny

mumpitzstuff

Ich meinte auch nicht, das ich den Pfad fest im Modul verwenden möchte, sondern das du bei deinem erstellen der Config in einem speziellen Ordner auch dein fhem Pfad hättest verwenden können. Dann hätte dein fhem das vielleicht ohne den Patch im Kalender Modul gefunden. Ich habe mich schon dafür entschieden das als Attribut anzubieten und darüber hinaus auch die Beschreibung dahingehend zu erweitern und diesen Weg zu beschreiben.

mumpitzstuff

Zitat von: rabehd am 09 November 2017, 12:30:39
Bei mir tut es weiterhin nicht.  :-[
Da ich keinen klemmenden Prozess gefunden habe, habe ich ein Reboot des Raspi gemacht.
Jetzt schreibt er mir mehr (alle Kalendereinträge) ins Log, aber das Device ist weiterhin leer.
2017.11.09 12:04:18 3: Kalendertest blocking call already running
2017.11.09 12:04:18 3: BlockingCall for Kalendertest aborted
2017.11.09 12:04:18 5: Kalendertest_SetNextTimer: set next timer
2017.11.09 12:04:18 5: Kalendertest_DoRun: start running
2017.11.09 12:04:20 5: Kalendertest:  Access  Title
 ------  -----
  owner  G
  owner  b
  owner  R
  owner  A
  owner  Ra
 reader  kar
 reader  Di
 reader  Co
 reader  Day of the year
 reader  Feiertage in Deutschland
 reader  Phases of the Moon
 reader  Sunrise/Sunset:
 reader  Weather:
 reader  Week Numbers

2017.11.09 12:04:24 5: Kalendertest: 2017-11-09 00:00 2017-11-10 00:00 https://www.google.com/calendar/event?eid=RGF5b

(Kalendernamen gelöscht) Und das wiederholt sich

Das habe ich noch zwischen den Einträgen gefunden
2017.11.09 12:04:24 5: Kalendertest_DoEnd: end running
2017.11.09 12:04:24 1: ERROR evaluating


Das sieht eigentlich schon sehr gut aus. Du scheinst zumindest keine Probleme mit dem OAuth Token mehr zu haben. Das Modul scheint bei dir die Liste der Kalender auszulesen und die Zeilen danach (wo du geschrieben hast, das sie sich wiederholen) müssten die Events in deinem Kalender sein. Das scheint soweit alles wunderbar zu klappen. Jetzt sieht es aber danach aus, als ob das Konvertieren nach JSON und wieder zurück einen Fehler erzeugt, diesen aber nicht näher ausführt. Dieses mal liegt es wohl tatsächlich am Modul bzw. an irgendwelchen Sonderzeichen in deinem Kalender.

Bitte deaktiviere das Modul erst einmal. Ich versuche zeitnah dafür eine Lösung zu finden, muss dazu aber erst mal mit diversen Zeichen rumexperimentieren und gucken ob ich das Problem irgendwie nachstellen kann. Ich melde mich auf jeden Fall und habe dann hoffentlich auch eine Lösung für dein Problem. Taucht in deinem Kalender irgend was auf, das du als Sonderzeichen bezeichnen würdest? Ich habe zum Beispiel / in einem Kaldendernamen gesehen. Gibts darüber hinaus sowas wie <>|#'`\[]{}&%$§"^° oder Buchstaben mit einem Apostroph drüber, also Zeichen die im weitesten Sinne keine Buchstaben/Zahlen oder Leerzeichen sind? Sry wegen der blöden Frage, aber ich will nur versuchen das bei mir nachzustellen, dann kann ich auch eine Lösung dazu anbieten.

RoBra81

Hallo,

ich habe noch ein Problem mit dem Modul: leider kann es mit Umlauten nicht richtig umgehen und stellt stattdessen nur Fragezeichen dar.  Wenn ich es auf der Konsole ausführe werden alle Sonderzeichen korrekt dargestellt.

Ronny

mumpitzstuff

#50
Das ist eigenartig. Ich habe in meinen Terminen auch Sonderzeichen drin und die werden korrekt dargestellt. Ich schau es mir aber noch einmal an.

next_text Restmüll 2017-11-09 20:51:56

Das ist z.b. ein Reading bei mir im Abfallkalender...

rabehd

Ich habe mal alle Zusatzkalender in Google gelöscht (Wetter, Mond...)
Trotzdem sind diese Kalender noch in der Liste im Log, aber der Logeintrag endet jetzt mit einer Fehlernmeldung
.com","white"]]')}: unexpected end of string while parsing JSON string, at character offset 1063 (before "(end of string)") at ./FHEM/57_GCALVIEW.pm line 510.

Auch funktionierende Lösungen kann man hinterfragen.

Jamo

Hallo Mumpitzstuff, ich weiss nicht ob es hilft, ich habe mal die Umlaute üäö probiert, die gehen ohne Problem. Wenn ich einen Termin eintrage mit
Zitat!@#$%^&*()_+-=][}{\\|\'\";:/?.>,<
dann kommtERROR evaluating {GCALVIEW_DoEnd('GoogleCalendar||[["2017-11-09","23:00","2017-11-10","00:00","https://www.google.com/calendar/event ..................: illegal backslash escape sequence in string, at character offset 173 (before "\\") at ./FHEM/57_GCALVIEW.pm line 510.
Kommt zwar nie vor, aber ich wollte halt mal die Sonderzeichen probieren :-)
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

mumpitzstuff

Ich habe jetzt ein Update eingespielt. Damit sollten dann auch die Sonderzeichen funktionieren und auch das Problem von rabehd behoben sein.

Zu der falschen Darstellung der Umlaute bin ich noch nicht gekommen. Bitte etwas Geduld, ich versuche das irgendwie nachzustellen. Momentan habe ich das Problem nicht, deshalb ist es schwierig ins Blaue da was zu ändern.

Jamo

Hallo Mumpitzstuff, noch ein Fehler:
mit attr Kalender disable 1 kann man den Kalender disablen, aber wenn ich dann deleteattr Kalender disable und dann ein 'save' mache, bleibt der Kalender disabled. Erst mit einem attr Kalender disable 0 kann man den Kalender wieder enablen. Das ist bei den anderen Modulen anders.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

mumpitzstuff

Okay. Ist in meiner Bugliste aufgenommen. Ich hab aber in 1 Woche ne Prüfung und muss etwas lernen ab und zu. ;) Deshalb kann ich vielleicht erst mal nur die wichtigsten Dinge beheben in der nächsten Woche. Aber danke für den Hinweis!

Jamo

Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

rabehd

Nach dem Update heute Nacht, werden die Kalendereinträge eingelesen.  :)

Danke
Auch funktionierende Lösungen kann man hinterfragen.

RoBra81

Guten Morgen,

ich habe gerade auf die aktuelle Version aktualisiert: Das Attribut für das configFolder ist scheinbar noch nicht drin (habe es wieder manuell eingefügt), aber die Umlaute funktionieren jetzt :-)

Ronny

mumpitzstuff

Oh schön das die Umlaute gleich mit funktionieren. Das erspart mir Arbeit.

Für das Attribut hatte ich gerstern dann keine Zeit mehr, ist aber das nächste was auf der Liste steht.

Irgendwo weiter oben tauchte die Frage auf, warum gelöschte Kalender weiterhin bei den Attributen auftauchen. Wenn man Kalender gelöscht hat bei Google, dann kann man einfach das Attribut userattr löschen, wo die alten Einträge noch auftauchen. Nach einem Update sollte dann dort die aktuelle Liste auftauchen.