Jablotron Alarm Binding for OpenHAB

I swiched to OH 4.3.2. first jablotron PG and Temp work fine. Then the it stopped updating values. And I am getting this:

12:52:10.388 [WARN ] [ommon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.NumberFormatException: For input string: “unknown”
at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054) ~[?:?]
at jdk.internal.math.FloatingDecimal.parseDouble(FloatingDecimal.java:110) ~[?:?]
at java.lang.Double.parseDouble(Double.java:651) ~[?:?]
at com.google.gson.stream.JsonReader.nextDouble(JsonReader.java:922) ~[?:?]
at com.google.gson.Gson$2.read(Gson.java:429) ~[?:?]
at com.google.gson.Gson$2.read(Gson.java:423) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:433) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:393) ~[?:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) ~[?:?]
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) ~[?:?]
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:433) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:393) ~[?:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) ~[?:?]
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) ~[?:?]
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:433) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:393) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:433) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:393) ~[?:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) ~[?:?]
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) ~[?:?]
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:433) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:393) ~[?:?]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) ~[?:?]
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) ~[?:?]
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:433) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:393) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:433) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:393) ~[?:?]
at com.google.gson.Gson.fromJson(Gson.java:1227) ~[?:?]
at com.google.gson.Gson.fromJson(Gson.java:1137) ~[?:?]
at com.google.gson.Gson.fromJson(Gson.java:1047) ~[?:?]
at com.google.gson.Gson.fromJson(Gson.java:982) ~[?:?]
at org.openhab.binding.jablotron.internal.handler.JablotronBridgeHandler.sendMessage(JablotronBridgeHandler.java:182) ~[?:?]
at org.openhab.binding.jablotron.internal.handler.JablotronBridgeHandler.sendUrlEncodedMessage(JablotronBridgeHandler.java:169) ~[?:?]
at org.openhab.binding.jablotron.internal.handler.JablotronBridgeHandler.sendGetStatusRequest(JablotronBridgeHandler.java:326) ~[?:?]
at org.openhab.binding.jablotron.internal.handler.JablotronAlarmHandler.sendGetStatusRequest(JablotronAlarmHandler.java:157) ~[?:?]
at org.openhab.binding.jablotron.internal.handler.JablotronAlarmHandler.updateAlarmStatus(JablotronAlarmHandler.java:164) ~[?:?]
at org.openhab.binding.jablotron.internal.handler.JablotronJa100Handler.controlPGMSection(JablotronJa100Handler.java:212) ~[?:?]
at org.openhab.binding.jablotron.internal.handler.JablotronJa100Handler.lambda$2(JablotronJa100Handler.java:71) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:840) [?:?]

I am getting the same error. I did enable more logging and there is 2 "unknown"s in the string that is being parsed. Both of them are for temperature sensors (and I have exactly 2).

 "segment_informations" : [
                              {
                                 "type" : "temperature",
                                 "unit" : "°C",
                                 "value" : "unknown"
                              }
                           ],

I also do not get the PG Status and changes

and when I do a fersh install of the jablotron binding, i don´t get the PG or Temps. as Channels
the current channel / items are all shown as “online” in the settings.
but no updates…

who can help? Thanks

i just removed and re installed the channel - then i got: 17:00:03.277 [ERROR] [core.common.registry.AbstractRegistry] - Cannot inform the listener “org.openhab.core.thing.internal.ChannelLinkNotifier@3” about the “ADDED” event: For input string: “unknown”
java.lang.NumberFormatException: For input string: “unknown”
at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054) ~[?:?] and more…

I also do not get the PG Status and changes

Guys, I will fix it. The problem is the “unknown” string instead of a number.

I have fixed the parsing of “unknown” values in temp channels. Can you confirm you have the JA100 alarm (not JA100F) and test if it works now, please? It should show -1 value when “unknown” received. If your Jablotron mobile application shows correct temperature values and this binding shows -1, it means they have changed something on the server side, and I need to dig deeper.
https://www.dropbox.com/s/kw6o10mv6a106mj/org.openhab.binding.jablotron-4.3.4-SNAPSHOT.jar?st=g9728y06&dl=1

I indeed now have 2 very chilly rooms at -1 in my OpenHAB overview. In the Jablotron app they show as 21 degrees celcius.