All my devices, incl. Gen1, Plus and Pro are password protected. defaultUserId is not relevant for Gen2-4, because AFAIK you can‘t configure a user id, it‘s always admin. For Gen1 the binding uses default id+password, for gen2-4 the password only and user id is admin
check updated DEV build
- changes for WS90
- change for PM status updates
usually the icons are derived from semantic tags. I included those in the channel definition.
let check this later
It’s Number:Volume, which is by default m3. I added the code to update the channel and specified mm. Check after first channel update.
fixed
fixed
channel update for pressure, uv index, wind speed, gust speed were added
Device Firmware has to be reported by the device, some BLU devices need up to 6h, some even don’t report the number
Dew Point: Check device debug if the value is reported
windSpeed / gustSpeed: Check device debug if the value is reported
Hi @markus7017,
thanks a lot! It is working much better, but still having issues with wind speed and gust, dew point.
openhab.log (977.9 KB)
In this test setup, there is only one plug s installed and the weather station itself. So hav a look at the log file. Dew Point values are in the log, but not wind or gust speed. I know from my mqtt script, that the weather station is publishing these two values nearly every 30s, or less.
I think, the illumination channel can be deleted, because the WS90 is not delivering this only the lux values.
If you need more, tell me.
cheers
Andreas
Hi Markus, I only see an updated DEV build for 5.1, not 5.0.
@markus7017 we need a dev build for openHAB 5.0.3. I just updated because of the amazon echo bug fix and now all my shelly are offline.
Thanks for the reply. Quick question: Do you use defaultUserId set in your binding config and if so, is it a value other than admin? Thanks very much!
DEV build for 5.0.x and 5.1.x have been updated
I found issues with dew point, and wind speeds; illumination channel will no longer created
please check
Thank you! I think now we have it with the weather station. Only small one is, that perception is still m3 / volume and not mm / length . Here is a screenshot how I use it, perhaps you can set this as standard for the channel:
Also at the moment Wind and Gust Direction Channels are missing.
You updated 5.0.2 - are we able to use it under 5.0.3 openHAB version? or should it be also 5.0.3-snapshot or something like that?
perception should be fixed, windDirection and gustDirection have been added
I also updated the README.md to include WS90, @alaub81 could you please verify that all channels are included, correctly documented and show up correctly (incl. units + values)
5.0.2 should also work on 5.0.3
5.0.2.202512041532 has fixed my websocket issue with the pmmini’s. Thanks again!
@alaub81 Die you saw the update?
Yes, will test it as soon I am back home from vacation.
Hi,
I use shellies since ever, even before the binnding, with OH2.4 and MQTT. I find that setup fool prof but somehow hard to setup. But for the last 2 customer instals of OH5 I did use the binding.
Setup 1, has couple of plugs s and was done in files.
Setup 2 I just finished yesterday has pro4 PM to control heating vales and was done in UI.
Both has experienced the same failure. in Setup 1 it happened after about 3months. The plugs stopped reacting to commands from OH. The power use was communicated. The plugs relay status was updated when the button was pressed manualy just OH was not sending the commands to it. Commands from shelly cloud app still worked. Binding restart does not help. A full restart of OH was required.
In Setup 2 I have seen that the very first day.
Both install run leatest stable OH version, and the latest firmware in shellies.
Have anyone seen this behaviour?
TIA
Maciej
Last week I had to restart openHAB because one of my shutters was suddenly only driving up but not down any more. Both the UP and DOWN command was properly sent but somehow the Shelly was only receiving the UP command. Using the WebUI of the device worked without issue.
Ok so that is a bug in a binding, That never happened to me for the shellies that I control over mqtt for like 7 years.
Who is developing this binding? is there some github for it? maybe I can contribute to debuging?
Is the binding using MQTT in the background or some other API to access the pieces?
Maciej
I can also confirm that connecting through mqtt is rock solid
It’s using a websocket connection initiated from openHAB
Hi there,
I just switched my OpenHABIan from 5.0.2 to 5.1M3, because I have a new Shelly Blu Distance and a Shelly Blu Button 4, which have support added there.
I am using two Shelly Plug S Gen3 as Gateways and everything is fine in the Shelly app.
On OpenHAB before the Milestone update, I had the status to be expected: Both Plug S coupled with the Shelly binding, BT Scanner scripts installed. The Blu Button 4 only had button #4 working. So far, so good.
With the new milestone, I deactivated gateway support, saved this, deleted the scripts on the Plug S devices, activated gateway support again and found some newer BT scanner scripts installed. I deleted the old inappropriate Blu Button 1 binding as well.
Next, I expected that the Blu Button 4 and the Blu Distance would be autodetected on activity. But none of that happened. Even worse, even if I configurend the Things manually by entering the MAC, they would never exit the “Initializing” phase.
Then I realized that my Shelly Plug S got stuck in a boot loop as soon as I activated the Gateway mode. They start blinking red every few minutes, and I can see this in the logs.
This is initializing without the script:
2025-12-09 14:53:12.810 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'shelly:shellyplusplug:28372f35fda0' changed from UNINITIALIZED (DISABLED) to INITIALIZING
2025-12-09 14:53:14.821 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'shelly:shellyplusplug:28372f35fda0' changed from INITIALIZING to ONLINE (CONFIGURATION_PENDING): Gerät wird initialisiert oder im Schlafmodus.
2025-12-09 14:53:14.995 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'shelly:shellyplusplug:28372f35fda0' changed from ONLINE (CONFIGURATION_PENDING): Gerät wird initialisiert oder im Schlafmodus. to ONLINE
…this stays and keeps online so far.
But this here begins as soon as I activate the BT Gateway:
2025-12-09 14:55:51.793 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'shelly:shellyplusplug:28372f35fda0' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Unerwarteter Fehler - WebSocket connection closed abnormally
2025-12-09 14:55:51.800 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'shelly:shellyplusplug:28372f35fda0' changed from OFFLINE (COMMUNICATION_ERROR): Unerwarteter Fehler - WebSocket connection closed abnormally to ONLINE (CONFIGURATION_PENDING): Das Gerät wurde neu gestartet und wird erneut initialisiert.
2025-12-09 14:55:53.802 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'shelly:shellyplusplug:28372f35fda0' changed from ONLINE (CONFIGURATION_PENDING): Das Gerät wurde neu gestartet und wird erneut initialisiert. to ONLINE (CONFIGURATION_PENDING): Gerät wird initialisiert oder im Schlafmodus.
2025-12-09 14:55:53.929 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'shelly:shellyplusplug:28372f35fda0' changed from ONLINE (CONFIGURATION_PENDING): Gerät wird initialisiert oder im Schlafmodus. to ONLINE
2025-12-09 14:56:25.243 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'shelly:shellyplusplug:28372f35fda0' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Unerwarteter Fehler - WebSocket error
2025-12-09 14:56:50.276 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'shelly:shellyplusplug:28372f35fda0' changed from OFFLINE (COMMUNICATION_ERROR): Unerwarteter Fehler - WebSocket error to ONLINE
2025-12-09 14:56:53.487 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'shelly:shellyplusplug:28372f35fda0' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Unerwarteter Fehler - WebSocket error
2025-12-09 14:57:13.152 [INFO ] [openhab.event.ChannelTriggeredEvent ] - shelly:shellyplusplug:28372f35fda0:device#alarm triggered RESTARTED
2025-12-09 14:57:13.153 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'shelly:shellyplusplug:28372f35fda0' changed from OFFLINE (COMMUNICATION_ERROR): Unerwarteter Fehler - WebSocket error to ONLINE
2025-12-09 14:57:13.153 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'shelly:shellyplusplug:28372f35fda0' changed from ONLINE to ONLINE (CONFIGURATION_PENDING): Das Gerät wurde neu gestartet und wird erneut initialisiert.
2025-12-09 14:57:16.153 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'shelly:shellyplusplug:28372f35fda0' changed from ONLINE (CONFIGURATION_PENDING): Das Gerät wurde neu gestartet und wird erneut initialisiert. to ONLINE (CONFIGURATION_PENDING): Gerät wird initialisiert oder im Schlafmodus.
2025-12-09 14:57:16.361 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'shelly:shellyplusplug:28372f35fda0' changed from ONLINE (CONFIGURATION_PENDING): Gerät wird initialisiert oder im Schlafmodus. to ONLINE
This may or may not repeat several times again, and it may start anytime even if it once stopped. And even if it appears to be stable, it won’t detect the Blu Button 4 or the Blu Distance.
Well, it’s the milestone build, things happen. → Is there anything I can do for you to support debugging this?
BTW I also have a brand new WS90 weather station, I also may do some tests there… ![]()
Hi @markus7017
Santa just brought me WS90
Trying to integrate it into my OH system is still failing.
I’m running OH5.1.0M3 in Docker and got you latest DEV binding version installed
openhab> bundle:list | grep -i shel
360 │ Active │ 80 │ 5.1.0.202512071115 │ openHAB Add-ons :: Bundles :: Shelly Binding
I’m using a Shelly Plus Plug S as BLU Gateway. The script is installed and running.
2025-12-12 14:47:29.308 [INFO ] [g.shelly.internal.api2.Shelly2ApiRpc] - shellyplusplugs-e465b8b5b3fc: Setup openHAB BLU Gateway
2025-12-12 14:47:48.237 [INFO ] [g.shelly.internal.api2.Shelly2ApiRpc] - shellyplusplugs-e465b8b5b3fc: Script shellyplusplugs-e465b8b5b3fc was oh-blu-scanner.js installed successful
The WS90 gets discovered and added to the inbox:
2025-12-12 16:25:55.390 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'shelly:shellybluws90:286847efaefb' to inbox.
I can see messages in the Shelly Plus Plug S console as well as in the openhab.log.
2025-12-13 10:11:34.575 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellyplusplugs-e465b8b5b3fc: Initializing device shellyplusplugs-a0a3b3e91890, type SNPL-00112EU, Hardware: Rev: , batch ; Firmware: 1.7.1- / 20250
924
2025-12-13 10:11:34.575 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellyplusplugs-e465b8b5b3fc: Shelly settings info for shellyplusplugs-a0a3b3e91890: {"ble":{"enable":true,"rpc":{"enable":true}},"cloud":{"enable":
false,"server":"iot.shelly.cloud:6012/jrpc"},"mqtt":{"enable":true,"server":"192.168.178.62:1883","rpc_ntf":"true","status_ntf":"false"},"sys":{"cfg_rev":28,"device":{"mac":"A0A3B3E91890","fw_id":"20250924-062721/1.7.1-gd
336f31","eco_mode":true,"discoverable":true},"location":{"tz":"Europe/Berlin","lat":51.1,"lon":13.7},"sntp":{"server":"192.168.178.1"},"debug":{"mqtt":{"enable":false},"websocket":{"enable":true},"udp":{}},"ui_data":{},"r
pc_udp":{}},"wifi":{"ap":{"enable":false,"ssid":"ShellyPlusPlugS-A0A3B3E91890","is_open":true,"range_extender":{"enable":false}},"sta":{"ssid":"tomsnet2","is_open":false,"enable":true,"ipv4mode":"dhcp"},"sta1":{"is_open":
true,"enable":false,"ipv4mode":"dhcp"},"roam":{"rssi_thr":-80,"interval":60}},"switch:0":{"id":0,"initial_state":"off","auto_on":false,"auto_on_delay":60.0,"auto_off":false,"auto_off_delay":60.0,"power_limit":2500,"voltag
e_limit":280,"current_limit":12.0}}
2025-12-13 10:11:34.575 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellyplusplugs-e465b8b5b3fc: Device hasRelays:true (numRelays=1),isRoller:false (numRoller=0),isDimmer:false,numMeter=1,isEMeter:true), ext. Switch
Add-On: n/a,isSensor:false,isDS:false,hasBattery:false,isSense:false,isMotion:false,isLight:false,isBulb:false,isDuo:false,isRGBW2:false,inColor:false, BLU Gateway support: true,alwaysOn:70, updatePeriod:truesec
2025-12-13 10:11:34.575 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellyplusplugs-e465b8b5b3fc: Thing successfully initialized.
2025-12-13 10:11:34.758 [DEBUG] [g.shelly.internal.api2.Shelly2ApiRpc] - shellyplusplugs-e465b8b5b3fc: BLU Gateway support is enabled for this device
Yet the Thing fails to get the channels created. While it creates the standard Shelly channels, the measurement channels are missing.
2025-12-12 16:49:42.403 [DEBUG] [ng.shelly.internal.api2.ShellyBluApi] - shellybluws90-286847efaefb: BLU event oh-blu.scan_result received from address 28:68:47:ef:ae:fb, pid=0 (JSON={"src":"shellyplusplugs-a0a3b3e91890",
"dst":"openhab-172.17.0.3","method":"NotifyEvent","params":{"ts":1765554588.04,"events":[{"component":"script:1","id":1,"event":"oh-blu.scan_result","data":{"addr":"28:68:47:ef:ae:fb","name":"SBWS-90CM","rssi":-83},"ts":1
765554588.04}]}})
2025-12-12 16:49:42.403 [DEBUG] [ng.shelly.internal.api2.ShellyBluApi] - shellybluws90-286847efaefb: BLU Device SBWS-90CM discovered, mapped to serviceName shellybluws90-286847efaefb
2025-12-12 16:49:43.431 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellybluws90-286847efaefb: Unable to refresh status: Status konnte nicht aktualisiert werden
at org.openhab.binding.shelly.internal.provider.ShellyChannelDefinitions$ChannelMap.get(ShellyChannelDefinitions.java:875) ~[?:?]
at org.openhab.binding.shelly.internal.provider.ShellyChannelDefinitions.getDefinition(ShellyChannelDefinitions.java:326) ~[?:?]
at org.openhab.binding.shelly.internal.provider.ShellyChannelDefinitions.addChannel(ShellyChannelDefinitions.java:689) ~[?:?]
at org.openhab.binding.shelly.internal.provider.ShellyChannelDefinitions.createSensorChannels(ShellyChannelDefinitions.java:650) ~[?:?]
at org.openhab.binding.shelly.internal.handler.ShellyComponents.updateSensors(ShellyComponents.java:405) ~[?:?]
at org.openhab.binding.shelly.internal.handler.ShellyBaseHandler.refreshStatus(ShellyBaseHandler.java:585) ~[?:?]
2025-12-12 16:49:43.920 [DEBUG] [ng.shelly.internal.api2.ShellyBluApi] - shellybluws90-286847efaefb: BLU event oh-blu.data received from address 28:68:47:ef:ae:fb, pid=56 (JSON={"src":"shellyplusplugs-a0a3b3e91890","dst":
"openhab-172.17.0.3","method":"NotifyEvent","params":{"ts":1765554588.48,"events":[{"component":"script:1","id":1,"event":"oh-blu.data","data":{"encryption":false,"BTHome_version":2,"pid":56,"Illuminance":0,"Rain":0,"Spee
d":[0,0],"UVIndex":0,"Direction":[60],"addr":"28:68:47:ef:ae:fb","rssi":-83,"packet":"40 00 38 05 00 00 00 20 00 44 00 00 44 00 00 46 00 5e 70 17"},"ts":1765554588.48}]}})
2025-12-12 16:49:43.921 [DEBUG] [g.shelly.internal.api2.Shelly2ApiRpc] - shellyplusplugs-e465b8b5b3fc: WebSocket error
at org.openhab.binding.shelly.internal.api2.ShellyBluApi.onNotifyEvent(ShellyBluApi.java:292) ~[?:?]
at org.openhab.binding.shelly.internal.api2.Shelly2RpcSocket.onText(Shelly2RpcSocket.java:268) ~[?:?]
2025-12-12 16:49:43.924 [DEBUG] [g.shelly.internal.api2.Shelly2ApiRpc] - shellyplusplugs-e465b8b5b3fc: Closing Rpc API (socket is connected, discovery=false)
2025-12-12 16:49:43.925 [DEBUG] [g.shelly.internal.api2.Shelly2ApiRpc] - shellyplusplugs-e465b8b5b3fc: WebSocket connection closed, status = 1006/Disconnected
2025-12-12 16:49:43.925 [DEBUG] [g.shelly.internal.api2.Shelly2ApiRpc] - shellyplusplugs-e465b8b5b3fc: Closing Rpc API (socket is disconnected, discovery=false)
and
2025-12-13 10:11:40.604 [DEBUG] [ng.shelly.internal.api2.ShellyBluApi] - shellybluws90-02b7fbd4be: BLU event oh-blu.data received from address 28:68:47:ef:ae:fb, pid=33 (JSON={"src":"shellyplusplugs-a0a3b3e91890","dst":"o
penhab-172.17.0.3","method":"NotifyEvent","params":{"ts":1765617101.69,"events":[{"component":"script:1","id":1,"event":"oh-blu.data","data":{"encryption":false,"BTHome_version":2,"pid":33,"Battery":100,"Pressure":1012.7,
"Dewpoint":3.11,"Voltage":0.2,"Humidity":98,"Temperature":[3.4],"Precipitation":0.1,"addr":"28:68:47:ef:ae:fb","rssi":-84,"packet":"40 00 21 01 64 04 96 8b 01 08 37 01 0c c8 00 2e 62 45 22 00 5f 01 00"},"ts":1765617101.69
}]}})
2025-12-13 10:11:40.604 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellybluws90-02b7fbd4be: Updating channel definitions, 1 channels
2025-12-13 10:11:40.604 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellybluws90-02b7fbd4be: Adding channel device#deviceName
2025-12-13 10:11:40.608 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellybluws90-02b7fbd4be: Channel definitions updated
2025-12-13 10:11:40.609 [DEBUG] [helly.internal.api2.Shelly2RpcSocket] - shellyplusplugs-e465b8b5b3fc: Unable to process Rpc message (Channel definition for sensors#windDirection not found!): {"src":"shellyplusplugs-a0a3b
3e91890","dst":"openhab-172.17.0.3","method":"NotifyEvent","params":{"ts":1765617101.69,"events":[{"component":"script:1","id":1,"event":"oh-blu.data","data":{"encryption":false,"BTHome_version":2,"pid":33,"Battery":100,"
Pressure":1012.7,"Dewpoint":3.11,"Voltage":0.2,"Humidity":98,"Temperature":[3.4],"Precipitation":0.1,"addr":"28:68:47:ef:ae:fb","rssi":-84,"packet":"40 00 21 01 64 04 96 8b 01 08 37 01 0c c8 00 2e 62 45 22 00 5f 01 00"},"
ts":1765617101.69}]}}
Unable to process Rpc message (Channel definition for sensors#windDirection not found!
Hope this helps and looking forward to get is working.
Thanks!
Hi, that sounds generally interesting, I have the WS90 as well.
Anyway, under OpenHABian, also OH 5.1.0M3, I have the issues described in my previous post and also in this ticket.
That one is a real showstopper for me. The ble discovery script immediately swamps all memory in my Plug S Gen3 as well as on my USB Blu Gateways, making them reboot in a loop and leaving any Blu Gateway functionality in failure.
To clarify again - not OH crashes, it’s the Shelly script which makes the Shelly devices reboot because they ran out of memory.
I looked at the script, it looks complete for me, so (besides the fact that I reinstalled the script dozens of times with the binding) it does not seem like a copy or installation error.
What did you do to make it work on your gateways?
EDIT - This issue is really making me desperate. Meanwhile I downloaded the latest version of the script from the OH Git and manually copied it into a Plug S which is not even connected to OpenHAB, just to exclude any issues from that side.
Immediate crash when launching it, again with “Script ran out of memory”.
My Plug is on firmware version 1.7.1stable, which one is yours?
Unfortunately I cannot help with this here, however even when I got my BLU devices connected, they never worked stable for my. I then switched for the BLU devices instead of the Shelly Gateway on the Plus-devices to the OpenMQTT gateway. It is basically a peace of software running on a ESP32 and acting as gateway for many devices like BT or other radios if you add them and then converts it to MQTT. Never had an issue with that setup running multiple door/window and motion BLU sensors.
