KNX Stops working when Internet Connection is faulty

Hi There,

I’ve seen this problem some times but could never analyze in depth. I got these problem just now because my internet provider is working with some problems.

What happened is: When my internet connection has problems (let’s say it is down) OpenHabs EventBus doesn’t Receive Events from KNX Binding. At the bottom you find a part of the openhab.log with some errors.

My only idea is, that there is a connection with the InfluxDB Persistence which won’t be available on internet errors.

When I restart openhab (which is the only way to get KNX back running) it will receive KNX Events for a few minutes until it stops working again. In times without Internet connection errors OpenHab is able to run for multiple months without any problem.

Is there anyone out there having an idea what happened here?

Bests
Pascal

2016-06-30 21:18:05.766 [ERROR] [i.i.InfluxDBPersistenceService] - storing failed with exception for item: Sensor_FF_Corridor_Stairs
2016-06-30 21:18:05.767 [ERROR] [i.i.InfluxDBPersistenceService] - database connection error Connection timed out
2016-06-30 21:20:13.286 [ERROR] [i.i.InfluxDBPersistenceService] - storing failed with exception for item: PvEnergySelfConsumption
2016-06-30 21:20:13.287 [ERROR] [i.i.InfluxDBPersistenceService] - database connection error Connection timed out
2016-06-30 21:22:20.645 [ERROR] [i.i.InfluxDBPersistenceService] - storing failed with exception for item: Temperature_GF_LivingRoom_DiningRoom
2016-06-30 21:22:20.647 [ERROR] [i.i.InfluxDBPersistenceService] - database connection error Connection timed out
2016-06-30 21:24:28.485 [ERROR] [i.i.InfluxDBPersistenceService] - storing failed with exception for item: Temperature_FF_Corridor_Stairs
2016-06-30 21:24:28.487 [ERROR] [i.i.InfluxDBPersistenceService] - database connection error Connection timed out
2016-06-30 21:24:29.686 [INFO ] [g.openhab.model.script.Heating] - Set State for MainComfortZone: 4
2016-06-30 21:24:30.124 [INFO ] [g.openhab.model.script.Heating] - State for MainComfortZone was different from last state
2016-06-30 21:25:58.427 [ERROR] [.i.c.internal.CalDavLoaderImpl] - error while loading calendar entries: Connect to dav.cloud.pascalturbo.com:443 [dav.cloud.pascalturbo.com/1.2.3.4] failed: Connection timed out
org.apache.http.conn.ConnectTimeoutException: Connect to dav.cloud.pascalturbo.com:443 [dav.cloud.pascalturbo.com/1.2.3.4] failed: Connection timed out
  at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:138) ~[na:na]
  at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) ~[na:na]
  at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) ~[na:na]
  at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) ~[na:na]
  at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) ~[na:na]
  at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) ~[na:na]
  at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) ~[na:na]
  at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) ~[na:na]
  at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) ~[na:na]
  at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:214) ~[na:na]
  at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:160) ~[na:na]
  at com.github.sardine.impl.SardineImpl.execute(SardineImpl.java:828) ~[na:na]
  at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:355) ~[na:na]
  at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:347) ~[na:na]
  at com.github.sardine.impl.SardineImpl.list(SardineImpl.java:324) ~[na:na]
  at org.openhab.io.caldav.internal.CalDavLoaderImpl.loadEvents(CalDavLoaderImpl.java:437) ~[na:na]
  at org.openhab.io.caldav.internal.CalDavLoaderImpl.access$3(CalDavLoaderImpl.java:431) ~[na:na]
  at org.openhab.io.caldav.internal.CalDavLoaderImpl$4.run(CalDavLoaderImpl.java:648) ~[na:na]
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0]
  at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0]
  at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0]
  at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0]
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0]
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0]
  at java.lang.Thread.run(Thread.java:744) [na:1.8.0]
Caused by: java.net.ConnectException: Connection timed out
  at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0]
  at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) ~[na:1.8.0]
  at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0]
  at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0]
  at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0]
  at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0]
  at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:239) ~[na:na]
  at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:123) ~[na:na]
  ... 24 common frames omitted
2016-06-30 21:26:36.005 [ERROR] [i.i.InfluxDBPersistenceService] - storing failed with exception for item: Temperature_GF_LivingRoom_Window
2016-06-30 21:26:36.007 [ERROR] [i.i.InfluxDBPersistenceService] - database connection error Connection timed out

I found additional information about this problem. Obviously the processing of KNX Events doesn’t stop working - but it hang’s for a horrible long time.

I’ve pushed the button leading to the following event while writing the first post - now look at the Timestamp (about 90min)

2016-06-30 23:05:59 - Socket_GF_LivingRoom_TV_Controll_LED received command ON