[SOLVED] CalDav Binding - Unexpected response (403 - Forbidden)

Hi all,

I am struggling witht the configuration if the caldav bindings to integrate my Google Calendar. I alread read all manuals and threads but was not able to make the calendar integration work.

I installed the bindings, configured the .cfg files, items, things and sitemap.

The openhab.log is showing following error:

Preformatted text2019-11-20 21:44:08.186 [WARN ] [caldav.internal.job.EventReloaderJob] - Sardine error while loading calendar entries: Unexpected response (403 - Forbidden)
com.github.sardine.impl.SardineException: Unexpected response
at com.github.sardine.impl.handler.ValidatingResponseHandler.validateResponse(ValidatingResponseHandler.java:48) ~[260:org.openhab.io.caldav:1.13.0]
at com.github.sardine.impl.handler.MultiStatusResponseHandler.handleResponse(MultiStatusResponseHandler.java:40) ~[260:org.openhab.io.caldav:1.13.0]
at com.github.sardine.impl.handler.MultiStatusResponseHandler.handleResponse(MultiStatusResponseHandler.java:35) ~[260:org.openhab.io.caldav:1.13.0]
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:218) ~[260:org.openhab.io.caldav:1.13.0]
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:160) ~[260:org.openhab.io.caldav:1.13.0]
at com.github.sardine.impl.SardineImpl.execute(SardineImpl.java:962) ~[260:org.openhab.io.caldav:1.13.0]
at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:417) ~[260:org.openhab.io.caldav:1.13.0]
at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:409) ~[260:org.openhab.io.caldav:1.13.0]
at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:386) ~[260:org.openhab.io.caldav:1.13.0]
at org.openhab.io.caldav.internal.job.EventReloaderJob.loadEvents(EventReloaderJob.java:246) ~[260:org.openhab.io.caldav:1.13.0]
at org.openhab.io.caldav.internal.job.EventReloaderJob.execute(EventReloaderJob.java:137) [260:org.openhab.io.caldav:1.13.0]
at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [107:org.eclipse.smarthome.core.scheduler:0.10.0.oh240]

Do you might have an idea what could be wrong? I already allowed “less secure apps” in my Google Settings. If I enter the URL of the caldavio.cfg directly in the browser, I can download the file with my credetials.

Could you share your setup, please?

Sure, please find the setup in the following:

caldavPersonal.cfg
caldavPersonal:usedCalendars=mehl

caldavio.cfg

caldavio:mehl:url=http://www.google.com/calendar/dav/...@group.calendar.google.com/events
caldavio:mehl:username=... 
caldavio:mehl:password=... 
caldavio:mehl:reloadInterval=60 
caldavio:mehl:preloadTime=20000 
caldavio:mehl:timeZone=Europe/Berlin 
caldavio:mehl:charset=UTF-8 
caldavio:mehl:LastModifiedFileTimeStampValid=false

kalender.items

String CalDav_Termine	"Termin jetzt [%s]"		<calendar>	{ caldavPersonal="calendar:mehl type:ACTIVE eventNr:1 value:NAME" } 
DateTime CalDav_Date	"Beginn [%1$tT, %1$td.%1$tm.%1$tY]"			<calendar>	{ caldavPersonal="calendar:mehl type:ACTIVE eventNr:1 value:START" } 
String CalDav_Termine1	"nächster Termin [%s]"	<calendar>	{ caldavPersonal="calendar:mehl type:UPCOMING eventNr:2 value:NAME" }
DateTime CalDav_Date1	"Beginn [%1$tT, %1$td.%1$tm.%1$tY]"			<calendar>	{ caldavPersonal="calendar:mehl type:UPCOMING eventNr:2 value:START" }
String CalDav_Termine2	"übernächster Termin [%s]" <calendar> { caldavPersonal="calendar:mehl type:UPCOMING eventNr:3 value:NAME" }
DateTime CalDav_Date2	"Beginn [%1$tT, %1$td.%1$tm.%1$tY]" 			<calendar> { caldavPersonal="calendar:mehl type:UPCOMING eventNr:3 value:START" }
String CalDav_Termine3	"übernächster Termin [%s]" <calendar> { caldavPersonal="calendar:mehl type:UPCOMING eventNr:4 value:NAME" }
DateTime CalDav_Date3	"Beginn [%1$tT, %1$td.%1$tm.%1$tY]" 			<calendar> { caldavPersonal="calendar:mehl type:UPCOMING eventNr:4 value:START" }
String CalDav_Termine4	"übernächster Termin [%s]" <calendar> { caldavPersonal="calendar:mehl type:UPCOMING eventNr:5 value:NAME" }
DateTime CalDav_Date4	"Beginn [%1$tT, %1$td.%1$tm.%1$tY]" 			<calendar> { caldavPersonal="calendar:mehl type:UPCOMING eventNr:5 value:START" }

zuhause.sitemap

sitemap zuhause label="zuhause" {
  
  
    Frame label="Wetter" {
        Text item=Weather_OWM_Temperature
        Text item=Weather_OWM_Humidity
        Text item=Weather_OWM_Wind_Speed
        Text item=Weather_OWM_Condition
    }

    Frame label="Termine" {
        Text item=CalDav_Termine label="nächster Termin"
        Text item=CalDav_Date
        Text item=CalDav_Termine1 label="Termin 2"
        Text item=CalDav_Date1
        Text item=CalDav_Termine2 label="Termin 3"
        Text item=CalDav_Date2
        Text item=CalDav_Termine3 label="Termin 4"
        Text item=CalDav_Date3
        Text item=CalDav_Termine4 label="Termin 5"
        Text item=CalDav_Date4
    }

    Frame label="Unwetterwarnung" {
        Text item=WarningKaliTitel visibility=[WarningKali==ON]
        Text item=WarningKaliBeschreibung visibility=[WarningKali==ON]
    }

}

Do let me know if you need further information.

First of all I would check the following .config files:

\userdata\config\org\openhab\caldavio.config
\userdata\config\org\openhab\caldavPersonal.config

Are they correct? If not, delete them and restart OH. They will be recreated during startup.

Next I would change URL to https. This is then using SSL = Secure Sockets Layer.

And adding this 2nd line also:

caldavio:mehl:url=https://www.google.com/calendar/dav/...@group.calendar.google.com/events
caldavio:mehl:disableCertificateVerification=true
1 Like

Thank you, that worked!

1 Like

@Mat91

Could you please also mark the “Solution” square. Maybe other users find this helpful, too. Thanks a lot.

image —>image