FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Kalendermodule => Thema gestartet von: Wolfgang Hochweller am 31 Juli 2018, 18:55:28

Titel: Erledigt : Radicale
Beitrag von: Wolfgang Hochweller am 31 Juli 2018, 18:55:28
Wenn ich bei dem Calendar-Modul einen Radicale-Kalendar angebe, bekomme ich das hier :



2018.07.31 18:51:06 2: Calendar HomeKalendar: error (data not in ICal format; even not gzip data)



Was kann ich tun ?

Titel: Antw:Radicale
Beitrag von: betateilchen am 31 Juli 2018, 19:02:17
Einen Kalender verwenden, der dem ical Format entspricht.
Titel: Antw:Radicale
Beitrag von: Wolfgang Hochweller am 31 Juli 2018, 19:28:37
Guter Versuch, aber keine gute Antwort  :).

Das Problem war nur die fehlende Authentifizierung;
die Fehlermeldung koennte durchaus besser sein.
Titel: Antw:Erledigt : Radicale
Beitrag von: Dr. Boris Neubert am 31 Juli 2018, 20:32:18
Die Qualität der Antwort von Udo ist ein Spiegelbild der Qualität der Frage.

Und das Kalendermodul versucht nicht zu verstehen, was zurückkommt, wenn es nicht im ical-Format ist. Daher gibt es auch die beste Fehlermeldung, die möglich ist.
Titel: Antw:Erledigt : Radicale
Beitrag von: betateilchen am 01 August 2018, 12:07:40
Zitat von: Dr. Boris Neubert am 31 Juli 2018, 20:32:18
ein Spiegelbild der Qualität der Frage.

schöner hätte ich es nicht formulieren können  8)
Titel: Antw:Erledigt : Radicale
Beitrag von: Wolfgang Hochweller am 01 August 2018, 21:01:58
Tut mir leid, das kann ich so nicht stehen lassen.
Fakt ist, das gar nichts zurueckkommt.
Da kommt kein falsches oder fehlerhaftes Format zurueck, sondern Radicale lehnt die Anfrage wegen fehlender Rechte ab.
Die Fehlermeldung ist daher die schlechtest moegliche, weil sie, obwohl das Modul das besser weiss, dem User etwas suggeriert, was einfach falsch ist.
Ich wuerde vorschlagen, den Fehlertext anzupassen.
Titel: Antw:Erledigt : Radicale
Beitrag von: Dr. Boris Neubert am 01 August 2018, 21:38:57
Zitat von: howi42 am 01 August 2018, 21:01:58
Ich wuerde vorschlagen, den Fehlertext anzupassen.

So ein kleines bisschen Log mit Verbose 5 würde dem Entwickler die Spur einer Chance geben, Deinen Vorschlag berücksichtigen zu können.

Viele Grüße
Boris
Titel: Antw:Erledigt : Radicale
Beitrag von: betateilchen am 01 August 2018, 22:06:08
Wenn ich einen Kalender mit fehlender/ungültiger Autorisierung einbinde, steht im FHEM Log eine unmissverständliche Fehlermeldung:


2018.08.01 22:03:44 4: Calendar oc_test: Updating...
2018.08.01 22:03:44 4: Calendar oc_test: Getting data from URL <hidden>
2018.08.01 22:03:44 1: Calendar oc_test: retrieval failed with error message <hidden>: wrong authentication
2018.08.01 22:03:44 1: Calendar oc_test: retrieved no or empty data
2018.08.01 22:03:44 4: Calendar oc_test: Checking times...


Was will man denn noch mehr? Dazu braucht es nichtmal ein verbose 5.
Titel: Antw:Erledigt : Radicale
Beitrag von: nils_ am 02 August 2018, 08:40:24
Zitat von: betateilchen am 01 August 2018, 22:06:08
Wenn ich einen Kalender mit fehlender/ungültiger Autorisierung einbinde, steht im FHEM Log eine unmissverständliche Fehlermeldung:


2018.08.01 22:03:44 4: Calendar oc_test: Updating...
2018.08.01 22:03:44 4: Calendar oc_test: Getting data from URL <hidden>
2018.08.01 22:03:44 1: Calendar oc_test: retrieval failed with error message <hidden>: wrong authentication
2018.08.01 22:03:44 1: Calendar oc_test: retrieved no or empty data
2018.08.01 22:03:44 4: Calendar oc_test: Checking times...


Was will man denn noch mehr? Dazu braucht es nichtmal ein verbose 5.

stimmt, da passt das soweit....

nur mal zum vergleichen:
rufst du eine URL ab oder eine Datei?? :) -> Betateilchen: URL, howi: ??


ich weiß bei einer Datei macht Autorisierung keinen sinn, aber keine Ahnung wie der Server da was auch immer ausliefert.  ::)
Titel: Antw:Erledigt : Radicale
Beitrag von: Wolfgang Hochweller am 02 August 2018, 09:07:54
Bei Verboselevel 3 kommt nur obige Fehlermeldung, nichts von fehlenden Rechten, scheint wohl abhaengig vom Server zu sein.

Ich vergesse zu oft, dass man auch mal den Verboselevel aendern kann, aber dann passiert das :


2018.08.02 09:02:18 4: WEB_10.0.0.5_56817 POST /fhem?detail=Kalender&dev.getKalender=Kalender&cmd.getKalender=get&arg.getKalender=events&val.getKalender=format%3Afull&XHR=1&addLinks=1&fw_id=329; BUFLEN:0
2018.08.02 09:02:18 5: Cmd: >get Kalender events format:full<
2018.08.02 09:02:18 4: WEB: /fhem?detail=Kalender&dev.getKalender=Kalender&cmd.getKalender=get&arg.getKalender=events&val.getKalender=format%3Afull&XHR=1&addLinks=1&fw_id=329 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/



Ich finde, das macht es nicht besser, eher noch verwirrender.
Titel: Antw:Erledigt : Radicale
Beitrag von: Dr. Boris Neubert am 02 August 2018, 20:32:32
@howi42

Bitte setze nur den Loglevel des Calendar-Device und führe dann bitte ein

get Kalender update

aus, um das Log entsprechend zu füllen (natürlich ohne Authentisierung, damit man die Fehlermeldung bei Dir sieht).

Titel: Antw:Erledigt : Radicale
Beitrag von: Wolfgang Hochweller am 02 August 2018, 22:20:34
Ja, das ergibt folgende Eintraege :


2018.08.02 22:18:33 4: Calendar Kalender: Wakeup
2018.08.02 22:18:33 4: Calendar Kalender: Updating...
2018.08.02 22:18:33 4: Calendar Kalender: Getting data from URL <hidden>
2018.08.02 22:18:33 4: Calendar Kalender: parsing data synchronously
2018.08.02 22:18:33 1: PERL WARNING: Use of uninitialized value $ics in split at ./FHEM/57_Calendar.pm line 991.
2018.08.02 22:18:33 2: Calendar Kalender: error (data not in ICal format; even not gzip data)
2018.08.02 22:18:33 4: Calendar Kalender: Checking times...
2018.08.02 22:18:33 4: Calendar Kalender: process ended.
2018.08.02 22:18:49 4: Calendar Kalender: Updating...
2018.08.02 22:18:49 4: Calendar Kalender: Getting data from URL <hidden>
2018.08.02 22:18:49 4: Calendar Kalender: parsing data synchronously
2018.08.02 22:18:49 2: Calendar Kalender: error (data not in ICal format; even not gzip data)
2018.08.02 22:18:49 4: Calendar Kalender: Checking times...
2018.08.02 22:18:49 4: Calendar Kalender: process ended.


Falls es weiterhilft, koennte ich auch einen Kalendar bereitstellen, auf den zugegriffen werden kann.
Titel: Antw:Erledigt : Radicale
Beitrag von: Dr. Boris Neubert am 04 August 2018, 09:44:26
Hallo,

mich interessiert, was in diesem Fall genau in $ics steht. Es werden nämlich alle bisher denkbaren Fehler bereits abgefangen.

Bitte füge vor Zeile 2547 in 57_Calendar.pm die Zeile

main::Debug ">$ics<";

ein und sende mir den Output erneut. Dort sollte dann eine Zeile DEBUG enthalten sein.

Viele Grüße
Boris
Titel: Antw:Erledigt : Radicale
Beitrag von: Wolfgang Hochweller am 04 August 2018, 12:29:04
Danke fuer die Muehe !

Ergebnis : 


2018.08.04 12:27:22 4: Calendar Kalender: Updating...
2018.08.04 12:27:22 4: Calendar Kalender: Getting data from URL <hidden>
2018.08.04 12:27:22 1: DEBUG>>Access to the requested resource forbidden.<
2018.08.04 12:27:22 4: Calendar Kalender: parsing data synchronously
2018.08.04 12:27:22 2: Calendar Kalender: error (data not in ICal format; even not gzip data)
2018.08.04 12:27:22 4: Calendar Kalender: Checking times...
2018.08.04 12:27:22 4: Calendar Kalender: process ended.
Titel: Antw:Erledigt : Radicale
Beitrag von: betateilchen am 04 August 2018, 12:32:07
hab mir grade mal so einen radicale Server aufgesetzt... ist ja ein lustiges Teil  8)

Aber ich bleibe trotzdem lieber bei meiner ownCloud.
Titel: Antw:Erledigt : Radicale
Beitrag von: betateilchen am 04 August 2018, 13:19:57
Zitat von: Dr. Boris Neubert am 04 August 2018, 09:44:26
Es werden nämlich alle bisher denkbaren Fehler bereits abgefangen.

Fast alle - bis auf die Möglichkeit, dass die HttpUtils bereits einen Fehler 401 und zusätzlich noch einen Content zurückbekommen und die Fehlermeldung offenbar nicht im Calendar-Modul ankommt.


2018.08.04 13:13:10 5: Cmd: >set ra_test reload<
2018.08.04 13:13:10 4: Calendar ra_test: Updating...
2018.08.04 13:13:10 5: HttpUtils url=<hidden>
2018.08.04 13:13:10 4: Calendar ra_test: Getting data from URL <hidden>
2018.08.04 13:13:10 5: HttpUtils request header:
GET /udo/77ea9cbf-6fe4-86d7-5936-f36e2bfb0673/ HTTP/1.0
Host: xx.xx.xx.xx:5232
User-Agent: fhem

2018.08.04 13:13:10 4: <hidden>: HTTP response code 401
2018.08.04 13:13:10 5: HttpUtils <hidden>: Got data, length: 43
2018.08.04 13:13:10 5: HttpUtils response header:
HTTP/1.0 401 Unauthorized
Date: Sat, 04 Aug 2018 11:13:09 GMT
Server: WSGIServer/0.2 CPython/3.4.2
Content-Type: text/plain; charset=utf-8
WWW-Authenticate: Basic realm="Radicale - Password Required"
Content-Length: 43
2018.08.04 13:13:10 1: DEBUG>>Access to the requested resource forbidden.<
2018.08.04 13:13:10 4: Calendar ra_test: parsing data synchronously
2018.08.04 13:13:10 2: Calendar ra_test: error (data not in ICal format; even not gzip data)
2018.08.04 13:13:10 4: Calendar ra_test: Checking times...
2018.08.04 13:13:10 4: Calendar ra_test: process ended.

Titel: Antw:Erledigt : Radicale
Beitrag von: betateilchen am 04 August 2018, 13:24:51
Im korrekten Fall sieht das Ganze so aus:


2018.08.04 13:22:35 4: Calendar ra_test: Updating...
2018.08.04 13:22:35 4: Calendar ra_test: Getting data from URL <hidden>
2018.08.04 13:22:35 1: DEBUG>>BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//PYVOBJECT//NONSGML Version 1//EN
X-WR-CALDESC;VALUE=TEXT:Kalender_1
X-WR-CALNAME;VALUE=TEXT:raCal01
END:VCALENDAR
<
2018.08.04 13:22:35 4: Calendar ra_test: parsing data synchronously
2018.08.04 13:22:35 4: Calendar ra_test: merging data
2018.08.04 13:22:35 4: Calendar ra_test: 0 records processed, 0 new, 0 known, 0 modified, 0 changed.
2018.08.04 13:22:35 4: Calendar ra_test: creating calendar events
2018.08.04 13:22:35 4: Calendar ra_test: Checking times...
2018.08.04 13:22:35 4: Calendar ra_test: process ended.


Vielleicht kann man $ics darauf regexen, dass es nur gültig ist, wenn es VCALENDER und/oder VEVENT enthält?
Titel: Antw:Erledigt : Radicale
Beitrag von: Wolfgang Hochweller am 04 August 2018, 14:40:50
Die Fehlermeldung sieht doch eindeutig aus : Zugriff nicht erlaubt.
Oder habe ich da was uebersehen ?

Was Radicale angeht,  es laeuft eben sehr stabil unter Windows.
OC habe ich schon auf meinem Linuxserver mehrfach probiert, aber nur fuer Kalender und Adressen ist es overkill ( und die Stabilitaet der Community Version ist nicht gerade ueberzeugend ), wobei es mir sehr gut gefallen hat, dass ein Klient schon eingebaut ist.
Baikal funktioniert ebenfalls unter Windows, aber nicht immer fehlerfrei.
Fuer ein Adressbuch ist es der Supergau, wenn mal ein Kontakt weg ist, mal ein Geburtstag verschwindet.
Titel: Antw:Erledigt : Radicale
Beitrag von: Dr. Boris Neubert am 04 August 2018, 18:27:19
Zitat von: betateilchen am 04 August 2018, 13:19:57
Fast alle - bis auf die Möglichkeit, dass die HttpUtils bereits einen Fehler 401 und zusätzlich noch einen Content zurückbekommen und die Fehlermeldung offenbar nicht im Calendar-Modul ankommt.

Nice.

Ich habe einen Test eingebaut, der außer 200 jeden anderen HTTP Response Code als Fehlerzustand betrachtet. Anbei eine Version zum Testen. im Fehlerfall wird der Fehler mit Level 1 protokolliert und der Header mit Level 5. Außerdem gibt es nach wie vor ein Event "error ..." auf Reading state.
Titel: Antw:Erledigt : Radicale
Beitrag von: betateilchen am 04 August 2018, 20:09:28

2018.08.04 20:07:10 1: Calendar ra_test: retrieval failed with HTTP response code 401
2018.08.04 20:07:10 1: Calendar ra_test: retrieved no or empty data


Sieht schonmal gut aus :)
Titel: Antw:Erledigt : Radicale
Beitrag von: n8ing4le am 26 Oktober 2018, 22:13:27
Gibt es in diesem Zusammenhang eigentlich die Möglichkeit, Credentials zu übergeben? Ohne Anmeldung gibts bei mir keine Kekse  ;)
Titel: Antw:Erledigt : Radicale
Beitrag von: hecky456 am 15 Januar 2019, 12:49:23
@howi42: Auch wenn der Thread schon etwas älter ist, welchen Link hast du für deinen radicale Server angegeben? Kannst du mir da etwas auf die Sprünge helfen? Finde leider keine funktionierende Config. Die Links die im Webinterface von radicale angezeigt werden weisen ja nicht direkt auf eine ics-Datei...

Vielen Dank und viele Grüße
Titel: Antw:Erledigt : Radicale
Beitrag von: fstefan1960 am 21 Januar 2019, 20:40:21
Hallo,
da hänge ich mich gerne mal an: Weiß jemand, wie man mit dem Calendar-Modul auf einen passwortgeschützten radicale-Server zugreifen kann?

Mit einem http://user:passwort@radicale-server.de/.... geht es nicht und auch nicht mit
angehängtem ?user=user&passwd=passwort

:(

Oder welchen eigen gehosteten iCal-Server könnt ihr empfehlen? Habe Owncloud 10 probeinstalliert. Da gibt es nicht mal mehr ein Kalender - Plugin, oder?
Titel: Antw:Erledigt : Radicale
Beitrag von: Wolfgang Hochweller am 15 Februar 2019, 15:01:14
Der Zugriff sieht bei mir so aus :



ical url https://user:pass@howi42.loginto.me:5232/howi/bc9e5425-ba8d-66aa-762e-cd13c150a9be/ 3600



Das entspricht dem, was Radicale als Link angibt.
Titel: Antw:Erledigt : Radicale
Beitrag von: betateilchen am 15 Februar 2019, 16:23:52
Zitat von: fstefan1960 am 21 Januar 2019, 20:40:21
Habe Owncloud 10 probeinstalliert. Da gibt es nicht mal mehr ein Kalender - Plugin, oder?

Natürlich gibt es das. Du musst den Kalender nur als Admin aus dem "Market" hinzufügen. Danach ist die Funktionalität für alle User verfügbar.