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

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

Vorheriges Thema - Nächstes Thema

rabehd

So sieht es nach Update und Restart aus.

Mein Englisch ist nicht besonders, aber "List of new / modified files since last update" heißt doch wohl, das da noch was neues ist
Auch funktionierende Lösungen kann man hinterfragen.

mumpitzstuff

Das bedeutet so viel wie: Liste der aktualisierten Module, die sich seit dem letzten Update verändert haben. Glaub mir, du hast die letzten Versionen der beiden Module installiert. Es ist alles gut. :)

rabehd

Zitat von: mumpitzstuff am 04 Dezember 2017, 22:16:47
...Du möchtest nicht die Anzahl der Tage angeben für die die Events angezeigt werden, sondern eine Anzahl von Events die angezeigt werden sollen. Ich glaube das Problem lässt sich bereits lösen. Versuch mal eine große Zahl beim Attribut calendarDays einzutragen und gleichzeitig beim Attribut maxEntries die von dir gewünschte Menge an Einträgen. Ich glaube damit müsste sich Punkt 3 von deiner Liste erschlagen lassen. Gib mir auch hier Bescheid wenns klappt....
Das klappt, wie gewünscht. Danke
Ich frage jetzt 350 Tage ab und beschränke auf 10 Einträge.

Das Attribut "showAge" passt leider nicht zu meinem Geburtstagskalender.
Dummerweise habe ich mir das Modul CALVIEW nicht richtig angesehen, als ich meinen Wunsch formuliert habe. Dort kann man wählen woher die Jahreszahl genommen werden soll.
Bei mir steht die Jahreszahl im Summary. Meist in Klammern am Ende.
Ich möchte auch nicht alle Einträge anpassen, besonders da ich bei einem Geburtstag nicht immer in die Beschreibung gehen will. Am Smartphone soll das für mich auf einem Blick sichtbar sein.
Wie oben schon mal gesagt, das kann ich auch als Userreading selbst bauen. Sieh das deshalb bitte als Vorschlag und nicht als persönlichen Wunsch.

Und noch eine Anmerkung zu dem Reading "_age".
Es nur zu bilden, wenn eine Jahreszahl gefunden, könnte ein Problem werden, wenn man das als Liste weiterverarbeitet. Bei mir mit readingsGroup zu einer Tabelle "Wann, Wer, Welcher".
Auch funktionierende Lösungen kann man hinterfragen.

RoBra81

Guten Abend,

Vielen Dank, bei mir passt das mit dem Alter - zumal meine App auf dem Handy die gleichen Einträge nutzt [emoji16]

Ronny

Gesendet von meinem SM-G935F mit Tapatalk


mumpitzstuff

Zitat von: rabehd am 11 Dezember 2017, 21:08:29
Das klappt, wie gewünscht. Danke
Ich frage jetzt 350 Tage ab und beschränke auf 10 Einträge.

Das Attribut "showAge" passt leider nicht zu meinem Geburtstagskalender.
Dummerweise habe ich mir das Modul CALVIEW nicht richtig angesehen, als ich meinen Wunsch formuliert habe. Dort kann man wählen woher die Jahreszahl genommen werden soll.
Bei mir steht die Jahreszahl im Summary. Meist in Klammern am Ende.
Ich möchte auch nicht alle Einträge anpassen, besonders da ich bei einem Geburtstag nicht immer in die Beschreibung gehen will. Am Smartphone soll das für mich auf einem Blick sichtbar sein.
Wie oben schon mal gesagt, das kann ich auch als Userreading selbst bauen. Sieh das deshalb bitte als Vorschlag und nicht als persönlichen Wunsch.

Und noch eine Anmerkung zu dem Reading "_age".
Es nur zu bilden, wenn eine Jahreszahl gefunden, könnte ein Problem werden, wenn man das als Liste weiterverarbeitet. Bei mir mit readingsGroup zu einer Tabelle "Wann, Wer, Welcher".

Zu steuern woher das Attribut kommt, kann ich auch noch nachreichen.
Wenn ich richtig verstehe möchtest du das Attribut immer haben wenn man es einschaltet, also auch wenn nichts gefunden wurde. Sowas finde ich immer sehr unschön wenn ich ehrlich bin. Kannst du mir vielleicht die Definition deiner Readingsgroup geben (priv. Mitteilung), damit ich mir das Problem mal ansehen kann?
Vielleicht geht ja sowas hier (nur runtergeschrieben, kann Fehler enthalten):

attr rg_Kalender valueFormat {\
  if ($READING =~ /age$/)\
  {\
    if (!defined($VALUE))\
    {\
      '';;\
    }\
    else\
    {\
      $VALUE;;\
    }\
  }\
}

mumpitzstuff

Die Readingsgroup im ersten Beitrag habe ich schon mal so erweitert, dass hinter dem Summary auch noch das Alter in Klammern auftaucht, wenn das Reading vorhanden ist.

rabehd

Meine readingsgroup für die Geburtstagsliste ist simpel.
<wann>,<wer>,<welcher>
KalenderGeburtstag:t_001_daysleftLong,t_001_summary,t_001_age
KalenderGeburtstag:t_002_daysleftLong,t_002_summary,t_002_age
KalenderGeburtstag:t_003_daysleftLong,t_003_summary,t_003_age
KalenderGeburtstag:t_004_daysleftLong,t_004_summary,t_004_age
KalenderGeburtstag:t_005_daysleftLong,t_005_summary,t_005_age
KalenderGeburtstag:t_006_daysleftLong,t_006_summary,t_006_age
KalenderGeburtstag:t_007_daysleftLong,t_007_summary,t_007_age
KalenderGeburtstag:t_008_daysleftLong,t_008_summary,t_008_age
KalenderGeburtstag:t_009_daysleftLong,t_009_summary,t_009_age
KalenderGeburtstag:t_010_daysleftLong,t_010_summary,t_010_age


Es stört auch nicht, wenn eins der Readings nicht vorhanden ist. Ich hatte diese Liste noch nicht auf den Kalender auf Basis Deines Modules umgestellt, nur eine Vermutung geäußert. Die war aber falsch. :(
Es ist für mich ok, wenn leere Readings nicht angelegt werden.

Das Geburtsjahr wird bei uns im Summary bleiben. Meist am Ende in Klammern und 4stellig.
In der Liste habe ich dadurch das Jahr und das Alter. Das ist ok.
Eine Auswahl aus welchem Reading das Jahr geholt wird wäre schön, aber ich überlege gerade eine andere Lösung für mich.
Für die Optik werde ich wohl 2 Userreadings anlegen. Zum einen das Alter extraiert aus Summary und zum anderen ein Summary_2 welches den Wert von Summary ohne Geburtsjahr enthält.
Damit hätte ich meinen Sonderwunsch erfüllt. Du kannst das Modul ja nicht für jeden passend machen.

Fazit:
Ich bin mit dem Modul zufrieden, danke.
Ob die Fehlermeldung "something went wrong (invalid gcalcli output)" noch im Log erscheint, kann ich nicht sagen, denn die Terminserie ist erstmal vorbei.
Auch funktionierende Lösungen kann man hinterfragen.

mumpitzstuff

Kannst du mir ein paar Eckdaten zu dieser Serie geben, damit ich versuchen kann das nachzustellen? Interessant wäre wie das Intervall war, ob ein attachment dran hing, irgendwelche Erinnerungen oder so was.

rabehd

Beruflich nutze ich Outlook und Skype. Den Outlook-Kalender synchronisiere ich mit einen Google-Kalender um die Übersicht zu behalten.

Es war eine Einladung zu einer Skype-Besprechung (monatlich).
Hilft Dir das Log-Eintrag (aus Betrag weiter oben)?
Zitat2017.12.07 08:28:04 3: Kalendertest: something went wrong (invalid gcalcli output) - 2017-12-08, 09:00, 2017-12-08, 10:00, https://www.google.com/calendar/event?eid=bW1hMnM0Y2g0YXR........XJyYWxmLmFyYmVpdEBt, , ..... Community TelKo, Skype-Besprechung, Liebe ...... Community,
\n
\nhier die monatliche Terminserie (immer der 2. Freitag im Monat).

keine Anhänge, aber ein paar Links, ein paar Zeichen / und eine Aufzählung mit Punkten.
Auch funktionierende Lösungen kann man hinterfragen.

mumpitzstuff


mumpitzstuff

Ich habe soeben wieder ein Update eingespielt.

1.) Über das Attribut ageSource kann jetzt angegeben werden woher das Alter für die Altersberechnung genommen werden soll.
2.) Bugfix für den Fall das der Bschreibungstext Tabs enthalten sollte. Leider ist die Implementierung echt Scheisse, aber nicht anders machbar. Im Grunde genommen ist das ein Bug von gcalcli, der sich eigentlich kaum beheben lässt. Ich habs bestmöglich gemacht und hoffe, dass es keine Nebeneffekte gibt. Dazu könnte es zum Beispiel kommen, wenn das Summary oder die Location Tabs enthalten sollten! Wenn das der Fall ist, dann muss der Termin manuell angepasst werden.

Jamo

Wie bekomme ich denn im Google Geburtstags-Kalender eine 'description', wo ich das Datum des Geburtstages eintragen kann?
Ich sehe in der Description immer nur so was wie "Magdalena hat Geburtstag".

Also mir ist nicht klar wo ich im Google Geburtstagskalender das Geburtsdatum eintragen muss, damit es im GCALVIEW entweder unter 'Location', 'Description' oder 'Summary' erscheint, weil ich möchte auch das Alter berechnen.

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

mumpitzstuff

#102
Hier gibt es verschiedene Möglichkeiten und ich glaube das was du im Kopf hat geht so einfach leider nicht.

Variante 1: Man lässt sich von Google einen Geburtstagskalender von seinen Kontakten erstellen und lässt sich diesen anzeigen. Hier hat man insofern verloren, als das man keine Möglichkeit hat zusätzliche Informationen wie z.B. das Geburtsjahr hinzuzufügen. Alles was man an der Stelle tun kann ist, die Einträge manuell als Serie in einen anderen Kalender zu übertragen und dann den von Google erstellten Kalender auszublenden. In den neu angelegten Serienterminen kann man jetzt in der Description eine Jahreszahl einfügen, z.B. 1985. Setzt man dann ageSource auf description und schaltet die Berechnung des Alter mit showAge ein, dann wird ein zusätzliches Reading _age erzeugt. Die Readingsgroup aus Beitrag 1 zeigt den Inhalt des readings hinter dem summary in der Readingsgroup an.

Variante 2: Man erstellt sich gleich manuell einen Geburtstagkalender in Google und hat dann gar keine Probleme.

Variante 3: man schreibt sich in seinen Kontakten das Geburtsjahr z.B. in Klammern zum Namen dazu. Aus dem Namen wird das Summary im automatisch generierten Geburtstagskalender und man kann dann mit ageSource = summary das Alter berechnen lassen. Nicht sehr schön aber zum testen kann man es ja mal versuchen.


ageSource gibt übrigens nur an wo das Jahr her kommen soll und nicht wo das alter hingeschrieben wird. Das Alter wird immer separat in ein Reading mit der Endung _age geschrieben, also weder in die Description, noch das Summary noch die Location. Das hinzufügen zum Summary in der im Artikel 1 zu sehenden Readingsgroup ist als Code in der Readingsgroup hinterlegt.

rabehd

@inoma
Ich würde sagen, Du hast gar keinen Geburstagskalender. Die Einblendungen der Geburtstage Deiner Kontakte durch Google im Kalender ist Variante 1.
Auch funktionierende Lösungen kann man hinterfragen.

Jamo

Super, allerdings noch ein Problem:
Ich habe mir jetzt einen eigenen Geburtstagskalender 'Geburtstage' angelegt, den sehe ich auch mit sudo gcalcli list --configFolder /opt/fhem Das ist auch gesetzt:attr GoogleCalender configFolder /opt/fhem  Zusätzlich habe ich manuell attr   GoogleCalendar calendarFilter xxxxx.yyyyyyyyyy@gmail.com,Geburtstage

Weil, der Kalender 'Geburtstage' erscheint nämlich nicht im popup, wenn ich auf das weisse Feld rechts des attr calendarFilter klicke. Dort erscheint nur [ ] xxxxx.yyyyyyyyyy@gmail.com
[ ] Contacts
[ ] Holidays in Germany


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