Nikobus binding giving errors after openhab is running for some time

When Openhab is restarted, it runs fine for some time (sometimes hours, sometimes days) and after a while the Nikobus binding generates errors. As a result, the lights flip on and of without being turned on or off. Any idea what is causing this or how to resolve?

2016-05-19 05:09:25.419 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 05:19:26.351 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 05:29:27.352 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 05:30:32.746 [INFO ] [org.openhab.model.script.scene] - Timer waitTime cancelled
2016-05-19 05:30:32.824 [DEBUG] [org.openhab.model.script.scene] - Turn on leds trap when motion is detected upstairs
2016-05-19 05:30:32.894 [DEBUG] [org.openhab.model.script.vera ] - Nikobus switch LP_led_trap has been synced to state ON with Vera switch LPledtrapStatus
2016-05-19 05:31:02.871 [DEBUG] [org.openhab.model.script.scene] - Automatically turn off leds trap after 30 seconds
2016-05-19 05:31:02.898 [DEBUG] [org.openhab.model.script.vera ] - Nikobus switch LP_led_trap has been synced to state OFF with Vera switch LPledtrapStatus
2016-05-19 05:39:28.351 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 05:49:29.353 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 05:59:30.352 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 06:09:31.351 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 06:19:32.352 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 06:29:33.351 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 06:39:34.352 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 06:49:35.352 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 06:59:36.352 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 07:05:27.273 [WARN ] [g.openhab.io.net.http.HttpUtil] - Method failed: HTTP/1.1 403 Forbidden
2016-05-19 07:09:37.351 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 07:19:38.351 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 07:29:39.351 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 07:39:40.352 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 07:49:41.351 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 07:59:42.350 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 08:09:43.352 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 08:19:44.350 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]
2016-05-19 08:29:45.351 [ERROR] [.o.b.n.internal.NikobusBinding] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:158) ~[na:na]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:295) ~[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]

I have something similar that after a certain time I get errors, also due to the binding when sending status update requests is not receiving the ack or is timing out on the acq (see error log below).

After that messages are not read correctly so status updates are not received and when physical buttons are pressed they are not detected (while being configured).

See below error log

2017-09-25 18:19:06.615 [NikobusInterface ] - Sending : $1012FA29A8DEE1
2017-09-25 18:19:07.123 [NikobusAckMonitor ] - No ack received within poll time (2000).
2017-09-25 18:19:07.126 [NikobusBinding ] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92)[187:org.openhab.binding.nikobus:1.10.0]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:155)[187:org.openhab.binding.nikobus:1.10.0]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:288)[187:org.openhab.binding.nikobus:1.10.0]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_121]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)[:1.8.0_121]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)[:1.8.0_121]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)[:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_121]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]

OR THIS is a slightly different one

2017-09-25 18:29:05.127 [NikobusInterface ] - Sending : $1012552124961C
2017-09-25 18:29:07.126 [NikobusAckMonitor ] - No ack received within poll time (2000).
2017-09-25 18:29:07.129 [NikobusBinding ] - Error occurred during scheduled status refresh.
java.util.concurrent.TimeoutException: No ACK received within timeout and retry count.
at org.openhab.binding.nikobus.internal.core.NikobusAckMonitor.waitForAck(NikobusAckMonitor.java:92)[187:org.openhab.binding.nikobus:1.10.0]
at org.openhab.binding.nikobus.internal.NikobusBinding.sendCommand(NikobusBinding.java:155)[187:org.openhab.binding.nikobus:1.10.0]
at org.openhab.binding.nikobus.internal.NikobusBinding$2.run(NikobusBinding.java:288)[187:org.openhab.binding.nikobus:1.10.0]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_121]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)[:1.8.0_121]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)[:1.8.0_121]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)[:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_121]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]

I have the impression that the binding is no longer maintained. I’m still stucked with above issues. :face_with_raised_eyebrow:

The status implementation of the Nikobus binding with openhab2 remains an issue. After several hours it goes out of sync/causes problems.
Is the binding still under development/being maintained?
Someone who can look into this? Nikobus is my main system to control through Openhab :frowning:

Yes I’m struggling as well. Sometimes it runs fine for days, sometimes for weeks but there is a point where the biding sends out a status request and is “waiting for an ack” an acknowledgement message from the bus. When somethings goes wrong during this (e.g. not receiving that one within the time out) then it goes out of sync and doesn’t seem to recover with the following status update requests.

Stefaan I also rely on Nikobus and have to many components to replace it. I have looked into the Niko Home control bridge to Nikobus but that one is not status aware, so that is not an option either.

I am afraid that @davy is not working/maintaining the binding anymore.
Since Nikobus is mostly Belgium only, I am also afraid that no others will/can stand up to adapt the binding :frowning:

I want to upgrade from OH 1.8.3 to OH 2.1 but I also use Nikobus.
Is it then a bad idea to upgrade?

The issues described above are existing in OH2. However on OH 1.8 it was also not 100% stable in my case

No, I have problems with the dimmer modules. After I press a Nikobus button to control a light on the dimmer module, the status request by openhab happens to fast after pressing the button so it receive wrong value’s.

have the same issue, the way I solved it is by referencing 3 or 4 times the module in the button definition. So this will make the binding check the module get a (wrong response because the diming time is 1 sec minimum) it will do this 3 or 4 times in a row and the last one will happen after Nikobus has finished it’s 1 second dimming period and give you the correct value.

So you will still have this issue in OH 2.1

thanks for the tip!
is this not to incriminating for the bus?

It’s a trade off, it does indeed occupy the bus for a second which might prevent other users in the house to send commands via wall switches. On the other hand I have a lot of big modules about 15. If I don’t update the status well it take a very long time before the sequential status update (module after module is polled with the binding) picks it up and it’s extremely annoying when you turn off a dimmed light, OH gets 33% as status instead of 0% and you want to turn off another light on the same module and instead of the 2 lights being off the first one goes back on again.

Give it a try, it’s fairly easy and you can play around with whether you need 3 of 4 repeats but admitted it’s a workaround not a proper solution.

I will.
Do you have other issues with Nikobus on openhab 2.x?

I haven’t managed to get screens (rolluikmodules) working. I tried for some time but it always made the status update process stop. I left it (as there are many other things I need to sort out still).

So don’t know if that’s an issue with me doing things wrong or an issue with OH binding and don’t know whether that is OH 2 specific as I never had an OH1 setup (so can’t compare).

Other than that it runs fairly stable.

One issue I used to have but less recently to be honest is that once your status update process fails (often because the binding is waiting for a bus “ack” message according to the logs then it doesn’t recover from that till you reboot. But as said recently haven’t had those issues any more.

the rolluikmodules have 3 states:

  • opening (state 1)
  • close (state 2)
  • nothing (state 0) (both outputs open and close are off)

This status is the status of the relays inside the module.
So the problem is (my config is like this) when you set a movement time for the shutters (or when you manually stop the movement of the shutters) the status changes from open (or close) to nothing (= state 0). Because the state is 0 the system can’t know what the satus of the shutter is (open or close or even in the middle). The state should be taken of the last movement from the shutter (state 1 or 2) and state 0 should never be used.

I think there are 2 ways to deal with this.

The best and most robust one is to configure Nikobus to disable the timers so the state remains 1 or 2 and never becomes 0. Main disadvantage is that when using wall switches when screen is open one cannot just push down to close the screen, it takes 2 pushes, the first moves the bus into state 0 the second one closes it.

The second way is to capture wall switch commands when and based on that keep track of the state OH, Disadvantage is it can get out of sync. I use this approach for the BI (Binaire interface) module so can send you some rule examples to start from.