Innogy Binding - bridge timeout during initialization

Hello,

beginner here. After I upgraded today, the innogy binding is not working anymore for me. I upgraded from latest milestone to 2.5.0-1 release build. I am using the older version of the bridge (Gen. 1).

Paper UI shows the birdge as initializing and after a timeout it changes its state to:

Status: OFFLINE - COMMUNICATION_ERROR java.util.concurrent.TimeoutException: Total timeout 10000 ms elapsed

What I tried so far: clear cache, reinstall binding, get a new auth key, reboot raspi

The logger is showing this warning:

2019-12-16 17:20:02.726 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 2679 path $[6].state.updateAvailable
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224) ~[?:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129) ~[?:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220) ~[?:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129) ~[?:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220) ~[?:?]
        at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) ~[?:?]
        at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) ~[?:?]
        at com.google.gson.Gson.fromJson(Gson.java:888) ~[?:?]
        at com.google.gson.Gson.fromJson(Gson.java:853) ~[?:?]
        at com.google.gson.Gson.fromJson(Gson.java:802) ~[?:?]
        at com.google.gson.Gson.fromJson(Gson.java:774) ~[?:?]
        at org.openhab.binding.innogysmarthome.internal.client.InnogyClient.executeGet(InnogyClient.java:142) ~[?:?]
        at org.openhab.binding.innogysmarthome.internal.client.InnogyClient.executeGetList(InnogyClient.java:156) ~[?:?]
        at org.openhab.binding.innogysmarthome.internal.client.InnogyClient.getDeviceStates(InnogyClient.java:588) ~[?:?]
        at org.openhab.binding.innogysmarthome.internal.client.InnogyClient.getFullDevices(InnogyClient.java:422) ~[?:?]
        at org.openhab.binding.innogysmarthome.internal.manager.DeviceStructureManager.refreshDevices(DeviceStructureManager.java:85) ~[?:?]
        at org.openhab.binding.innogysmarthome.internal.handler.InnogyBridgeHandler.startClient(InnogyBridgeHandler.java:236) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_222]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) ~[?:1.8.0_222]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_222]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) ~[?:1.8.0_222]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]

Any help is much appreciated
Thanks

Any reason to not use the v2 binding?

I have exactly the same problem. We are talking about the v2 binding - we just have the older revison of the hardware (Innogy Bridge).

The problem seems to be that the service sends:

"updateAvailable": ""

but the JSON parser expects something like this:

"updateAvailable": {"value": "", "lastChanged": "2019-06-20T00:15:32.766Z"}

Perhaps you should file an issue on GitHub for the developers.

done: https://github.com/openhab/openhab2-addons/issues/6613

1 Like