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

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

Vorheriges Thema - Nächstes Thema

kleineslichtHH

Da hast du es leider richtig verstanden. Wie kann ich denn die Authentifizierung löschen?

RoBra81

Zitat von: mumpitzstuff am 26 Februar 2018, 16:14:40
Das habe ich verstanden. Mein Problem daran ist nur, das mir für einen solchen Filter keine weitere Verwendung als diese einfällt. Und das hat erst mal nichts mit der Kalenderfunktion an sich zu tun, deshalb tue ich mich da noch etwas schwer.
Ich nehme an, du wolltest mich zitieren :-)

Ich sehe die Möglichkeit, einen countdown zu einem bestimmten Termin zu erstellen schon als Kalenderfunktion. Ein weiteres mögliches Szenario wäre folgendes: wenn man einen Familienkalender hat und im Betreff des Termins den Namen der Familienmitglieder stehen hat, die der Termin betrifft, könnte man pro Familienmitglied eine Kalenderinstanz anlegen und nur die Termine für das entsprechende Familienmitglied auslesen...

Ronny

Gesendet von meinem SM-G935F mit Tapatalk


mumpitzstuff

Zitat von: kleineslichtHH am 26 Februar 2018, 17:18:34
Da hast du es leider richtig verstanden. Wie kann ich denn die Authentifizierung löschen?

Bei mir gibts in /opt/fhem die beiden Dateien .gcalcli_oauth und .gcalcli_cache. Beide müsstest du löschen und dann die Authentifizierung erneut durchführen. Die Dateien kannst du mit ls -all anzeigen lassen.

mumpitzstuff

Zitat von: RoBra81 am 26 Februar 2018, 14:30:37
Ja, funktioniert. Ich habe nur ein noch nicht nachvollziehbares Problem mit Umlauten: in einer Instanz gibt es im UserAttr den "Müllkalender", in einer anderen den "M?llkalender". Nur wenn ich "M?llkalender" auswähle, erhalte ich auch Daten. In den Daten werden Umlaute ebenfalls entfernt (z.B. "Biomll_days")...

Ronny

Ich habe selbst einen Kalender Müllabfuhr und Restmüll wird zu Restmuell im Reading. Vermutlich hast du eine falsche Codepage z.b. Latin-1 anstatt utf-8 eingestellt. Gib mal locale auf der Shell ein und Check mal ob da utf8 steht.

shamal2008

Hallo Armin,

wie ich sehen konnte, hast du bei deiner letzten Version das Handling der Readings bzw. Variablen geändert. Leider reicht mein Perl jetzt nicht soweit, dass ich in den Zeilen die Ersetzung mit den "-" selber vornehmen kann. Kannst du mir da auf die Sprünge helfen?

my $startDate = @$_[0];
      my $startTime = @$_[1];
      my $endDate = @$_[2];
      my $endTime = @$_[3];
      my $url = @$_[4];
      my $summary = @$_[6];
      my $location = @$_[7];
      my $description = @$_[8];
      my $calendar = @$_[9];
      my $author = @$_[10];
      my $sourceColor = @$_[11];


Danke und kalte Grüße aus Wien,
Thomas
FHEM auf RasPiI 3+, MapleCUL 868+433MhZ, MAX! via CUL, LD686 LED-Controller, GHoma Plugins,, Shelly, ConbeeII + IKEA + Xiaomi, div. Infodienste & Google Assistant via FHEM;

mumpitzstuff

Was meinst du mit letzter Version? Die Testversion oder die Version, die über das normale Update kommt?

https://forum.fhem.de/index.php/topic,77502.msg764062.html#msg764062

Hier hattest du gepostet wie es ausgesehen hat.

shamal2008

Hallo,

die Version die über das Update kam.

Sry, ich dachte, die Version hier aus dem Thread wäre bereits "offiziell" ;) - hab jetzt ein Exclude gesetzt - und Backup sei Dank - alles wieder im Lot und die Terminlocation dort, wo sie hingehören.

lg aus Wien,
Thomas
FHEM auf RasPiI 3+, MapleCUL 868+433MhZ, MAX! via CUL, LD686 LED-Controller, GHoma Plugins,, Shelly, ConbeeII + IKEA + Xiaomi, div. Infodienste & Google Assistant via FHEM;

mumpitzstuff

Ich habe soeben eine neue Version eingestellt mit folgenden Änderungen:

- Attribut emptyReadingText hinzugefügt (damit kann man den Inhalt von leeren Readings festlegen)
- Attribut invertFilter hinzugefügt (invertiert die Bedeutung der existierenden Filter). Hiermit kann man exakt die Einträge behalten, die dann dem Filtertext entsprechen!
- Reading _daysnext hinzugefügt (nur waste Kalender)
- Version erhöht von 1.0.2 nach 1.0.3

mumpitzstuff

Zitat von: shamal2008 am 02 März 2018, 11:07:13
Hallo,

die Version die über das Update kam.

Sry, ich dachte, die Version hier aus dem Thread wäre bereits "offiziell" ;) - hab jetzt ein Exclude gesetzt - und Backup sei Dank - alles wieder im Lot und die Terminlocation dort, wo sie hingehören.

lg aus Wien,
Thomas

Dein Problem sollte sich jetzt mit dem neuen Attribut lösen lassen. Du kannst das Update wieder aktivieren.

mumpitzstuff

Zitat von: RoBra81 am 26 Februar 2018, 18:20:35
Ich nehme an, du wolltest mich zitieren :-)

Ich sehe die Möglichkeit, einen countdown zu einem bestimmten Termin zu erstellen schon als Kalenderfunktion. Ein weiteres mögliches Szenario wäre folgendes: wenn man einen Familienkalender hat und im Betreff des Termins den Namen der Familienmitglieder stehen hat, die der Termin betrifft, könnte man pro Familienmitglied eine Kalenderinstanz anlegen und nur die Termine für das entsprechende Familienmitglied auslesen...

Ronny

Gesendet von meinem SM-G935F mit Tapatalk

Deine Anforderungen sollten jetzt ebenfalls alle erfüllt sein.

RoBra81

Zitat von: mumpitzstuff am 08 März 2018, 21:35:57
Deine Anforderungen sollten jetzt ebenfalls alle erfüllt sein.

Super, vielen Dank! Das funktioniert  :)

Ronny

borsTiHD

Hallo zusammen,

ich hoffe ihr könnt mir weiterhelfen.
Ich nutze dein Plugin jetzt schon ne Weile und bin auch sehr zufrieden damit.
Nutzen tue ich dein Plugin für meinen Schichtplan, den ich über den Google Kalendar syncronisiere.
Letzendlich steuere ich in FHEM damit meine Heizungsprofile.

Leider ist mir vor ner Weile aufgefallen das plötzlich meine Heizung nicht mehr automatisiert sich meinen Schichten angleicht und bei näherem schauen, hab ich gemerkt das keine Einträge mehr aus dem Google Kalendar geladen werden. Das ganze ist jetzt schon ein paar Wochen her, hatte erst jetzt Zeit mich drum zu kümmern. Da sich möglicherweise was bei Google oder sonst wo geändert hatte, hab ich es erstmal mit einem "update all" probiert und alles hoffentlich auf den neusten Stand gebracht.

Versuche ich jetzt mein Device mit "set GoogleCalendar update" abzufragen, bekomme ich im Eventmonitor folgende Meldung:
2018.03.25 20:05:07 3 : GoogleCalendar blocking call already running
2018.03.25 20:05:07 3 : BlockingCall for GoogleCalendar aborted
2018.03.25 20:05:07 1 : ERROR evaluating {GCALVIEW_DoEnd('GoogleCalendar||')}: Can't use string ("") as an ARRAY ref while "strict refs" in use at ./FHEM/57_GCALVIEW.pm line 625.


Bevor ich jetzt versuche die Google Authentifizierung oder sonst was neu zu machen, wollte ich euch fragen ob ihr mir da helfen könntet?
Vielen Dank schon mal. Falls eine ähnliche Frage bereits kam, ich hab mir nur die letzten Seiten hier kurz überflogen, dann bitte ein Hinweis wo ich das finden kann. :)

Hier wäre mein Device:
Internals:
   CHANGED   
   DEF        3600
   NAME       GoogleCalendar
   NOTIFYDEV  global
   NR         149
   NTFY_ORDER 50-GoogleCalendar
   STATE      Initialized
   TIMEOUT    3600
   TYPE       GCALVIEW
   VERSION    1.0.3
   Helper:
     DBLOG:
       state:
         DBLogging:
           TIME       1522001107.40259
           VALUE      update
   helper:
     RUNNING_PID:
       abortFn    GCALVIEW_DoAbort
       arg        GoogleCalendar
       bc_pid     7
       finishFn   GCALVIEW_DoEnd
       fn         GCALVIEW_DoRun
       pid        11999
       telnet     telnetPort_127.0.0.1_48096
       terminated 1
       timeout    3600
       abortArg:
Attributes:
   calendarDays 5
   calendarFilter Schichtplan,xxx@googlemail.com,Contacts,Feiertage in Deutschland,Week Numbers
   calendarIncludeStarted Schichtplan,xxx@googlemail.com,Contacts,Feiertage in Deutschland,Week Numbers
   group      Kalender
   icon       time_calendar
   room       6.1_GoogleKalender
   sourceColor Schichtplan:black,xxx@googlemail.com:black,Contacts:black,Feiertage in Deutschland:red,Week Numbers:black
   updateInterval 7200
   userattr   calendarFilter:multiple-strict,Schichtplan,xxx@googlemail.com,Contacts,Feiertage#in#Deutschland,Week#Numbers calendarIncludeStarted:multiple-strict,Schichtplan,xxx@googlemail.com,Contacts,Feiertage#in#Deutschland,Week#Numbers

mumpitzstuff

Kannst du bitte im Kalender Device Verbose auf 5 setzen und dann ein Update machen und gucken ob man da noch mehr sieht?

borsTiHD

#208
Hab Verbose auf 5 gestellt, bekomme dann nur folgende Ausgabe während eines Updates:
2018.03.25 22:00:17 3 : GoogleCalendar blocking call already running
2018.03.25 22:00:17 3 : BlockingCall for GoogleCalendar aborted
2018.03.25 22:00:17 5 : GoogleCalendar_SetNextTimer: set next timer
2018.03.25 22:00:18 5 : GoogleCalendar_DoEnd: end running
2018.03.25 22:00:18 1 : ERROR evaluating {GCALVIEW_DoEnd('GoogleCalendar||')}: Can't use string ("") as an ARRAY ref while "strict refs" in use at ./FHEM/57_GCALVIEW.pm line 625.


Vlt hilft ja der Hinweis, ich hab in meine Datenbank geschaut wann die letzten Daten abgerufen werden konnten und die letzten geloggten Einträge waren am 06.03. gegen 9 Uhr.

mumpitzstuff

#209
Besteht die Möglichkeit den Raspberry mal zu rebooted? Was mich wundert ist, das der BlockingCall hängen bleibt. Im Log steht immer das der BlockingCall bereits rennt. Vielleicht hat sich irgendwas grundsätzliches aufgegangen. Da auch keine weiteren Ausgaben von gcalcli kommen, könnte auch irgend ein Zombie Process bei dir im System existieren, der vielleicht weitere gcalcli Aufrufe verhindert. Das kannst du vielleicht mal vorab verifizieren und von der Kommandozeile deinen Kalender mit gcalcli abfragen. Vermutlich wird das auch nicht mehr gehen.

Ein Update von mir kam übrigens erst am 08.03 und davor ziemlich lange nichts...