Shelly Binding

Yes, I have the same problem with two shellyplus2pm on 1.6.1. The other shelly devices run perfect with 1.5.1.

Is there a way to downgrade?

In the past it was possible to downgrade from https://archive.shelly-tools.de/assets/images/shelly_logo.png
This site is no longer accessible … so we have to wait for the next version or until Shelly provide a downgrade possibility. I have several shellyplus1 devices but only one provide 1.6.1 update. The other shellyplus1 devices only provide 1.6.0-beta2. This is possibly an indication that Shelly stopped 1.6.1 upgrade.
image
Wenn I go with the mouse over “ERROR: COMM” it says “Unerwarteter Fehler - WebSocket error”. After a while it is online again and than again “ERROR: COMM”.
I’m not sure if this is the right error message in the openhab.log:

2025-05-18 14:16:46.328 [INFO ] [b.core.io.websocket.log.LogWebSocket] - WebSocket error: java.util.concurrent.TimeoutException: Idle timeout expired: 10000/10000 ms

Not sure if this is a Shelly or Openhab problem

1.6.1 is a controlled release, meaning it is being rolled out in phases, not all devices will receive the update immediately. You need to check from time to time if it is available for your device.

Did you try downgrading with the Shelly-manager?

Same for me

You can access it via mobile still…but I can’t find firmware 1.5.1

Here comes a litte guide how to downgrade:

  1. Go to the list with links with contains links for get the right firmware to download later:
    → Manuelles FW Download ab Gen2 !!! Es muss erst FW. 1.3.3 oder höher installiert sein !!! - Shelly Inside - Shelly Forum
Name	Link
Shelly Blue Gateway	https://updates.shelly.cloud/update/BluGw
	https://updates.shelly.cloud/update/EMG3
	https://updates.shelly.cloud/update/I4G3
Shelly Mini 1 Gen3	https://updates.shelly.cloud/update/Mini1G3
Shelly Mini 1 Gen4	https://updates.shelly.cloud/update/Mini1G4
Shelly Mini 1 PM Gen3	https://updates.shelly.cloud/update/Mini1PMG3
Shelly Mini 1 PM Gen4	https://updates.shelly.cloud/update/Mini1PMG4
Shelly Mini PM Gen3	https://updates.shelly.cloud/update/MiniPMG3
Shelly Plug S Gen 3	https://updates.shelly.cloud/update/PlugSG3
Shelly Plus 1	https://updates.shelly.cloud/update/Plus1
	https://updates.shelly.cloud/update/Plus10V
Shelly Plus 1 PM	https://updates.shelly.cloud/update/Plus1PM
Shelly Plus 2 PM	https://updates.shelly.cloud/update/Plus2PM
Shelly Plus H&T	https://updates.shelly.cloud/update/PlusHT
	https://updates.shelly.cloud/update/PlusI4
Shelly Plus Plug S	https://updates.shelly.cloud/update/PlusPlugS
	https://updates.shelly.cloud/update/PlusPMMini
	https://updates.shelly.cloud/update/PlusRGBWPM
	https://updates.shelly.cloud/update/PlusSmoke
Shelly Plus Uni	https://updates.shelly.cloud/update/PlusUni
	https://updates.shelly.cloud/update/PlusWallDimmer
Shelly Pro 1	https://updates.shelly.cloud/update/Pro1
Shelly Pro 1 PM	https://updates.shelly.cloud/update/Pro1PM
Shelly Pro 2	https://updates.shelly.cloud/update/Pro2
Shelly Pro 2 PM	https://updates.shelly.cloud/update/Pro2PM
Shelly Pro 3	https://updates.shelly.cloud/update/Pro3
Shelly Pro 3 EM	https://updates.shelly.cloud/update/Pro3EM
Shelly Pro 4 PM	https://updates.shelly.cloud/update/Pro4PM
	
Shelly Dual Cover	
	https://updates.shelly.cloud/update/ProDimmerx
Shelly Pro PM	https://updates.shelly.cloud/update/ProEM
	https://updates.shelly.cloud/update/ProRGBWWPM
	https://updates.shelly.cloud/update/S3EMG3
Shelly Wall Display	https://updates.shelly.cloud/update/WallDisplay

So e.g. for a Shelly Plus 1: https://updates.shelly.cloud/update/Plus1

Copy and paste this into any browser, and you will get this e.g. back:

	
stable	
version	"1.5.1"
build_id	"20250318-152131/1.5.1-g01dd7ff"
url	"https://fwcdn.shelly.cloud/gen2/Plus1/97cbb4cc3bede3f3acd5b12acf132358aa40ffb8189e11b865c15a737a62bb71"
beta	
version	"1.6.0-beta2"
build_id	"20250428-114746/1.6.0-beta2-g88148f5"
url	"https://fwcdn.shelly.cloud/gen2/Plus1/1441cf9c6540fc706d9e7326747811bde17d930b8dbc66f4aa52a63f40397afe"
time	1747582199

Then you go via the UI to the Shelly Plus 1, to the section setting, firmware,
and paste the line you got back with starts with “https://fwcdn…” from the browser to the field “Firmware file image link”

Press the “update from Link” button, and your shelly plus 1 will be flashed (downgraded) with the 1.5.1 version and will do a reboot.

Thats it… Have fun by doing a downgrade…

PS: 1.5.1 works fine now for me and OH and getting alone online again…
PSS: I would recommend to also flag in the Shelly the setting “not to do an autoupdate”:

2 Likes

Thank you for your help! The downgrade to 1.5.1 worked on the two shellyplus2pm (Markise, Markise-Rollo). The shellyplusi4 (Kueche Taster) is still on 1.6.1 as I didn’t experience problems.

It’s already fixed

https://github.com/openhab/openhab-addons/issues/18684

You can download the jar file no need to downgrade

Some update. There is now a Firmware 1.6.2 ready for download, which makes the scenario much much worser. So far, it was possible to bring the shelly with an disable and enable in the thing back with the 1.6.1. Now this works only for a minute and the websocket error is there..´
Also it it not more possible down downgrade to the 1.5.1. The file is missing on the backend server.

So all of you which want to try the 1.6.2, please be aware, that you cannot downgrade anymore to the 1.5.1

The new jar file which is listed here, is not working for me. I cannot see the binding in the list, and all my Shelly are offline.

Annnnnnnd I turned off auto update for all devices. Jeeesus

@scheuerer Might the problem be that you are on oh4.3.x and the har file is for oh5.x?

I have now found a way, to bring the shelly plus 1 with Firmware 1.6.2 back to OH without having the WebSocket Error:

  • Download the new 5.00 binding jar file and save it somewhere. https://github.com/user-attachments/files/20262988/org.openhab.binding.shelly-5.0.0-SNAPSHOT.zip
  • remove the current 3.4.5 shelly binding from the OH system
  • delete the thing “the shelly plus 1 which makes the problem” and all items which belong to him.
  • stop the OH service
  • copy the new 5.00 binding jar file to the addon folder
  • reboot the system
  • add the “old official shelly binding”
  • open OH console and “feature:install openhab-transport-coap”
    → your old shellys should be soon there and working.

You have two binding listet in your system: the old one (4.3.5) and the new one 5.0.0

Now you can selected the new 5.0.0 binding and can add the shelly plus1 to your system.
Create all the channels in the new thing (shelly plus 1)

–>> It works (at least for me)

What is new: (e.g. the channel which was in past “Temperatur1” has been changed to “Außentemperatur” now
So I have had to ajust all the Pages where the Termperatur was show or a graph generated.

I hope this will work now, until we will get a offical OH 5.0 with the default 5.0.0 Shelly binding.

Getting this error

2025-05-23 08:10:04.072 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/usr/share/openhab/addons/org.openhab.binding.shelly-5.0.0-SNAPSHOT.jar org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.shelly [352] Unresolved requirement: Import-Package: org.eclipse.californium.core; version="[4.0.0,5.0.0)" at org.eclipse.osgi.container.Module.start(Module.java:463) ~[org.eclipse.osgi-3.18.0.jar:?] at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:445) ~[org.eclipse.osgi-3.18.0.jar:?] at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [bundleFile:3.7.4] at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [bundleFile:3.7.4] at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520) [bundleFile:3.7.4] at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [bundleFile:3.7.4] at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [bundleFile:3.7.4]

open OH console and “feature:install openhab-transport-coap”

Hello everyone!

I’ve been following this Shelly Binding post for a while now. I keep reading about instabilities and problems for which the binding is blamed. Since I myself also have and have had problems with the shellys (I am running more than 100 at the moment), also in combination with openHAB, I have been looking for solutions. I have built my own small monitoring stack for this and would like to share it all with you here. I think the most important thing is the syslog server stack, with which you can catch all Shelly UDP debug messages and evaluate them at your leisure.

I have also developed a small Python script that gives me the most important information, such as uptime and RSSI.

In addition, I have a script running every 5 minutes that checks whether all shellies are also accessible via REST API.

I have documented everything in this article. It’s in German, so it’s best to use your browser’s translation function.

You can find everything else I have developed on Github (documentation in English):

I hope it helps one or the other. Not all errors come from openHAB or the Shelly Binding. I also have a few Shellys running via MQTT as a test, these also have their problems with poor wifi reception. So far I am very happy with the shelly binding. Thanks to all contributors for the great work!

cheers
Andreas

Appreciated your article. But I need to say that I am running also 50 of Shelly’s now and there was only one instability which happened due to some firmware updates…nothing dramatic the new binding is running fine was upgraded in 1 day so I love the community

I’m running the binding since quite a few years without any problems (big :folded_hands: to @markus7017. For my OH one of the most important bindings). Two important things especially for newcomers:

  • don’t do firmware updates until they’re proven to be stable with OH. A downgrade is not always easily possible
  • accept that new hardware from Shelly might be not supported (yet). But you can try the dev-version.