NextCloud Kalender einbinden

Hi, bisher läuft bei meine HA Installation alles rund nur den Kalender bekomme ich irgendwie nicht hin.

Soll per CalDAV (https://www.home-assistant.io/integrations/caldav/) ein NextCloud Kaledner werden.

der Home Assistent sollte sie sich dann ja eigentlich die Kalender ziehen. Ein Leerer kalender wird auch erstellt. Leider bleibt dieser dann aber auch leer.

Kennt dieses Problem jemand. Ach ja zu Thunderbird klappt es ohne Probleme, daher sollten Zugangsdaten und Kalender passen.

Danke im Vorraus

Hattest du das Beispiel für Nextcloud in der Doku gesehen? Das Handling scheint da über eine PHP-Datei zu funktionieren (nur um sicherzugehen, hattest du bestimmt schon gesehen)

# Example configuration.yaml entry for nextcloud, calendars will be found automatically
calendar:
  - platform: caldav
    username: john.doe
    password: !secret caldav
    url: https://nextcloud.example.com/remote.php/dav

@simon42 Ja genau an das Beispiel gehalten URL des Kalenders auch genau so übernommen. (also mit meiner URL ) Diese Funktioniert auch in Thunderbird. nur halt leider werden keine Einträge übernommen. Gibt auch schon einen Eintrag Homeassitant Forum einige gehen dann zum Google Kalender über.

'n Abend,

ich hab mittlerweile die Caldav-, aber ebenso die HACS - ics_calendar -Integration ausprobiert. Leider bekomme ich bei keiner der beiden einen meiner Nextcloud-Kalender angezeigt.

Im Logfile wird mir jedesmal der Fehler angezeigt"

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:997)

"

Mit anderen Anwendugen (FHEM, DAVX, Outlook) komme ich problemlos auf den Nextcloud-Kalender.

Könntest du das bitte einmal in einem Video beschreiben? Oder hier im Forum ein paar Tips geben was alles konfiguriert werdne muß um den SSL-Fehler zu lösen.

Danke

Adrian

@adrian

Hi.

Also bei funktioniert die Einbindung der Nextcloud Kalender ohne Probleme. Wie hast du sie integriert?

Ich hab in der configuration.yaml folgenden Eintrag:

  # nextcloud calendar, calendars will be found automatically
calendar:
  - platform: caldav
    username: dein user name
    password: dein password
    url: https://***/remote.php/dav

@n3ro815

in meiner configuration.yaml habe ich folgend den Kalender definiert, wie in der Doku beschrieben. Wurde von Dir noch etwas anderes gemacht, ausser die Codezeilen einzufügen?

Logger: homeassistant.components.calendar
Source: components/caldav/calendar.py:87
Integration: Calendar (documentation, issues)
First occurred: 22:28:30 (1 occurrences)
Last logged: 22:28:30

Error while setting up caldav platform for calendar
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 386, in _make_request
    self._validate_conn(conn)
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 1042, in _validate_conn
    conn.connect()
  File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 414, in connect
    self.sock = ssl_wrap_socket(
  File "/usr/local/lib/python3.10/site-packages/urllib3/util/ssl_.py", line 453, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls)
  File "/usr/local/lib/python3.10/site-packages/urllib3/util/ssl_.py", line 495, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock)
  File "/usr/local/lib/python3.10/ssl.py", line 513, in wrap_socket
    return self.sslsocket_class._create(
  File "/usr/local/lib/python3.10/ssl.py", line 1071, in _create
    self.do_handshake()
  File "/usr/local/lib/python3.10/ssl.py", line 1342, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:997)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 489, in send
    resp = conn.urlopen(
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    retries = retries.increment(
  File "/usr/local/lib/python3.10/site-packages/urllib3/util/retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='192.168.178.212', port=443): Max retries exceeded with url: /remote.php/dav (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:997)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/caldav/davclient.py", line 583, in request
    r = self.session.request(
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 563, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='192.168.178.212', port=443): Max retries exceeded with url: /remote.php/dav (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:997)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 386, in _make_request
    self._validate_conn(conn)
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 1042, in _validate_conn
    conn.connect()
  File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 414, in connect
    self.sock = ssl_wrap_socket(
  File "/usr/local/lib/python3.10/site-packages/urllib3/util/ssl_.py", line 453, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls)
  File "/usr/local/lib/python3.10/site-packages/urllib3/util/ssl_.py", line 495, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock)
  File "/usr/local/lib/python3.10/ssl.py", line 513, in wrap_socket
    return self.sslsocket_class._create(
  File "/usr/local/lib/python3.10/ssl.py", line 1071, in _create
    self.do_handshake()
  File "/usr/local/lib/python3.10/ssl.py", line 1342, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:997)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 489, in send
    resp = conn.urlopen(
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    retries = retries.increment(
  File "/usr/local/lib/python3.10/site-packages/urllib3/util/retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='192.168.178.212', port=443): Max retries exceeded with url: /remote.php/dav (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:997)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 293, in _async_setup_platform
    await asyncio.shield(task)
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/caldav/calendar.py", line 87, in setup_platform
    calendars = client.principal().calendars()
  File "/usr/local/lib/python3.10/site-packages/caldav/davclient.py", line 412, in principal
    self._principal = Principal(client=self, *largs, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/caldav/objects.py", line 478, in __init__
    cup = self.get_property(dav.CurrentUserPrincipal())
  File "/usr/local/lib/python3.10/site-packages/caldav/objects.py", line 210, in get_property
    foo = self.get_properties([prop], **passthrough)
  File "/usr/local/lib/python3.10/site-packages/caldav/objects.py", line 235, in get_properties
    response = self._query_properties(props, depth)
  File "/usr/local/lib/python3.10/site-packages/caldav/objects.py", line 171, in _query_properties
    return self._query(root, depth)
  File "/usr/local/lib/python3.10/site-packages/caldav/objects.py", line 196, in _query
    ret = getattr(self.client, query_method)(url, body, depth)
  File "/usr/local/lib/python3.10/site-packages/caldav/davclient.py", line 460, in propfind
    return self.request(url or self.url, "PROPFIND", props, {"Depth": str(depth)})
  File "/usr/local/lib/python3.10/site-packages/caldav/davclient.py", line 603, in request
    r = self.session.request(
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 563, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='192.168.178.212', port=443): Max retries exceeded with url: /remote.php/dav (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:997)')))

Danke schon mal vorab

/adrian

@adrian

Nein, ich habe auch nichts weiter gemacht. Der einzige Unterschied ist, dass ich die externe url von meiner nextcloud nutze.

Evtl musst du bei Nutzung der internen url noch den Port dazu mit angeben. In deinem log steht, dass HA auf den standard ssl port 443 zugreifen will. Bei meiner Nextcloud konfi ist das aber zb port 444.

@n3ro815

der Port 443 ist bei mir der richtige, aber ob ich den mit angebe oder nicht, die Fehlermeldung bleibt die gleiche. Kann ich denn die Zertifikatprüfung nicht einfach ausschalten? Der Kalender wird eh nur intern benutzt, kein externer Zugriff möglich.

Unter https://www.home-assistant.io/integrations/caldav/ steht unter Vorraussetzungen:

... any integration complying with the RFC4791 should work.

Was genau soll denn RFC4791 bedeuten?

Anschließend steht noch, dass mittels sudo apt get install libraries installiert werden sollen. Wenn ich mir das RaspberryPi Image von der Homeassistant Seite runtergeladen habe betrifft mich das nicht, richtig?

Kann ich anders prüfen ob alle "Systemvoraussetzungen" für CALDAV erfüllt sind, sprich Bibliotheken installiert und up to date sind?

Gruß

Adrian

Also ist deine NC nicht von extern erreichbar? Sonst hätte ich gesagt, probier es mal über die externe url, ob da der Fehler genauso ist.

Meine NC läuft auf einem Unraid Server und wie gesagt, ich habe es so eingebunden, wie in der Doku beschrieben und keine Probleme.

Ich denke mal, da wirst du im offiziellen Home Assistant Forum mal um Hilfe bitten müssen.

Hallo.
Konntest du dein Problem lösen ?

Ich hätte noch den Tip bei Dir mit dem selbstsignierten https Zertifikat die Prüfung anzuschalten.
Das sollte mit dem Parameter ‘verify_ssl’ gehen, also mit

verify_ssl: false

gehen.

Grüsse,
Mooni123

Hallo zusammen,
meine drei Nextcloud Kalender werden mir nun angezeigt, aber über die “Zustände” in den “Entwicklerwerkzeugen” werden mir keine Attribute von Kalenderereignissen angezeigt.

Hat jemand eine Idee? Kann man die Attribute erzwingen?
Danke und Gruß