Hi @markus7017
thanks, I updated to the latest DEV build and can confirm the channel names as well as the unit being fixed
I let the WS90 rediscover and added the thing. But I’m still seeing an error on every data transmission:
Unable to process Rpc message (Index 1 out of bounds for length 1)
2025-12-20 13:35:30.517 [DEBUG] [ng.shelly.internal.api2.ShellyBluApi] - shellybluws90-286847efaefb: BLU event oh-blu.data received from address 28:68:47:ef:ae:fb, pid=149 (JSON={"src":"shellyplusplugs-a0a3b3e91890","dst":"openhab-172.17.0.3","method":"NotifyEvent","params":{"ts":1766234136.66,"events":[{"component":"script:1","id":1,"event":"oh-blu.data","data":{"encryption":false,"BTHome_version":2,"pid":149,"Illuminance":4870,"Rain":1,"Speed":[0,0.5],"UVIndex":0,"Direction":[87],"addr":"28:68:47:ef:ae:fb","rssi":-81,"packet":"40 00 95 05 58 6e 07 20 01 44 00 00 44 32 00 46 00 5e fc 21"},"ts":1766234136.66}]}})
2025-12-20 13:35:30.518 [DEBUG] [helly.internal.api2.Shelly2RpcSocket] - shellyplusplugs-e465b8b5b3fc: Unable to process Rpc message (Index 1 out of bounds for length 1): {"src":"shellyplusplugs-a0a3b3e91890","dst":"openhab-172.17.0.3","method":"NotifyEvent","params":{"ts":1766234136.66,"events":[{"component":"script:1","id":1,"event":"oh-blu.data","data":{"encryption":false,"BTHome_version":2,"pid":149,"Illuminance":4870,"Rain":1,"Speed":[0,0.5],"UVIndex":0,"Direction":[87],"addr":"28:68:47:ef:ae:fb","rssi":-81,"packet":"40 00 95 05 58 6e 07 20 01 44 00 00 44 32 00 46 00 5e fc 21"},"ts":1766234136.66}]}}
java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at org.openhab.binding.shelly.internal.api2.ShellyBluApi.onNotifyEvent(ShellyBluApi.java:292) ~[?:?]
at org.openhab.binding.shelly.internal.api2.Shelly2RpcSocket.onText(Shelly2RpcSocket.java:268) ~[?:?]
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(CallableMethod.java:70) ~[?:?]
at org.eclipse.jetty.websocket.common.events.annotated.OptionalSessionCallableMethod.call(OptionalSessionCallableMethod.java:68) ~[?:?]
at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onTextMessage(JettyAnnotatedEventDriver.java:301) ~[?:?]
at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69) ~[?:?]
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:67) ~[?:?]
at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onTextFrame(JettyAnnotatedEventDriver.java:287) ~[?:?]
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:152) ~[?:?]
at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:326) ~[?:?]
at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:202) ~[?:?]
at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:225) ~[?:?]
at org.eclipse.jetty.websocket.common.Parser.parseSingleFrame(Parser.java:259) ~[?:?]
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:459) ~[?:?]
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:440) ~[?:?]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) ~[?:?]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[?:?]
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) ~[?:?]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) ~[?:?]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) ~[?:?]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) ~[?:?]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) ~[?:?]
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) ~[?:?]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[?:?]
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[?:?]
at java.lang.Thread.run(Thread.java:1583) [?:?]
The WS90 sends 2 data packets, one is fine and the other not. This one is fine:
2025-12-20 13:43:41.002 [DEBUG] [ng.shelly.internal.api2.ShellyBluApi] - shellybluws90-286847efaefb: BLU event oh-blu.data received from address 28:68:47:ef:ae:fb, pid=205 (JSON={"src":"shellyplusplugs-a0a3b3e91890","dst":"openhab-172.17.0.3","method":"NotifyEvent","params":{"ts":1766234621.27,"events":[{"component":"script:1","id":1,"event":"oh-blu.data","data":{"encryption":false,"BTHome_version":2,"pid":205,"Battery":100,"Pressure":1004.4,"Dewpoint":3.11,"Voltage":2.5,"Humidity":84,"Temperature":[5.6],"Precipitation":2,"addr":"28:68:47:ef:ae:fb","rssi":-83,"packet":"40 00 cd 01 64 04 58 88 01 08 37 01 0c c4 09 2e 54 45 38 00 5f 14 00"},"ts":1766234621.27}]}})
This one is not:
2025-12-20 13:43:55.583 [DEBUG] [helly.internal.api2.Shelly2RpcSocket] - shellyplusplugs-e465b8b5b3fc: Unable to process Rpc message (Index 1 out of bounds for length 1): {"src":"shellyplusplugs-a0a3b3e91890","dst":"openhab-172.17.0.3","method":"NotifyEvent","params":{"ts":1766234635.89,"events":[{"component":"script:1","id":1,"event":"oh-blu.data","data":{"encryption":false,"BTHome_version":2,"pid":207,"Illuminance":3650,"Rain":1,"Speed":[0,0.7],"UVIndex":0,"Direction":[248],"addr":"28:68:47:ef:ae:fb","rssi":-79,"packet":"40 00 cf 05 c8 91 05 20 01 44 00 00 44 46 00 46 00 5e e0 60"},"ts":1766234635.89}]}}
Also, adding the Item for Precipitation is still not good. By default a Number type is proposed. Changing this to Number:Length leads to UNDEF:
2025-12-20 13:58:39.420 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'WS90_Precipitation' changed from NULL to UNDEF (source: org.openhab.core.thing$shelly:shellybluws90:286847efaefb:sensors#precipitation)
Anyhow, pretty close!