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

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

Vorheriges Thema - Nächstes Thema

rabehd

#60
bei mir steht im FHEMWEB Papiermüll statt Papiermüll, wie es im Browser steht.

Das ist aber abhängig von Attribut "calendarType".
Es passiert bei waste, bei Standard ist die Schreibweise ok.

Eine halbe Stunde später tritt das Problem nicht mehr auf.  ???
Trotz hin und her wechseln des Typs.
Auch funktionierende Lösungen kann man hinterfragen.

rabehd

ZitatcalendarFilter: Dieses Attribut wird erst verfügbar, wenn man das erste Mal seinen Google Calendar eingelesen hat. Mit diesem Attribut kann man bestimmte Kalender filtern. Der Inhalt dieser Kalendar wird dann nicht mehr angezeigt.

Bei werden nur die Kalender ausgelesen, die bei diesem Attribut ausgewählt sind.
Es müßte wohl heißen:
ZitatcalendarFilter: Dieses Attribut wird erst verfügbar, wenn man das erste Mal seinen Google Calendar eingelesen hat. Mit diesem Attribut kann man bestimmte Kalender filtern. Es werden nur die Inhalte dieser Kalendar angezeigt. Ist keine auswahl getroffen, werden die Inhalte aller Kalender angezeigt.

Ich habe auch noch das Problem, dass alle Kalender gelsen werden, die bei der API-Erstellung bestellt waren. Seitdem habe ich ein paar Kalender abbestellt, diese sind aber weiterhin da.
Auch funktionierende Lösungen kann man hinterfragen.

mumpitzstuff

Im Modus Abfall werden Teile des Kalendereintrags in das Reading übernommen. Hier ist FHEm wesentlich restriktiver was die Zeichen angeht. Ich hatte deshalb da ein paar Filter eingebaut, die grad Umlaute oder andere Sonderzeichen entweder ersetzen oder entfernen sollten. Es kann jetzt sein, das durch meine anderen Änderungen da was nicht mehr ganz passt. Das sollte aber nur noch eine Kleinigkeit sein. Was wirklich komisch ist, ist das es eine halbe Stunde später nicht mehr auftritt. das wundert mich ebenfalls etwas.

Beim ersten Update des Moduls wird ein Attribut userattr erzeugt. Das sorgt dafür, dass man, sobald man das Attribut calendarFilter ausgewählt hat, ein Fenster mit Checkboxen bekommt. Bestätigt man den Dialog mit OK, dann sollte hier ein zweites Attribut calendarFilter angelegt werden, das die Auswahl beinhaltet. Hat man Bespielsweise nur noch 1 Kalender ausgewählt z.b. Abfall, dann sollte nur noch der Inhalt von Abfall angezeigt werden. An der Stell hast du recht. Der Kalender wird dann nicht gefiltert, sondern genau dieser Kalender wird dann angezeigt. Da muss ich die Doku anpassen.
Wenn man keinen Kalender auswählt werden wieder alle angezeigt, das stimmt wahrscheinlich auch. Ich glaube die Logik im Modul war: steht was drin, dann zeige diese Kalender an, steht nichts drin oder existiert das Attribut nicht, dann zeige alle Kalender an. Ist auch besser so, sonst macht da jemand was falsch und es wird nichts mehr angezeigt.

Wenn du auf deinem Google Account einen Kalender gelöscht oder hinzugefügt hast, dann kannst du mal versuchen die Attribute userattr UND calendarFilter zu löschen und dann Update zu machen. Dann sollte sich das Modul an der Stelle wie beim ersten Start verhalten und die Kalenderliste neu bei Google einlesen. Wenn das nicht der Fall ist, dann liegt das dummerweise am Cache denke ich und ich müsste an der Stelle etwas tunen. Du kannst aber manuell den Cache mal kurz ausschalten per Attribut und dann userattr und calendarFilter löschen und dann ein Update machen. Dann sollte er sich die aktuelle Liste holen und nicht die veraltete aus dem Cache.

Roli1606

Zitat von: mumpitzstuff am 08 November 2017, 23:52:38
Also 2.4.2 ist definitiv falsch. Das Ding wird nicht funktionieren.

Und die pip installation scheint ebenfalls zu scheitern oder nicht richtig ausgeführt zu werden. Das war wahrscheinlich auch der Grund warum die Version vorher nicht richtig installiert wurde.

Du hast ja irgendwie die Version gesehen. Hast du die auch auf der Console als fhem User abfragen können und dann die 3.4.0 gesehen?

Ich hasse Linux. Alles nur Bastelscheiss von irgend welchen Studenten.

Versuch das Ding mal als Source zu installieren, vielleicht geht es dann:

git clone https://github.com/insanum/gcalcli.git
cd gcalcli
python setup.py install


Danach gehen mir dann wirklich auch die Ideen aus. Ich kann vielleicht noch mal im Forum fragen woran es liegen könnte das man Befehle als fhem User in der Konsole absetzen kann, aber nicht aus fhem heraus.

Nur zur Info
Ich habe es jetzt hin bekommen. Hab mir ein passendes gcalcli Paket per wget runtergeladen und mit dpkg installiert.
Cubietruck mit Stefanius Image
FHEM 5.8
HMLAN
und CUL

rabehd

Ich habe das Attribut Cache = 0 hinzugefügt. Einen anderen kann ich über die Weboberfläche gar nicht eingeben (Das finde ich nicht so toll).

Nach dem Löschen von  userattr und calenderFilter und einem Update, enthält das userattr wieder die ursprüngliche Liste, also auch die abbestellten Kalender.
Ich habe dann einen anderen Kalender abonniert, der erscheint nach einem Update nicht.

Ein {qx(gcalcli list);;} bringt auch die nicht aktuelle Liste.

Irgendwie werden die Änderungen in der Auswahl nicht zur Kenntnis genommen.
Auch funktionierende Lösungen kann man hinterfragen.

mumpitzstuff

#65
Versuch mal bitte:

{qx(gcalcli list ––nocache);;}

Ich werde mir das aber auch noch mal genau ansehen. Aber wenn gcalcli das nicht sieht, dann kann das Modul auch nicht viel machen. Die Frage ist nur woran es liegt. Ich habe leider die kommende Woche viel zu tun, deshalb bitte etwas Geduld. Nach dem 18. habe ich wieder mehr Luft.

mumpitzstuff

@roli1606: Danke. Ich werde das als alternativen Weg in der Doku aufnehmen.

mumpitzstuff

So ich hab's jetzt noch mal ausprobiert, das geht wirklich nicht. Neue Kalender werden nicht angezeigt. Ich habe daraufhin mal Google angeworfen und folgendes gefunden:

https://github.com/insanum/gcalcli/issues/262

Die Lösung ist leider etwas bescheiden. So wie es aussieht musst du das Verzeichnis .gcalcli_oauth aus deinem Verzeichnis /opt/fhem löschen und die Prozedur mit dem oauth Token noch einmal machen. Es scheint so als ob der Zugriff der dort abgelegt ist dauerhaft für bestimmte Kalender besteht, auch wenn diese danach gelöscht werden oder neue dazu kommen. Das ist leider etwas umständlich, aber zum Glück macht man das ja nicht täglich.

rabehd

Sowas in der Art habe ich vermutet.
Ist nicht toll, liegt aber an Google.

Danke  fürs Suchen
Auch funktionierende Lösungen kann man hinterfragen.

mumpitzstuff

#69
Ich habe ein Update eingespielt mit folgenden Änderungen:

- utf8 handling improved
- missing 0 or 1 settings added to some attributes
- attribute configFolder added

Insbesondere der Punkt 1 bereitet mir etwas Bauchschmerzen und ich hoffe ich habe jetzt nichts verschlimmbessert. Wenn alles klappt, dann sollten Sonderzeichen jetzt fehlerfreier funktionieren. Bei einigen Attributen habe ich in den Settings 0 oder 1 ergänzt, so das man jetzt umschalten kann. Das Problem mit dem disable sollte jetzt ebenfalls damit behoben worden sein.

Das Attribut configFolder habe ich ebenfalls hinzugefügt, konnte damit aber erst mal selbst nichts mit anfangen. Wenn ich dort ein existierendes Verzeichnis angegeben habe, dann habe ich immer ein Fehler erhalten und sollte mich neu authorisieren. Ich vermute auch hier ist diese Prozedur so restriktiv, das man den hier angegebenen Pfad bereits bei der Authorisierung hätte verwenden müssen, damit das funktioniert. Am besten RoBra71 testet das erst einmal aus...

mumpitzstuff

#70
inoma: Ich habe zusätzlich das readingsGroup template im ersten Beitrag um deine Punkte erweitert und auch die Farbdefinition aus dem Kalender wird verwendet. Ich glaube danach hattest du gefragt. Wenn man jetzt im Kalender das Attribut sourceColor z.b. auf folgendes setzt:

<hier den Inhalt des Readings source übernehmen>:red

Dann werden alle Einträge der Readingsgroup, die diesen String als Reading source enthalten, in Rot in der readingsGroup angezeigt.

Außerdem habe ich den jeweiligen Eintrag "anklickbar" gemacht, so dass man ihn direkt im Browser editieren kann bei Bedarf.

Jamo

Hallo Mumpitzstuff,
danke für alle deine Updates, das ist echt Klasse. Ich dachte du hast "in 1 Woche ne Prüfung und musst ab und zu etwas lernen"? :-)
Ich habe jetzt alles so umgesetzt, wie in deinem Readingsgroup Beispiel, also:
-> klickbare links: Das ist der Hammer
-> attr sourceColor: Funktioniert prima
Absolut geiles Modul. Ich bin begeistert.

Nur zur Info, ist für mich nicht wichtig: Der disable 'Bug' aus Post https://forum.fhem.de/index.php/topic,77502.msg712959.html#msg712959 ist immer noch da, für attr disable gibts auch kein '0' setting.

Danke Danke nochmal. Beste Grüsse, und ich drück die Daumen für die Prüfung.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

mumpitzstuff

Dann ist dein Update nicht vollständig. Ich habe sowohl 0 als auch 1 zur Auswahl beim Attribut disable.

update all

shutdown restart

PS: Ist nur eine Fischereiprüfung und die scheint einfacher zu sein als gedacht.

Jamo

:-(
Du hast natürlich recht. Ich hatte das shutdown/restart nicht gemacht. Mea Culpa! Danke nochmal!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

RoBra81

Hallo,

ich habe jetzt auch mal wieder ein Update gemacht. Das Attribut configFolder funktioniert. Allerdings habe ich das Problem, wenn ich das Attribut alldayText auf Ganztägig setzte, erscheint in den Readings ganztägig. Umlaute aus dem Kalender werden jedoch korrekt dargestellt.

Ronny