Autor Thema: Neues Modul: 57_GCALVIEW Google Kalender Viewer (+Abfall Kalender)  (Gelesen 61477 mal)

Offline shamal2008

  • Jr. Member
  • **
  • Beiträge: 62
Antw:Neues Modul: 57_GCALVIEW Google Kalender Viewer (+Abfall Kalender)
« Antwort #420 am: 21 Januar 2020, 15:19:44 »
Hello zusammen,

nun bin ich also auch betroffen... das Modul zeigt nach Update von FHEM und Raspi nichts mehr, der "WAF" im Eimer.

Wenn ich all die schönen Dinge hier befolge, habe ich dasselbe Problem "die App wurde vorübergehend deaktiviert".
Habe dann, wie in dem Post von jle eine neue Applikation über Google-API angelegt. Diese wird angezeigt, API, Auth usw. angelegt. Unsicheren Zugriff zugelassen.

Dann habe ich .gcal_oauth und die cache gelöscht, und jetzt macht mir der Raspi keine neue Datei für die Authentifizierung mehr. Nach Updates von Python kommt jetzt sogar noch eine zusätzliche Fehlermeldung, die ich vorher nicht hatte.

pi@master:/opt/fhem $ sudo -u fhem gcalcli --noauth_local_webserver list --config-folder /opt/fhem
Traceback (most recent call last):
  File "/usr/local/bin/gcalcli", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/gcalcli/cli.py", line 147, in main
    cal_names=cal_names, printer=printer, **vars(parsed_args)
  File "/usr/local/lib/python3.5/dist-packages/gcalcli/gcal.py", line 67, in __init__
    self._get_cached()
  File "/usr/local/lib/python3.5/dist-packages/gcalcli/gcal.py", line 186, in _get_cached
    self.all_cals = self.cache['all_cals']
KeyError: 'all_cals'

Der Fehler ist derselbe, auch wenn ich den config-folder weglasse. Auf dem Raspi gibt es scheinbar keine andere .gcalcli_oauth oder ähnliche Datei mehr.

Any ideas?
lg Shamal
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;

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1653
Antw:Neues Modul: 57_GCALVIEW Google Kalender Viewer (+Abfall Kalender)
« Antwort #421 am: 21 Januar 2020, 16:03:33 »
Was passiert wenn du das machst?

sudo -u fhem gcalcli list --client_id=xxxxxxxxxxxxxxx.apps.googleusercontent.com --client_secret=xxxxxxxxxxxxxxxxx

Offline shamal2008

  • Jr. Member
  • **
  • Beiträge: 62
Antw:Neues Modul: 57_GCALVIEW Google Kalender Viewer (+Abfall Kalender)
« Antwort #422 am: 21 Januar 2020, 16:33:59 »
Hallo Mumpitzstuff,

das wird noch spannender: (und zwar sowohl mit dem neuen (heute in der console erstellten, als auch mit dem bestehenden Kalender):

gcalcli: error: unrecognized arguments: --client_id=xxxx.apps.googleusercontent.com --client_secret=-xxx

(die richtigen Werte habe hier nur ausge-X-t).

Seit dem Update vorige Woche spinnt das FHEM überhaupt nur mehr, ständige Abstürze mit cannot fork (alle presence-pings mittlerweile abgedreht)... die Verzweiflung wächst...

lg Shamal
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;

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1653
Antw:Neues Modul: 57_GCALVIEW Google Kalender Viewer (+Abfall Kalender)
« Antwort #423 am: 21 Januar 2020, 17:39:08 »
Was für eine Version von gcalcli hast du? Vermutlich eine sehr alte?!?

Offline shamal2008

  • Jr. Member
  • **
  • Beiträge: 62
Antw:Neues Modul: 57_GCALVIEW Google Kalender Viewer (+Abfall Kalender)
« Antwort #424 am: 21 Januar 2020, 18:32:20 »
Hallo,

sorry, leider nicht - 4.2.0

EDIT: bin jetzt draufgekommen, dass --client_id und --client_secret durch --client-id und --client-secret ersetzt wurden.
Jetzt ist die Autorisierung erfolgreich durchgegangen.

Ebenso habe ich einen Zustimmungsbildschirm erstellt und dem User in der Google-Dev-Console die Zugriffe auf den Kalender gewährt. Nach dem Durchklicken im Browser habe ich dann endlich einen Auth-Code bekommen, der funktioniert hat und die Files wurden erstellt.

Jetzt funktioniert das Teil wieder... lediglich das FHEM-Device muss ich nochmal anlegen, das hatte ich in der Zwischenzeit gelöscht  :'(

lg Shamal
« Letzte Änderung: 21 Januar 2020, 19:07:17 von shamal2008 »
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;

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1653
Antw:Neues Modul: 57_GCALVIEW Google Kalender Viewer (+Abfall Kalender)
« Antwort #425 am: 21 Januar 2020, 19:35:50 »
Das die da immer an den Parametern rum machen müssen. Schrecklich. Aber super das es geklappt hat.
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Moonlightkid

  • New Member
  • *
  • Beiträge: 28
Antw:Neues Modul: 57_GCALVIEW Google Kalender Viewer (+Abfall Kalender)
« Antwort #426 am: 26 Januar 2020, 16:51:26 »
Hallo Mumpitzstuff,

ich hab nach langer Zeit mich wieder hingesetzt, um meinen Abfallkalender endlich zum Laufen zu bringen.
Aus welchem Grund auch immer wurde mein Google-Kalender nicht ausgelesen. Heute hat es auf Anhieb funktioniert.

UND ICH HAB KEINE AHNUNG WARUM  ;D

Von mir ein herzliches Dankeschön! Endlich kann ich das fürs Tablet-UI verwenden...
1xRaspi3, 2xSonoff Basic mit Tasmota, Sonoff-Lichtschalter, Hue-Beleuchtung inkl. Bewegungsmelder, Max! Raumthermostate, 3xecho-dot - und ganz am Anfang mit FHEM

Offline Kharim

  • Full Member
  • ***
  • Beiträge: 307
Antw:Neues Modul: 57_GCALVIEW Google Kalender Viewer (+Abfall Kalender)
« Antwort #427 am: 08 Februar 2020, 17:27:52 »
Kann mir bitte jemand auf die Sprünge helfen?
Bekomme (durch Neuinstallation) meinen Google-Kalender nicht mehr zum laufen.
Soweit ich es aus den letzten Posts heraus gelesen habe, habe ich folgendes getan.

- gcalcli installiert -> gcalcli v4.0.4 (Eric Davis, Brian Hartvigsen, Joshua Crowgey)
(Auch ein Git Clone bringt nur diese Version)
- Diese Google-Developer Geschichte um ID und Secret zu erhalten
-sudo -u fhem gcalcli list --client-id=xxxxxxxxxxxxxxx.apps.googleusercontent.com --client-secret=xxxxxxxxxxxxxxxxx
- den gezeigten Link in den Browser kopiert.
Hier meldet google nun

Error: invalid_client

The OAuth client was not found.
Request Details

    client_id=xxx
    redirect_uri=urn:ietf:wg:oauth:2.0:oob
    scope=https://www.googleapis.com/auth/calendar
    access_type=offline
    response_type=code


Was mache ich falsch?
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

Offline cotecmania

  • Sr. Member
  • ****
  • Beiträge: 530
Antw:Neues Modul: 57_GCALVIEW Google Kalender Viewer (+Abfall Kalender)
« Antwort #428 am: 09 Februar 2020, 10:49:57 »
Bei mir wird python-gdata nicht installiert :

root@T620-FHEM:~# sudo apt-get install python-gdata
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Paket python-gdata ist nicht verfügbar, wird aber von einem anderen Paket
referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
wurde oder nur aus einer anderen Quelle verfügbar ist.

E: Für Paket »python-gdata« existiert kein Installationskandidat.
root@T620-FHEM:~#

Kennt jemand Abhilfe ?
FHEM auf RaspberryPI B (jessie)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, ACER Iconia One mit AMAD/FTUI

Offline shamal2008

  • Jr. Member
  • **
  • Beiträge: 62
Antw:Neues Modul: 57_GCALVIEW Google Kalender Viewer (+Abfall Kalender)
« Antwort #429 am: 09 Februar 2020, 21:52:05 »
Hello,

ich bin jetzt langsam nicht nur am Verzweifeln, ich pfeif bald auf den ganzen Mist. Nach einer Übersiedlung des FHEM auf den Raspi4 mit Buster ( hat die auth wieder nicht funktioniert (wurde wieder von Google gesperrt). Sämtliche Versuche das Zeug neu aufzusetzen haben lediglich dazu geführt, dass offensichtlich durch ein python2.7 (welches plötzlich als default aktiv war, weiss der Geier warum) die ganze gcalcli so dermassen zerschossen war, das nun gar nix mehr geht.

für Buster-User:
kommt bloß nicht auf die Idee (auch nach einem remove der apt-get gcalcli mit autoremove, update,reboot,etc.) die gcalcli aus dem github aufzusetzen. Danach spinnt sich das gesamte Teil aus und produziert jede Menge Fehler, die ihr auch im google nicht findet.

Ich werde jetzt ein Backup von FHEM machen, dann den ganzen Raspi komplett neu aufsetzen, und falls das Teil dann wieder nicht tut, such ich mir endgültig ein anderes Home-System.

frust off,
Shamal
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;

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1653
Antw:Neues Modul: 57_GCALVIEW Google Kalender Viewer (+Abfall Kalender)
« Antwort #430 am: 12 Februar 2020, 21:38:09 »
gcalcli hat Probleme mit dem Google Login. Ob sich daran jemals etwas ändern wird, kann ich nicht sagen. Ich kann hier leider diesbezüglich auch keine Experimente machen, da es bei mir dann eventuell auch nicht mehr geht.
Wenn es partout nicht geht, dann könnt ihr auf das Calendar Modul ausweichen.

Ansonsten gibt es hier noch eine Beschreibung ganz unten:

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

Die Google Calendar API könnt ihr hier aktivieren und dann die notwendigen OAuth Daten erzeugen:

https://console.developers.google.com/?hl=de
« Letzte Änderung: 12 Februar 2020, 21:55:13 von mumpitzstuff »

Offline xeenon

  • Jr. Member
  • **
  • Beiträge: 55
Hallo Zusammen,

dieses Modul beschert mir ganz schön graue Haare. Nachdem ich mein Python (beim Updateversuch) zerschossen habe, habe ich alles komplett neu aufgesetzt und auf ein frisches FHEM gcalcli installieren können. und GCALVIEW spuckt mir Ergebnisse für die nächsten 2 Wochen aus.

Allerdings komm ich mit den Readingsgprs nicht klar. Ich hätte zuerst versucht deines für den allgemeinen Kalender zu übernehmen. Mit Copy und Paste gehts leider nicht. Dann habe ich versucht es händisch nach zu basteln, geht auch nicht. Sieht nun wie folgt aus:

Internals:
   CFGFN     
   DEF        <Datum>,<Tag>,<Zeit>,<Termin>,<Ort>\ KALENDER_VIEW:t_001_bdate,t_001_weekday,t_001_timeshort,t_001_summary,t_001_location\ KALENDER_VIEW:t_002_bdate,t_002_weekday,t_002_timeshort,t_002_summary,t_002_location\ KALENDER_VIEW:t_003_bdate,t_003_weekday,t_003_timeshort,t_003_summary,t_003_location\ KALENDER_VIEW:t_004_bdate,t_004_weekday,t_004_timeshort,t_004_summary,t_004_location\ KALENDER_VIEW:t_005_bdate,t_005_weekday,t_005_timeshort,t_005_summary,t_005_location\ KALENDER_VIEW:t_006_bdate,t_006_weekday,t_006_timeshort,t_006_summary,t_006_location\ KALENDER_VIEW:t_007_bdate,t_007_weekday,t_007_timeshort,t_007_summary,t_007_location\ KALENDER_VIEW:t_008_bdate,t_008_weekday,t_008_timeshort,t_008_summary,t_008_location\ KALENDER_VIEW:t_009_bdate,t_009_weekday,t_009_timeshort,t_009_summary,t_009_location\ KALENDER_VIEW:t_010_bdate,t_010_weekday,t_010_timeshort,t_010_summary,t_010_location\ KALENDER_VIEW:t_011_bdate,t_011_weekday,t_011_timeshort,t_011_summary,t_011_location\ KALENDER_VIEW:t_012_bdate,t_012_weekday,t_012_timeshort,t_012_summary,t_012_location\ KALENDER_VIEW:t_013_bdate,t_013_weekday,t_013_timeshort,t_013_summary,t_013_location\ KALENDER_VIEW:t_014_bdate,t_014_weekday,t_014_timeshort,t_014_summary,t_014_location\ KALENDER_VIEW:t_015_bdate,t_015_weekday,t_015_timeshort,t_015_summary,t_015_location\ KALENDER_VIEW:t_016_bdate,t_016_weekday,t_016_timeshort,t_016_summary,t_016_location\ KALENDER_VIEW:t_017_bdate,t_017_weekday,t_017_timeshort,t_017_summary,t_017_location\ KALENDER_VIEW:t_018_bdate,t_018_weekday,t_018_timeshort,t_018_summary,t_018_location\ KALENDER_VIEW:t_019_bdate,t_019_weekday,t_019_timeshort,t_019_summary,t_019_location\ KALENDER_VIEW:t_020_bdate,t_020_weekday,t_020_timeshort,t_020_summary,t_020_location
   FUUID      5e524426-f33f-91fb-5ce4-fab8d56c0807ff1c
   NAME       rg_KALENDER
   NR         313
   NTFY_ORDER 50-rg_KALENDER
   STATE      Initialized
   TYPE       readingsGroup
   changed    0
   mayBeVisible 1
   CONTENT:
   CONTENT2:
   DEVICES:
   fhem:
     lastDefChange 27
     last_update 1582450015.7302
   helper:
     DEF       
     nameStyle  style="font-weight:bold;text-decoration:underline;"
     valueFormat if ($READING =~ /bdate$/)\
  {\
    my $readingStart = $READING;;\
    $readingStart =~ s/bdate$//;;\
    if (0 == ReadingsVal($DEVICE, $readingStart.'daysleft', -1))\
    {\
      "Heute";;\
    }\
    elsif (1 == ReadingsVal($DEVICE, $readingStart.'daysleft', -1))\
    {\
      "Morgen";;\
    }\
    else\
    {\
      # the follwoing line strips the year of the date (remove it if needed)\
      substr($VALUE, 0, 5);;\
    }\
  }\
  elsif ($READING =~ /weekday$/)\
  {\
    my $readingStart = $READING;;\
    $readingStart =~ s/weekday$//;;\
    \
     # the follwoing line strips the weekday down to 3 chars (remove it if needed)\
    substr($VALUE, 0, 3);;\
  }\
  elsif ($READING =~ /summary$/)\
  {\
    my $readingStart = $READING;;\
    $readingStart =~ s/summary$//;;\
    my $link = ReadingsVal($DEVICE, $readingStart.'url', '');;\
    my $age = ReadingsVal($DEVICE, $readingStart.'age', undef);;\
    my $style = 'style="color:'.ReadingsVal($DEVICE, $readingStart."sourcecolor", "white").'"';;\
    if (defined($age))\
    {\
      $link =~ s/\>link\</ $style\>$VALUE \($age\)\</;;\
    }\
    else\
    {\
      $link =~ s/\>link\</ $style\>$VALUE\</;;\
    }\
    $link;;\
  }
Attributes:
   nameStyle  style="font-weight:bold;text-decoration:underline;"
   nonames    1
   notime     1
   room       KALENDER
   valueFormat if ($READING =~ /bdate$/)\
  {\
    my $readingStart = $READING;;\
    $readingStart =~ s/bdate$//;;\
    if (0 == ReadingsVal($DEVICE, $readingStart.'daysleft', -1))\
    {\
      "Heute";;\
    }\
    elsif (1 == ReadingsVal($DEVICE, $readingStart.'daysleft', -1))\
    {\
      "Morgen";;\
    }\
    else\
    {\
      # the follwoing line strips the year of the date (remove it if needed)\
      substr($VALUE, 0, 5);;\
    }\
  }\
  elsif ($READING =~ /weekday$/)\
  {\
    my $readingStart = $READING;;\
    $readingStart =~ s/weekday$//;;\
    \
     # the follwoing line strips the weekday down to 3 chars (remove it if needed)\
    substr($VALUE, 0, 3);;\
  }\
  elsif ($READING =~ /summary$/)\
  {\
    my $readingStart = $READING;;\
    $readingStart =~ s/summary$//;;\
    my $link = ReadingsVal($DEVICE, $readingStart.'url', '');;\
    my $age = ReadingsVal($DEVICE, $readingStart.'age', undef);;\
    my $style = 'style="color:'.ReadingsVal($DEVICE, $readingStart."sourcecolor", "white").'"';;\
    if (defined($age))\
    {\
      $link =~ s/\>link\</ $style\>$VALUE \($age\)\</;;\
    }\
    else\
    {\
      $link =~ s/\>link\</ $style\>$VALUE\</;;\
    }\
    $link;;\
  }

Meine 99_myutils sieht so aus:
##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line.

sub recyclebinCounter($$)
{
  my ($device, $reading) = @_;
  my $days = ReadingsVal($device, $reading.'days', 'na');
  my $daysnext = ReadingsVal($device, $reading.'daysnext', 'na');
  my $color_days = ('1' eq $days ? 'red' : '2' eq $days ? 'darkorange' : 'green');
 
  return '<div style="width:16px;height:14px;border-radius:14px;color:white;background-color:'.
         $color_days.
         ';font-size:10px;font-weight:700;text-align:center;position:relative;padding-top:1%;'.
         'left:-29px;top:-4px;">'.$days.'</div>'.
         '<div style="width:16px;height:14px;border-radius:14px;color:white;'.
         'border:1px solid white;'.
         'font-size:10px;font-weight:700;text-align:center;position:relative;padding-top:1%;'.
         'left:-11px;top:-19px;">'.$daysnext.'</div>';
}

1;

Wo hab ich den Fehler gemacht?

Viele Grüße

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1653
Die ganzen Backslashes in deiner Readinggroup sind falsch. Was ich dort im ersten Beitrag gepostet habe, lässt sich nur per RAW Import 1:1 importieren.

Mach mal ein beliebiges Device auf, so das du Internals/Readings sehen kannst. Dann scrollst du gaaaannnzz nach unten und klickst Raw definition an (dritte von links). Dort löschst du alles raus und fügst das was ich gepostet habe ein. Dann noch Execute drücken und fertig. Das bereits existieren rg_KALENDER vorher noch löschen!

Hilft dir das weiter?

 

decade-submarginal