I’m running a Tellstick net device with the following version of the Tellstick plugin:
2.2.0.201710280843 │ org.openhab.binding.tellstick.
The connection to live.telldus.com works and the devices are found and added to openhab2. But the connection and the devices goes offline…
The problems seems to be related to that I only have devices and no sensors.
And when the updateSensors(sensorList); is executed I get the following error:
2017-12-03 00:23:32.425 [DEBUG] [t.i.l.TelldusLiveBridgeHandler:182 ] - Updated sensors:null
2017-12-03 00:23:32.425 [DEBUG] [t.i.l.TelldusLiveBridgeHandler:193 ] - Update sensors, reset updated flag
2017-12-03 00:23:32.440 [ERROR] [t.i.l.TelldusLiveBridgeHandler:127 ] - Failed to updatejava.lang.NullPointerException: null
at org.openhab.binding.tellstick.internal.live.TelldusLiveBridgeHandler.updateSensors(TelldusLiveBridgeHandler.java:194)
at org.openhab.binding.tellstick.internal.live.TelldusLiveBridgeHandler.refreshDeviceList(TelldusLiveBridgeHandler.java:120)
at org.openhab.binding.tellstick.internal.live.TelldusLiveBridgeHandler$1.run(TelldusLiveBridgeHandler.java:70)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)2017-12-03 00:23:32.447 [INFO ] [ome.event.ThingStatusInfoEvent:52 ] - ‘tellstick:telldus-live:2’ updated: OFFLINE (COMMUNICATION_ERROR)
Someone with more java and openhab2 knowledge, than me, needs to take a look at the following code…
synchronized void refreshDeviceList() {
try {
updateDevices(deviceList);
updateSensors(sensorList);
updateStatus(ThingStatus.ONLINE);
} catch (TellstickException e) {
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, e.getMessage());
logger.error("Failed to update", e);
} catch (Exception e) {
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, e.getMessage());
logger.error("Failed to update", e);
}
}