New Onewire binding: bms sensor working for a few hours, seperate temperature sensor (DSS18x20) not initializing

I checked the paper documentation of the sensor and it also says AMS in the title (AMS-THS-2IO-A10-211-BRK). So it looks like it is a ASM sensor.

Herman

Hi Jan, have since a while the strange behavor (I think since I updated to latest build) that I loose some sensors (typically 2) randomly and when I restart opehab all works fine for a while. since I used the latest version you posted here it is better but same issue again.
In the event log

2019-02-01 15:45:37.939 [hingStatusInfoChangedEvent] - ‘onewire:digitalio2:32e931a4:3A_CF2015000000’ changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): refresh exception
2019-02-01 15:45:37.959 [hingStatusInfoChangedEvent] - ‘onewire:digitalio2:32e931a4:3A_2E4403000000’ changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): slave missing <

When I disable the thing and enable it again in paper ui
image

2019-02-01 19:45:34.711 [hingStatusInfoChangedEvent] - ‘onewire:digitalio2:32e931a4:3A_2E4403000000’ changed from OFFLINE (COMMUNICATION_ERROR): slave missing to UNINITIALIZED
2019-02-01 19:45:34.740 [hingStatusInfoChangedEvent] - ‘onewire:digitalio2:32e931a4:3A_2E4403000000’ changed from UNINITIALIZED to UNINITIALIZED (DISABLED)
2019-02-01 19:45:37.939 [hingStatusInfoChangedEvent] - ‘onewire:digitalio2:32e931a4:3A_CF2015000000’ changed from OFFLINE (COMMUNICATION_ERROR): refresh exception to UNINITIALIZED
2019-02-01 19:45:37.952 [hingStatusInfoChangedEvent] - ‘onewire:digitalio2:32e931a4:3A_CF2015000000’ changed from UNINITIALIZED to UNINITIALIZED (DISABLED)

2019-02-01 19:45:51.024 [hingStatusInfoChangedEvent] - ‘onewire:digitalio2:32e931a4:3A_2E4403000000’ changed from UNINITIALIZED (DISABLED) to INITIALIZING
2019-02-01 19:45:51.044 [me.event.ThingUpdatedEvent] - Thing ‘onewire:digitalio2:32e931a4:3A_2E4403000000’ has been updated.
2019-02-01 19:45:51.049 [hingStatusInfoChangedEvent] - ‘onewire:digitalio2:32e931a4:3A_2E4403000000’ changed from INITIALIZING to UNKNOWN

I’m running owfs on another rasppi and have openhab 1 running and there no issues with the sensors.

Thanks a lot for any hint

The interesting question is: why is there a refresh exception in the first place. I‘ll think about that.

Edit: are the other sensors still refreshing when this happens?

strange since I have this version installed (at least I think so as I never seen this bevfore)

[ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing ‘openhab-binding-onewire1’

but around the time the 2 failed there is no other entry in the event log

around the time the sensors failed in openhab.log

2019-02-01 15:45:38.037 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.NumberFormatException: null
at java.math.BigDecimal.(BigDecimal.java:494) ~[?:?]
at java.math.BigDecimal.(BigDecimal.java:383) ~[?:?]
at java.math.BigDecimal.(BigDecimal.java:806) ~[?:?]
at org.eclipse.smarthome.core.library.types.DecimalType.(DecimalType.java:57) ~[?:?]
at org.eclipse.smarthome.core.library.types.DecimalType.valueOf(DecimalType.java:71) ~[?:?]
at org.openhab.binding.onewire.internal.owserver.OwserverConnection.readDecimalType(OwserverConnection.java:175) ~[?:?]
at org.openhab.binding.onewire.internal.handler.OwserverBridgeHandler.readDecimalType(OwserverBridgeHandler.java:150) ~[?:?]
at org.openhab.binding.onewire.internal.handler.OwBaseBridgeHandler.readBitSet(OwBaseBridgeHandler.java:193) ~[?:?]
at org.openhab.binding.onewire.internal.device.AbstractDigitalOwDevice.refresh(AbstractDigitalOwDevice.java:103) ~[?:?]
at org.openhab.binding.onewire.internal.handler.OwBaseThingHandler.refresh(OwBaseThingHandler.java:234) ~[?:?]
at org.openhab.binding.onewire.internal.handler.OwBaseBridgeHandler.refresh(OwBaseBridgeHandler.java:80) ~[?:?]
at org.openhab.binding.onewire.internal.handler.OwBaseBridgeHandler.lambda$0(OwBaseBridgeHandler.java:54) ~[?:?]
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:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]

Ok. So something is read from the owserver but that could not be converted to a number. I can try to catch that and print out what is wrong. Then the sensors should continue to work.

Please try this. It should be at least as good as the jar before but fix the NumberFormatException.

Thx a lot … changing the binding brought all things online again … will check and report … have a nice evening … KR

since yesterday evening no issues :slight_smile:

1 Like

Thanks. Glad it works for you.

But I fear that this only masks another problem: after an exception during refresh the refresh task is cancelled and not re-installed. I‘ll have another look.