CALDAV-Binding für Müllkalender

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Hoggle
Beiträge: 213
Registriert: 16. Dez 2017 10:49

Re: CALDAV-Binding für Müllkalender

Beitrag von Hoggle »

Hallo.
Noch einmal eine "kleine" Verständnis-frage zu der folgenden Rule. Ist das so, wie ich es geschrieben habe, richtig (alles in einzelne if-Abfragen setzen, oder sollte/müsste ich das mit else if machen).
Wie ist es programmtechnisch besser?

Code: Alles auswählen

rule "Telegramm verschicken für Müll"

when
    Item grau_muell changed to ON or
    Item gelb_muell changed to ON or
    Item gruen_muell changed to ON or
    Item blau_muell changed to ON
then
    if (grau_muell.state == ON && gelb_muell == OFF && gruen_muell == OFF && blau_muell == OFF) //Rest
        {
		    sendTelegram("holger", "Restmülltonne für Morgen raus stellen")
        }

    if (grau_muell.state == ON && gelb_muell == ON && gruen_muell == OFF && blau_muell == OFF) //Rest & Gelb
        {
		    sendTelegram("holger", "Restmülltonne und gelbe Säcke für Morgen raus stellen")
        }

    if (grau_muell.state == ON && gelb_muell == ON && gruen_muell == ON && blau_muell == OFF) //Rest & Gelb & Grün
        {
		    sendTelegram("holger", "Restmüll-, Komposttonne und gelbe Säcke für Morgen raus stellen")
        }

    if (grau_muell.state == ON && gelb_muell == ON && gruen_muell == ON && blau_muell == ON) //Rest & Gelb & Grün & Blau
        {
		    sendTelegram("holger", "Restmüll-, Grüne, Blaue Tonne und glebe Säcke für Morgen raus stellen")
        }

    if (grau_muell.state == ON && gelb_muell == OFF && gruen_muell == ON && blau_muell == OFF) //Rest & Grün
        {
		    sendTelegram("holger", "Restmüll- und Blaue Tonne für Morgen raus stellen")
        }

    if (grau_muell.state == ON && gelb_muell == OFF && gruen_muell == ON && blau_muell == ON) //Rest & Grün & Blau
        {
		    sendTelegram("holger", "Restmüll-, Grüne und Blaue Tonne für Morgen raus stellen")
        }

    if (grau_muell.state == ON && gelb_muell == OFF && gruen_muell == OFF && blau_muell == ON) //Rest & Blau
        {
		    sendTelegram("holger", "Restmüll- und Blaue Tonne für Morgen raus stellen")
        }

    if (grau_muell.state == OFF && gelb_muell == ON && gruen_muell == OFF && blau_muell == OFF) //Gelb
        {
		    sendTelegram("holger", "Gelbe Säcke für Morgen raus stellen")
        }

    if (grau_muell.state == OFF && gelb_muell == ON && gruen_muell == ON && blau_muell == OFF) //Gelb & Grün
        {
		    sendTelegram("holger", "Gelbe Säcke und Komposttonne für Morgen raus stellen")
        }

    if (grau_muell.state == OFF && gelb_muell == ON && gruen_muell == ON && blau_muell == ON) //Gelb & Grün & Blau
        {
		    sendTelegram("holger", "Gelbe Säcke, Kompost- und Blaue Tonne für Morgen raus stellen")
        }

    if (grau_muell.state == OFF && gelb_muell == ON && gruen_muell == OFF && blau_muell == ON) //Gelb & Blau
        {
		    sendTelegram("holger", "Gelbe Säcke und Blaue Tonne für Morgen raus stellen")
        }

    if (grau_muell.state == OFF && gelb_muell == OFF && gruen_muell == ON && blau_muell == OFF) //grün
        {
		    sendTelegram("holger", "Komposttonne für Morgen raus stellen")
        }

   if (grau_muell.state == OFF && gelb_muell == OFF && gruen_muell == ON && blau_muell == ON) // Grün & Blau
        {
		    sendTelegram("holger", "Kompost- und Blaue Tonne für Morgen raus stellen")
        }
   if (grau_muell.state == OFF && gelb_muell == OFF && gruen_muell == OFF && blau_muell == ON) //Blau
        {
		    sendTelegram("holger", "Blaue Tonne für Morgen raus stellen")
        }
    if (muellabfuhr == ON)
        {
            muellabfuhr.sendCommand(ON)
        }
end
Und jetzt fällt mir noch etwas auf:
In meinem Google-Kalender habe ich ja jetzt die einzelnen Abfuhrtermine (Natürlich einen Tag vor dem eigentlichen Termin) eingepflegt, allerdings als Einzeltermin, also 1 x Gelber Sack, 1x Blaue Tonne und 1 x Komposttonne. Dementsprechend habe ich dann 3 Termine, die alle zur gleichen Zeit auslösen, aber wie wir ja alle wissen, nicht exakt Zeitgenau vom Binding entgegen genommen werden.
Jetzt bekomme ich ja 3 Telegramme.
1.

Code: Alles auswählen

if (grau_muell.state == OFF && gelb_muell == ON && gruen_muell == OFF && blau_muell == OFF) //Gelb
        {
		    sendTelegram("holger", "Gelbe Säcke für Morgen raus stellen")
        }
2.

Code: Alles auswählen

if (grau_muell.state == OFF && gelb_muell == ON && gruen_muell == OFF && blau_muell == ON) //Gelb & Blau
        {
		    sendTelegram("holger", "Gelbe Säcke und Blaue Tonne für Morgen raus stellen")
        }
3.

Code: Alles auswählen

if (grau_muell.state == OFF && gelb_muell == ON && gruen_muell == ON && blau_muell == ON) //Gelb & Grün & Blau
        {
		    sendTelegram("holger", "Gelbe Säcke, Kompost- und Blaue Tonne für Morgen raus stellen")
        }
Wie kann ich denn das verhindern?
Muell 17 September.jpg
Die einfachste Lösung wird sein, Je Tonne/Sack ein Telegram zu bekommen, also maximal 3.
Also
1 x "Gelbe Säcke für morgen raus stellen"
1 x "Blaue Tonne für morgen raus stellen"
1 x "Komposttonne für morgen raus stellen".

Hat jemand eine bessere Idee?
Edit: Vielleicht einen "Cron" statt "or" oben im "when" Abschnitt? Vielleicht jeden Tag um 11.00 Uhr?
Stehe im Moment auf der Leitung.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
RPI4/8GB RAM mit openhabian (bullseye) - Kernel Linux 6.1.21-v8+ - openhab 4.0.2 - Release Build - HM-CCU3 - ZWave UZB-USB Stick - Wifi-LED-Stripes - Logitech Harmony Hub - AVM Fritzbox - Enigma2-Box - Gardena HUB - Fronius-Binding - Miele@Home

Stefan Otten
Beiträge: 73
Registriert: 11. Nov 2018 06:51

Re: CALDAV-Binding für Müllkalender

Beitrag von Stefan Otten »

Hallo,
nicht falsch verstehen, als Projekt und erste Kontaktaufnahme zu Openhab ist Dein Projekt ja sicherlich gut geeignet,
Aber den ganzen Aufwand zu betreiben um eine Nachricht zu bekommen, das der Müll abgeholt wird?

Warum lässt Du dir nicht eine Terminerinnerung des Kalenders auf dem Handy anzeigen?
Das wäre viel einfacher und sicherlich auch zuverlässiger.

Grüße
Stefan

Hoggle
Beiträge: 213
Registriert: 16. Dez 2017 10:49

Re: CALDAV-Binding für Müllkalender

Beitrag von Hoggle »

Hihi. Ich weiß was du meinst und ich verstehe das nicht falsch ;)

Auf meinem Handy ist der Kalender ja hinterlegt und da eine Erinnerung zu machen wäre einfach, besonders da ich ja eh jedes Jahr die Termine anpassen muß. ABER das würde doch keinen Spass machen.
Wieso lässt man sich anzeigen wann es regnet, oder lässt sich benachrichtigen, wenn der Mähroboter seinen Arbeitstag beginnt oder beendet.
Ich glaube auch, das Openhab zum Teil ein "Zeitfresser" ist, aber das mit dem Telegramm verschicken ist ja nur als Beispiel zu nehmen. Sicherlich gibt es doch Projekte, wo Abhängigkeiten von mehreren Items verglichen werden müssen. Mich interessiert doch am meisten, wie solche "if" Abfragen vernünftig "organisiert" werden sollten.
Ich hoffe auf spannende Ideen. Macht es vielleicht Sinn, mit dummy-Items zu arbeiten?
Bei 4 abhängigen Items gibt es ja schon 14 verschiedene Zustände. Wenn ich jetzt noch mehr hätte, würde es irgendwann total unübersichtlich. Vielleicht gibt es aber eine andere, für mich aber unbekannte Lösung, die mir jemand zeigen kann.
Wie gesagt, ein bisschen Spass am probieren ist da bei mir auch dabei, auch wenn das mit dem verschicken von Telegramm wg. Müll nicht unbedingt die Kernaufgabe von OH ist. Das mir die Abfuhrtermine im Basic-UI angezeigt werden, war für mich ja die Hauptaufgabe und die habe ich dank der Hilfe hier im Forum gelöst bekommen :)
Jetzt sieht jedes Hausmitglied beim verlassen des Hauses, wenn am nächsten Tag Müllabfuhr ist und da freut sich sogar meine Frau :P
RPI4/8GB RAM mit openhabian (bullseye) - Kernel Linux 6.1.21-v8+ - openhab 4.0.2 - Release Build - HM-CCU3 - ZWave UZB-USB Stick - Wifi-LED-Stripes - Logitech Harmony Hub - AVM Fritzbox - Enigma2-Box - Gardena HUB - Fronius-Binding - Miele@Home

Stefan Otten
Beiträge: 73
Registriert: 11. Nov 2018 06:51

Re: CALDAV-Binding für Müllkalender

Beitrag von Stefan Otten »

Hehe,
alles gut. Verstehe sehr gut was Du meinst ;-)

Also ich hätte eine Idee, die ich auch irgendwann umsetze.
Ich werde mir eine Anzeigetafel für den Flur/Haustüre bauen.

Eine einfache Statusanzeige mit LED's die über einen Raspi angesteuert werden.
Also z.B. Beispiel Müll wird abgeholt, Status LED leuchtet.
Pool Heizung läuft, LED leuchtet.
Licht ist noch an im Haus, LED leuchtet
etc. etc.

Ungefähr so etwas, nur aus Holz, einem Raspi und LED's mit entsprechender Beschriftung:
https://www.reichelt.de/funk-statusanze ... D_BwE&&r=1

Grüße
Stefan

Hoggle
Beiträge: 213
Registriert: 16. Dez 2017 10:49

Re: CALDAV-Binding für Müllkalender

Beitrag von Hoggle »

Hallo in die Runde.
Jetzt hat mein Müllkalender für gut ein halbes Jahr funktioniert, ABER jetzt musste ich wegen eines blöden Fehlers (Habe versenhentlich den Netzstecker vom Raspberry gezogen und die SD-Karte geschrottet :oops: ) mein System neu aufsetzen.
Hat alles auch super funktioniert, nur mein Müllkalender will nicht mehr.

Hier noch einmal meine caldavio.cfg:

Code: Alles auswählen

# Charset which should be used for reading an event.
caldavio:Muellkalender:charset=UTF8
caldavio:Muellkalender:url=https://calendar.google.com/calendar/ical/rrjXXXXXXXXXXXXXXXXXXXXXXX%40group.calendar.google.com/public/basic.ics
#caldavio:Muellkalender:url=https://calendar.google.com/calendar/ical/qpdXXXXXXXXXXXXXXXXXXXXXXX%40group.calendar.google.com/public/basic.ics
caldavio:Muellkalender:username=XXXXX.XXXXXXX
caldavio:Muellkalender:password=xxxxxxxxxxxxxxxx
#60 Minuten * 24 = 1 Tag = 1440 Minuten
caldavio:Muellkalender:reloadInterval=1400
caldavio:Muellkalender:preloadTime=200000
caldavio:Muellkalender:disableCertificateVerification=true
Die caldavPersonal.cfg:

Code: Alles auswählen

caldavPersonal:usedCalendars=Muellkalender
Meine Items:

Code: Alles auswählen

   Switch   grau_muell               "Restmüll"        <abholung_graue_tonne>                          {expire="24h,command=OFF"}
    Switch   gruen_muell              "Komposttonne"    <abholung_gruene_tonne>                         {expire="24h,command=OFF"}
    Switch   gelb_muell               "Gelber Sack"     <abholung_gelber_sack>                          {expire="24h,command=OFF"}
    Switch   blau_muell               "Blaue Tonne"     <abholung_blaue_tonne>                          {expire="24h,command=OFF"}
    Switch   muellabfuhr              "Ist morgen Abholung?"                                            {expire="18h,command=OFF"}
 
und meine Sitemap:

Code: Alles auswählen

Frame label="Müllabfuhr"{
        Text item=grau_muell label="Restmüll" /*mappings=[ON="rausstellen"]*/ labelcolor=[ON="silver"] visibility=[grau_muell==ON]
        Text item=gelb_muell label="Gelber Sack" /*mappings=[ON="rausstellen"]*/ labelcolor=[ON="yellow"] visibility=[gelb_muell==ON]
        Text item=gruen_muell label="Komposttonne" /*mappings=[ON="rausstellen"]*/ labelcolor=[ON="green"] visibility=[gruen_muell==ON]
        Text item=blau_muell label="Papiertonne" /*mappings=[ON="rausstellen"]*/ labelcolor=[ON="blue"] visibility=[blau_muell==ON]
      } 
Die gcal.cfg:

Code: Alles auswählen

client_id=436000000000-xxxxx4xxxxxxx5lc2e5xxxxxxx7e8xxx.apps.googleusercontent.com

# Copied from the "Client secret" field on the Credentials page (required)
#client_secret=_2X0iq-FcUc5oq01FT1ILuim
client_secret=q5xxxxxxxLK1xxxxxy5uFEyY

# This is the name you gave to your Google Calendar, or the word 'primary' if you
# want to use your default Google calendar.  GCal will download calendar events 
# from this calendar (required)
calendar_name=Muellkalender
Im Logviewer kommt jetzt alle 60 Sekunden diese Warnung:

Code: Alles auswählen

2020-01-02 18:24:51.124 [WARN ] [caldav.internal.job.EventReloaderJob] - Sardine error while loading calendar entries: Unexpected response (405 - Method Not Allowed)

com.github.sardine.impl.SardineException: Unexpected response

	at com.github.sardine.impl.handler.ValidatingResponseHandler.validateResponse(ValidatingResponseHandler.java:48) ~[sardine-5.6.jar:5.6]

	at com.github.sardine.impl.handler.MultiStatusResponseHandler.handleResponse(MultiStatusResponseHandler.java:40) ~[sardine-5.6.jar:5.6]

	at com.github.sardine.impl.handler.MultiStatusResponseHandler.handleResponse(MultiStatusResponseHandler.java:35) ~[sardine-5.6.jar:5.6]

	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:222) ~[httpclient-4.4.1.jar:4.4.1]

	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:164) ~[httpclient-4.4.1.jar:4.4.1]

	at com.github.sardine.impl.SardineImpl.execute(SardineImpl.java:962) ~[sardine-5.6.jar:5.6]

	at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:417) ~[sardine-5.6.jar:5.6]

	at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:409) ~[sardine-5.6.jar:5.6]

	at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:386) ~[sardine-5.6.jar:5.6]

	at org.openhab.io.caldav.internal.job.EventReloaderJob.loadEvents(EventReloaderJob.java:250) ~[bundleFile:?]

	at org.openhab.io.caldav.internal.job.EventReloaderJob.execute(EventReloaderJob.java:141) [bundleFile:?]

	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [bundleFile:?]

	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [bundleFile:?]

Was habe ich getan, bzw. was muß ich tun?
RPI4/8GB RAM mit openhabian (bullseye) - Kernel Linux 6.1.21-v8+ - openhab 4.0.2 - Release Build - HM-CCU3 - ZWave UZB-USB Stick - Wifi-LED-Stripes - Logitech Harmony Hub - AVM Fritzbox - Enigma2-Box - Gardena HUB - Fronius-Binding - Miele@Home

DarkOfSoul
Beiträge: 28
Registriert: 11. Jul 2019 17:40

Re: CALDAV-Binding für Müllkalender

Beitrag von DarkOfSoul »

Moin Moin Zusammen,

ich möchte mir auch einen Müllkalender erstellen und habe da ein paar Verständnisfragen:
gCal habe ich Installiert und bereits mit Google-Api verbunden scheint zu funktionieren.

Mir scheint nach den letzten Post von Hoggle das auch Caldav weiterhin benötigt wird, ist es so richtig?
Was mich allerdingst stört an dieser geschichte ist das ich alle inportierten Termine für den Müllkalender noch anpassen muss. Gibt es hier keine einfachere Möglichkeit? Weil das anpassen der Termine ja schon Zeit in Anspruch nimmt. Diese müsste ich dann ja jedes Jahr aufs neue einstellen, da stellt sich mir die Frage wo dann noch der nutzen für so ein Kalender ist.

Vielleicht ist es eine Möglichkeit das man sich die Termine als immer wiederkehrende Termine alle 14 Tage einspielt und dann nur noch die Termine Ändern muss an dehnen es Verschiebungen gibt. Das muss ich mir noch mal austüfteln.

Vielen Dank!

Benutzeravatar
udo1toni
Beiträge: 13858
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: CALDAV-Binding für Müllkalender

Beitrag von udo1toni »

gCal und Caldav sind zwei voneinander unabhängige Addons. gCal kann ausschließlich auf den Google Kalender zugreifen. Es kann nur dazu genutzt werden, zu bestimmten Zeitpunkten (Beginn/Ende eines Termins im verlinkten Kalender) den Zustand eines oder mehrerer Items zu ändern bzw. Befehle an Items zu schicken, also z.B. zu Beginn des Termins die Rollläden schließen, zum Ende die Rollläden öffnen.

Caldav kann grundsätzlich mit jedem Kalender arbeiten, der das iCal (bzw. caldav) Format verwendet. Das Addon kann dabei den Betreff eines Termins anzeigen und auch Einträge, die erst noch kommen anzeigen. Befehle kann man auch senden, allerdings ist das anders zu konfigurieren.

Für einen Müllkalender ist das caldav Addon deshalb sicher die bessere Wahl, es geht ja um kommende Termine, nicht um einen Termin, der "jetzt" beginnt oder endet.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

DarkOfSoul
Beiträge: 28
Registriert: 11. Jul 2019 17:40

Re: CALDAV-Binding für Müllkalender

Beitrag von DarkOfSoul »

Vielen Dank für deine Antwort, denn habe ich es doch richtig vertanden.
Leider bekomme ich den Caldav nicht zum Laufen. Egal wo ich mich da belese es hat noch kein Tip geholfen. Irgendwas übersehe ich hier.

Folgender Code wird in die Log geschrieben:

Code: Alles auswählen

2020-04-23 11:04:39.931 [WARN ] [caldav.internal.job.EventReloaderJob] - Sardine error while loading calendar entries: Unexpected response (401 - Unauthorized)
com.github.sardine.impl.SardineException: Unexpected response
	at com.github.sardine.impl.handler.ValidatingResponseHandler.validateResponse(ValidatingResponseHandler.java:48) ~[sardine-5.6.jar:5.6]
	at com.github.sardine.impl.handler.MultiStatusResponseHandler.handleResponse(MultiStatusResponseHandler.java:40) ~[sardine-5.6.jar:5.6]
	at com.github.sardine.impl.handler.MultiStatusResponseHandler.handleResponse(MultiStatusResponseHandler.java:35) ~[sardine-5.6.jar:5.6]
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:222) ~[httpclient-4.4.1.jar:4.4.1]
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:164) ~[httpclient-4.4.1.jar:4.4.1]
	at com.github.sardine.impl.SardineImpl.execute(SardineImpl.java:962) ~[sardine-5.6.jar:5.6]
	at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:417) ~[sardine-5.6.jar:5.6]
	at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:409) ~[sardine-5.6.jar:5.6]
	at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:386) ~[sardine-5.6.jar:5.6]
	at org.openhab.io.caldav.internal.job.EventReloaderJob.loadEvents(EventReloaderJob.java:250) ~[bundleFile:?]
	at org.openhab.io.caldav.internal.job.EventReloaderJob.execute(EventReloaderJob.java:141) [bundleFile:?]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [bundleFile:?]
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [bundleFile:?]
Mein Kalender heist Muell und die Konfig für Caldav sieht so aus:
Caldavio.cfg

Code: Alles auswählen

caldavio:Muell:charset=utf8
caldavio:Muell:url=https://www.google.com/calendar/dav/fusk24qvkiqgaab61obc90f0s8@group.calendar.google.com/events
caldavio:Muell:username=<b.########>
caldavio:Muell:password=<h########uytjyng>
caldavio:Muell:reloadInterval=1
caldavio:Muell:preloadTime=20000
caldavio:Muell:disableCertificateVerification=true
caldavPersonal.cfg

Code: Alles auswählen

caldavPersonal:usedCalendars=caldavio:Muell
Ich glaube aber das ich einen Fehler bei den Google App Passwörter gemacht habe. Openhab soll da noch nicht drauf zugegriffen haben.

Benutzeravatar
udo1toni
Beiträge: 13858
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: CALDAV-Binding für Müllkalender

Beitrag von udo1toni »

Eine Sache fällt mir sofort auf (wobei ich vielleicht zunächst erwähnen sollte,dass ich caldav nicht selbst nutze):

Die erste Datei muss caldavio.cfg heißen, nicht Caldavio.cfg. Vielleicht ist das aber nur hier im Forum falsch...

Ansonsten möchte ich empfehlen, so weit wie möglich mit konservativen Einstellungen zu beginnen. Das heißt z.B., nicht mit einem reloadInterval von 1. Auch die preloadTime erscheint mir für erste Tests etwas hoch, das sind immerhin fast 14 Tage. 7200 (5 Tage) wäre eher ein Wert zum Testen.
Die spitzen Klammern < und > hast Du hoffentlich bei User und Passwort nicht mit dabei stehen, die gehören nicht dazu.

Ich möchte auch empfehlen, die ID (zunächst) nur mit Kleinbuchstaben zu schreiben, also muell und nicht Muell
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

DarkOfSoul
Beiträge: 28
Registriert: 11. Jul 2019 17:40

Re: CALDAV-Binding für Müllkalender

Beitrag von DarkOfSoul »

Moin Moin,

Die Datei caldavio war bei mir richtig, da habe ich mich hier verschrieben. Schande über meinen Haupt die spitzen Klammern waren Schuld. Nun sieht das ganze in der log wie folgt aus.

Code: Alles auswählen

2020-04-24 14:12:15.957 [WARN ] [caldav.internal.job.EventReloaderJob] - Sardine exception reading ics file: 20200418T181549CEST-6110UGCK4W_abfall_steinburg_de
com.github.sardine.impl.SardineException: Unexpected response
	at com.github.sardine.impl.handler.ValidatingResponseHandler.validateResponse(ValidatingResponseHandler.java:48) ~[sardine-5.6.jar:5.6]
	at com.github.sardine.impl.handler.VoidResponseHandler.handleResponse(VoidResponseHandler.java:34) ~[sardine-5.6.jar:5.6]
	at com.github.sardine.impl.SardineImpl.get(SardineImpl.java:756) ~[sardine-5.6.jar:5.6]
	at com.github.sardine.impl.SardineImpl.get(SardineImpl.java:741) ~[sardine-5.6.jar:5.6]
	at com.github.sardine.impl.SardineImpl.get(SardineImpl.java:732) ~[sardine-5.6.jar:5.6]
	at com.github.sardine.impl.SardineImpl.get(SardineImpl.java:145) ~[sardine-5.6.jar:5.6]
	at org.openhab.io.caldav.internal.job.EventReloaderJob.loadEvents(EventReloaderJob.java:323) [bundleFile:?]
	at org.openhab.io.caldav.internal.job.EventReloaderJob.execute(EventReloaderJob.java:141) [bundleFile:?]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [bundleFile:?]
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [bundleFile:?]
Das macht er scheinbar für jeden Termin den er so findet.

Antworten