57_SSCal - Modul für den Synology Kalender

Begonnen von DS_Starter, 03 Januar 2020, 09:54:09

Vorheriges Thema - Nächstes Thema

DS_Starter

Hallo miteinander,

da es mittlerweile eine von Synology zur Verfügung gestellte API für die Kalenderapplikation auf der DS gibt, dient dieses Modul zur Einbindung der Synology Kalender in FHEM.
Über die API ist es neben den normalen Lesefunktionalitäten auch möglich neue Einträge in den Kalendern zu erstellen bzw. Aufgaben zu erstellen. Diese Funktionalität ist allerdings zur Zeit noch nicht implementiert.
Die Kalendereinträge werden als Klartext zur Verfügung gestellt und werden dementsprechend in SSCal in sofort lesbaren Readings abgebildet.

Es werden sowohl Terminkalender als auch Aufgaben abgerufen/verarbeitet.

Der Wiki-Eintrag zu diesem Modul befindet sich hier: https://wiki.fhem.de/wiki/SSCal_-_Integration_des_Synology_Calendar_Servers

Das Modul ist im FHEM Repository enthalten und wird über den Standardkanal upgedated.

Aktuelle Entwicklungsversionen können aus meinem contrib-Verzeichnis bezogen werden.

Download:

"wget -qO ./FHEM/57_SSCal.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/57_SSCal.pm"


Danach Restart FHEM wie üblich.



Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

sliderffm

Hallo Heiko,

also ich hätte auf jeden Fall Interesse an dem Modul!  :)


Gruß
Andreas

coolcat

Hi,
Ja cool, weg vom Google Kalender
Viel Interesse 👍

DS_Starter

Ok, ich sehe der Aufwand ist durchaus von Allgemeinen Interesse.  :)
Ich sehe zu den aktuellen Stand schonmal im Wiki zu dokumentieren. Es sind auf jeden Fall noch ein paar Hürden zu überwinden. Aber das ist nur eine Frage der Zeit ..

Ich melde mich hier wieder.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Hallo miteinander,

hat nun doch etwas länger gedauert als gedacht, aber nun steht die Beta-Version bereit.
Sie funktioniert bei mir einwandfrei und ich hoffe natürlich bei euch ebenfalls.

Im Wiki habe ich auf der Seite:
https://wiki.fhem.de/wiki/SSCal_-_Integration_des_Synology_Calendar_Servers

den gegewärtigen Stand inklusive Definition und allen wissenswerten Dingen beschrieben.

Zur Zeit sind die Terminkalender integriert, die Aufgaben kommen noch später. Aber erstmal das soweit.

Download aus meinem contrib:


"wget -qO ./FHEM/57_SSCal.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/57_SSCal.pm"


Danach Restart FHEM wie üblich.

Über Testergebnisse freue ich mich wie immer.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

sliderffm

Hallo Heiko,

vielen dank für das Modul zum testen.  :)

Ich habe das Modul wie beschrieben runtergeladen und fhem neu gestartet.
Versuche ich die Definition eines Synology Kalenderdevices anzulegen, erhalte ich folgende Fehlermeldung und der fhem-Prozess wird beendet.

Undefined subroutine &main::SSChatBot_getclhash called at ./FHEM/57_SSCal.pm line 506.

Den Kalender habe ich dabei mit folgenden Befehl versucht anzulegen, mein https Port der Syno ist auf 15001 konfiguriert:

define SynCalSlider SSCal <IPAdresseDerSyno> 15001 https


Viele Grüße
Andreas

carlos

Hallo
Bei mir das Gleiche, da ist wohl noch zu viel vom SSChatBot mit drin.
eine Änderung von SSChatBot_getclhash  in SSCal_getclhash hilft.
Dann funktionierts.

Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

DS_Starter

Guten Morgen,

ja sorry, da war noch ein Cut&Paste Fehler drin.  Denke es war die einzigste Stelle ;)
Habe es korrigiert und wieder ins contrib geladen.

Güße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

devo

Hallo DS-Starter,

vielen Dank für dieses Modul. Ich habe es gerade installiert und getestet. Nachdem ich auf der Synology das Calendermodul installiert habe, die Zugangsdaten, wie beschrieben, eingerichtet habe ließ sich das Modul problemlos installieren. Mit set <name> calEventList lassen sich die Kalendereinträge abrufen. Bin sehr gespannt auf die weitere Entwicklung von SSCal.

Detlev

sliderffm

#9
Hallo  Heiko,

bei mir klappt leider die Authentifizierung nicht, entweder habe ich noch etwas auf der Syno falsch eingestellt ODER
es liegt an meinem Kennwort, welches Sonderzeichen beinhaltet wie Ausrufezeichen, Fragezeichen und ein Doppelpunkt.

Der Benutzer ist in der Gruppe administrators und ist auch für den Calendar zugelassen. Die Kalenderberechtigung ist auch
entsprechend gesetzt.

Im Logfile wird folgendes Protokolliert:
2020.01.20 19:02:11 4: SynCalSlider - --- Start Synology Calendar login ---
2020.01.20 19:02:11 4: SynCalSlider - credentials read from RAM: slider ********
2020.01.20 19:02:11 4: SynCalSlider - HTTP-Call login will be done with http timeout value: 60 s
2020.01.20 19:02:11 4: SynCalSlider - Call-Out now: https://192.168.10.3:15001/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=login&account=slider&passwd=*****&format=sid
2020.01.20 19:02:17 5: SynCalSlider - JSON decoded: {
  'error' => {
               'code' => 400
             },
  'success' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
}

2020.01.20 19:02:17 3: SynCalSlider - Login of User slider unsuccessful. Code: 400 - Invalid parameter of file operation - try again
2020.01.20 19:02:17 4: SynCalSlider - --- Start Synology Calendar login ---
2020.01.20 19:02:17 4: SynCalSlider - credentials read from RAM: slider ********
2020.01.20 19:02:17 2: SynCalSlider - ERROR - Login or privilege of user slider unsuccessful


Auf der Syno wird dabei folgendes Protokolliert:
User [slider] from [FHEM-IP-Adresse] failed to log in via [DSM] due to authorization failure


Mit den Sonderzeichen hatte ich auch schon einmal Probleme in diesem Thema hier:
https://forum.fhem.de/index.php/topic,106918.0.html


Gruß
Andreas

DS_Starter

Hallo Andreas,

die Sonderzeichen werden es sein.
Ich passe das Modul an und melde mich wieder.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Hallo Andreas,

so, bitte nochmal aus dem contrib ziehen.
Klappt jetzt auch mit einem solchen Passwort in meinem Test:  OC%uI5:!

Das Problem war das ":" darin.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

sliderffm

Hallo Heiko,

viele Dank, das hast du ja ruckzuck gefixt :)

Die Authentifizierung funktioniert nun und auch die Kalender konnte ich dann entsprechend abrufen.

Allerdings erst nachdem ich die 2-Stufen Verifizierung ausgeschaltet hatte.
Ist diese eingeschaltet wird folgende Fehlermeldung protokolliert

Login of User <USERNAME> unsuccessful. Code: 406 - Cannot obtain user/group information from the account server - try again
ERROR - Login or privilege of user <USERNAME> unsuccessful


Wenn ich die API-Guide richtig verstehe, gibt es seit der DSM 4.2 die Möglichkeit folgendes bei dem API-Aufruf mitzugeben:
otp_code=123456&enable_device_token=yes

Ein Aufruf könnte eventl. dann so aussehen?!?
https://<SYNOIP>:<PORT>/webapi/auth.cgi?api=SYNO.API.Auth&version=6&method=login&account=<USERNAME>&passwd=<PASSWORT>&format=sid&otp_code=123456&enable_device_token=yes



Ohne der 2-Stufen Verifizierung kann man aber erstmal weiter testen.  ;)

Gruß
Andreas

DS_Starter

ZitatWenn ich die API-Guide richtig verstehe, gibt es seit der DSM 4.2 die Möglichkeit folgendes bei dem API-Aufruf mitzugeben:
Ja, das hatte ich auch schon gesehen. Hatte nicht vermutet dass wir so schnell an diesen Punkt kommen.  :)

Dann werde ich diesen Teil mal als nächstes auf die Agenda von SSCal setzen ...

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Hallo Andreas,

habe mir die API bezüglich otp_code angeschaut. Syno sagt es ist ein reservierter Key. DSM supportet (natürlich) 2-step Verifikation. Aber

ZitatHowever, WebAPI doesn't support it yet

Wahrscheinlich wird es erst später integriert. Da muss man sich wohl noch etwas gedulden.
Dann arbeite ich erstmal an den inhaltlichen Funktionalitäten weiter.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter