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

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

Vorheriges Thema - Nächstes Thema

Jamo

Hallo mumpitzstuff,
wenn ich jetzt ein 'update check' in fhem machen bekomme ich folgenden Fehler:gcalview
http://raw.githubusercontent.com/mumpitzstuff/fhem-GCALVIEW/master/controls_gcalview.txt: Too many redirects
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

mumpitzstuff

Zitat von: inoma am 06 November 2017, 23:14:11
Hallo mumpitzstuff,
wenn ich jetzt ein 'update check' in fhem machen bekomme ich folgenden Fehler:gcalview
http://raw.githubusercontent.com/mumpitzstuff/fhem-GCALVIEW/master/controls_gcalview.txt: Too many redirects


Muss irgendwas temporäres sein:

2017.11.06 23:32:38 1 : gcalview
2017.11.06 23:32:39 1 : UPD FHEM/57_GCALVIEW.pm
2017.11.06 23:32:39 1 : saving fhem.cfg
2017.11.06 23:32:39 1 : saving ./log/fhem.save
2017.11.06 23:32:39 1 :
2017.11.06 23:32:39 1 : New entries in the CHANGED file:
2017.11.06 23:32:39 1 : - attribute cache added

mumpitzstuff

So ich habe ein Update eingespielt. Die Logik von includeStarted war falsch rum. In der aktuellen Version kann man dieses Attribut nur noch auf 0 setzen und damit ausschalten anstatt wie früher einzuschalten. Außerdem habe ich im Abfall View ein Problem mit deutschen Umlauten behoben und auch ein Cache Attribut hinzugefügt. Damit kann man den Cache abschalten falls notwendig.

mumpitzstuff

Zitat von: rabehd am 06 November 2017, 21:43:54
Was mache ich falsch?

Im Log stehen einmalig die Einträge, aber keine readings.

Du könntest mal versuchen im Device das Attribut Verbose auf 5 zu setzen. Das gibt dann mehr Einblicke.

Hast du dich als User fhem angemeldet gehabt und dein OAuth Token generiert? Hast du dann auf der Kommandozeile (als fhem user!) mit:
gcalcli list

Eine Liste deiner Google Kalender erhalten?

Jamo

das 'attr includeStarted' funktioniert jetzt wie erwartet. Mit dem nächsten update vom Kalender verschwindet der begonnene Eintrag. Perfekt!
Das mit dem Cache habe ich nicht probiert.  Danke!!!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

rabehd

ZitatEine Liste deiner Google Kalender erhalten?
Ja, hatte ich im Terminal gesehen.

Zitatim Device das Attribut Verbose auf 5 zu setzen.
2017.11.07 16:03:51 3: Kalendertest blocking call already running
2017.11.07 16:03:51 5: Kalendertest_SetNextTimer: set next timer


Ich bin eigentlich nach Deiner Anleitung vorgegangen.
Werde es wohl demnächst löschen und neuanlegen.
Auch funktionierende Lösungen kann man hinterfragen.

Roli1606

Habe alles nach anleitung gemacht.
aber nach der Eingabe von
$ gcalcli --noauth_local_webserver
kommt bei mir folgendes
Traceback (most recent call last):
  File "/usr/local/bin/gcalcli", line 522, in <module>
    class gcalcli:
  File "/usr/local/bin/gcalcli", line 535, in gcalcli
    dateParser = DateTimeParser()
  File "/usr/local/bin/gcalcli", line 444, in __init__
    self.pdtCalendar = parsedatetime.Calendar()
  File "/usr/lib/python2.7/dist-packages/parsedatetime/__init__.py", line 216, in __init__
    self.ptc = Constants()
  File "/usr/lib/python2.7/dist-packages/parsedatetime/__init__.py", line 1733, in __init__
    self.locale = pdtLocales['icu'](self.localeID)
  File "/usr/lib/python2.7/dist-packages/parsedatetime/pdt_locales.py", line 151, in __init__
    self.icu = pyicu.Locale(localeID)
icu.InvalidArgsError: (<type 'icu.Locale'>, '__init__', (None,))


was stimmt da nicht?
Cubietruck mit Stefanius Image
FHEM 5.8
HMLAN
und CUL

mumpitzstuff

Zitat von: rabehd am 07 November 2017, 16:21:42
Ja, hatte ich im Terminal gesehen.
2017.11.07 16:03:51 3: Kalendertest blocking call already running
2017.11.07 16:03:51 5: Kalendertest_SetNextTimer: set next timer


Ich bin eigentlich nach Deiner Anleitung vorgegangen.
Werde es wohl demnächst löschen und neuanlegen.

Bei dir rennt aktuell scheinbar eine Instanz endlos im Hintergrund. Schau mal bei dir in den Prozessen nach, ob da ein gcalcli läuft bitte. Falls ja, dann schiess das mal ab. Ansonsten kannst du auch mal ein shutdown restart probieren. Ich hoffe dann wird der Blockingcall zurück gesetzt. 

mumpitzstuff

#23
Zitat von: Roli1606 am 07 November 2017, 21:38:31
Habe alles nach anleitung gemacht.
aber nach der Eingabe von
$ gcalcli --noauth_local_webserver
kommt bei mir folgendes
Traceback (most recent call last):
  File "/usr/local/bin/gcalcli", line 522, in <module>
    class gcalcli:
  File "/usr/local/bin/gcalcli", line 535, in gcalcli
    dateParser = DateTimeParser()
  File "/usr/local/bin/gcalcli", line 444, in __init__
    self.pdtCalendar = parsedatetime.Calendar()
  File "/usr/lib/python2.7/dist-packages/parsedatetime/__init__.py", line 216, in __init__
    self.ptc = Constants()
  File "/usr/lib/python2.7/dist-packages/parsedatetime/__init__.py", line 1733, in __init__
    self.locale = pdtLocales['icu'](self.localeID)
  File "/usr/lib/python2.7/dist-packages/parsedatetime/pdt_locales.py", line 151, in __init__
    self.icu = pyicu.Locale(localeID)
icu.InvalidArgsError: (<type 'icu.Locale'>, '__init__', (None,))


was stimmt da nicht?

Ich hab mal etwas geschaut und folgendes gefunden:

http://ubuntuhandbook.org/index.php/2014/08/gcalcli-google-calendar-command-line/

Da steht was von einem Bug in parsedatetime. Kannst du mal versuchen das so zu beheben? Ansonsten versuch mal:

pip install --upgrade parsedatetime

Vielleicht findest du auch hier weitere Informationen:

https://github.com/insanum/gcalcli/issues/152
https://github.com/insanum/gcalcli/issues/142
https://github.com/insanum/gcalcli/issues/163

Ich hoffe du bekommst das damit behoben.

Roli1606

Zitat von: mumpitzstuff am 07 November 2017, 21:58:34
Ich hab mal etwas geschaut und folgendes gefunden:

http://ubuntuhandbook.org/index.php/2014/08/gcalcli-google-calendar-command-line/

Da steht was von einem Bug in parsedatetime.

Das hat geholfen habe diese Befehle ausgeführt Danke

cd /tmp

wget https://launchpad.net/ubuntu/+archive/primary/+files/python-parsedatetime_1.2-1_all.deb

sudo dpkg -i python-parsedatetime_1.2-1_all.deb
Cubietruck mit Stefanius Image
FHEM 5.8
HMLAN
und CUL

Roli1606

wenn ich jetzt ein gcalcli list mache sehe ich meine Kalender aus google.

leider kommt bei einem update im fhem modul das im Log
2017.11.08 00:01:34 3: GKalender: gcalcli agenda   --detail_all   --tsv
2017.11.08 00:01:34 3: GKalender: something went wrong (check your parameters) - Error: must specify a username



Hab schon versucht den nächsten Schritt in der oben verlinkten Anleitung zu machen und die Datei mit User und pw anzulegen aber dann funktioniert ein gcalcli list nicht mehr und es kommt diese Meldung
fhem@cubieNAS:~$ gcalcli list
Error: [gcalcli] is an invalid commandfhem@cubieNAS:~$ gcalcli list

Hast du noch eine Idee?
Cubietruck mit Stefanius Image
FHEM 5.8
HMLAN
und CUL

mumpitzstuff

Wann siehst du deine Kalender? Wenn du als fhem eingeloggt bist? Du must das nach Punkt 4 aus der Anleitung sehen, ansonsten hat der fhem User the Authentifizierungsdaten nicht (wichtig ist hier als fhem User angemeldet zu sein). Geh doch noch mal die Punkte von 1 ab nacheinander durch. Sobald ein Fehler auftritt brauchst du nicht weitermachen. Das Anlegen als Fhem Device ist der letzte Punkt nachdem alle anderen Punkte fehlerfrei durchgelaufen sind. Du kannst mir auch gern eine private Nachricht schreiben mit den Punkten 1 bis 5 und den jeweiligen Ausgaben auf dem Bildschirm dazu. Irgendwas von den Punkten wurde bestimmt vergessen.

Weiter unten findet das System anscheinend nicht mal deine gcalcli Installation. Das verwundert mich etwas, da das doch installiert sein sollte. Kann dein fhem User vielleicht nicht darauf zugreifen? Versuch doch mal die Punkte 1 und 2 als fhem User zu machen.

Jamo

Hallo Mumpitzstuff,
ich habe deinen Kalender als user root eingerichtet, also Punkt 4) nicht als User fhem, sondern als root angemeldet. Grund ist das FHEM bei mir unter root läuft (Wegen SONOS, das hat Reinerlein so empfohlen). Bei mir ist der user fhem in /etc/passwd vollständig auskommentiert. Punkt 4) also mit 'su - '.

Kannst Du mir das noch mit dem attribut sourceColor erklären? Ich habe als source das was im reading t_xxx_source steht eingetragen, und dann als color z.b. blue, also sowas wie attr Kalender sourceColor abcdefg@gmail.de:blue aber wo sehe ich den jetzt die blaue Schrift?
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Jamo

Hier auch noch eine andere Readingsgroup. Mit 3 Stelligen Wochentagen (also Mon,Die,Mit,Don...) und kurzem Datum (also 10.11 anstatt 10.11.2017). Wenn 'Heute' oder 'Morgen' wird der Wochentag weggelassen.
defmod GoogleCalendar_rg readingsGroup GoogleCalendar:t_001_weekday,t_001_bdate,t_001_btime,t_001_summary,t_001_location GoogleCalendar:t_002_weekday,t_002_bdate,t_002_btime,t_002_summary,t_002_location GoogleCalendar:t_003_weekday,t_003_bdate,t_003_btime,t_003_summary,t_003_location GoogleCalendar:t_004_weekday,t_004_bdate,t_004_btime,t_004_summary,t_004_location GoogleCalendar:t_005_weekday,t_005_bdate,t_005_btime,t_005_summary,t_005_location GoogleCalendar:t_006_weekday,t_006_bdate,t_006_btime,t_006_summary,t_006_location GoogleCalendar:t_007_weekday,t_007_bdate,t_007_btime,t_007_summary,t_007_location GoogleCalendar:t_008_weekday,t_008_bdate,t_008_btime,t_008_summary,t_008_location GoogleCalendar:t_009_weekday,t_009_bdate,t_009_btime,t_009_summary,t_009_location GoogleCalendar:t_010_weekday,t_010_bdate,t_010_btime,t_010_summary,t_010_location GoogleCalendar:t_011_weekday,t_011_bdate,t_011_btime,t_011_summary,t_011_location GoogleCalendar:t_012_weekday,t_012_bdate,t_012_btime,t_012_summary,t_012_location GoogleCalendar:t_013_weekday,t_013_bdate,t_013_btime,t_013_summary,t_013_location GoogleCalendar:t_014_weekday,t_014_bdate,t_014_btime,t_014_summary,t_014_location GoogleCalendar:t_015_weekday,t_015_bdate,t_015_btime,t_015_summary,t_015_location GoogleCalendar:t_016_weekday,t_016_bdate,t_016_btime,t_016_summary,t_016_location GoogleCalendar:t_017_weekday,t_017_bdate,t_017_btime,t_017_summary,t_017_location GoogleCalendar:t_018_weekday,t_018_bdate,t_018_btime,t_018_summary,t_018_location GoogleCalendar:t_019_weekday,t_019_bdate,t_019_btime,t_019_summary,t_019_location GoogleCalendar:t_020_weekday,t_020_bdate,t_020_btimet,t_020_summary,t_020_location
attr GoogleCalendar_rg noheading 1
attr GoogleCalendar_rg nonames 1
attr GoogleCalendar_rg notime 1
attr GoogleCalendar_rg room Calendar,Favourites
attr GoogleCalendar_rg valueFormat { \
  my $readingStart = $READING;;\
  if ($READING =~ /bdate/)\
  {\
    $readingStart =~ s/bdate//;;\
    if (0 == ReadingsVal($DEVICE, $readingStart.'daysleft', -1))\
    {\
      "Heute";;\
    }\
    elsif (1 == ReadingsVal($DEVICE, $readingStart.'daysleft', -1))\
    {\
      "Morgen";;\
    } else {sprintf("%s",substr(ReadingsVal($DEVICE, $READING,"nothing"),0,5))}\
  } elsif  ($READING =~ /weekday/) \
    {\
    my $readingStart2 = $READING;;\
$readingStart2 =~ s/weekday//;;\
    if (0 == ReadingsVal($DEVICE, $readingStart2.'daysleft', -1) || 1 == ReadingsVal($DEVICE, $readingStart2.'daysleft', -1)) {"   "} else {sprintf("%s",substr(ReadingsVal($DEVICE, $READING,"nothing"),0,3))}}\
}
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

mumpitzstuff

Zitat von: inoma am 08 November 2017, 04:25:29
Hallo Mumpitzstuff,
ich habe deinen Kalender als user root eingerichtet, also Punkt 4) nicht als User fhem, sondern als root angemeldet. Grund ist das FHEM bei mir unter root läuft (Wegen SONOS, das hat Reinerlein so empfohlen). Bei mir ist der user fhem in /etc/passwd vollständig auskommentiert. Punkt 4) also mit 'su - '.

Kannst Du mir das noch mit dem attribut sourceColor erklären? Ich habe als source das was im reading t_xxx_source steht eingetragen, und dann als color z.b. blue, also sowas wie attr Kalender sourceColor abcdefg@gmail.de:blue aber wo sehe ich den jetzt die blaue Schrift?

Aha okay. Dann müssten bei dir aber theoretisch auch beide Wege funktionieren denke ich, also auch wenn du das als User fhem gemacht hast.

Das Verhalten mit dem Sourcecolor habe ich von dem Modul CALVIEW übernommen. Hier wird nicht ein Eintrag gefärbt, sondern alle Einträge die von abcdefg@gmail.de erstellt wurden erhalten den String Blue anstatt White als ein Attribut. Das wiederum kann dann meines Erachtens in irgendwelchen Oberflächen für die Einfärbung verwendet werden. Ich denke in deiner Readingsgroup könntest du es z.b. auch verwenden.