Shelly Binding

HT&T status gets updated via CoIoT messages. Please disable jetty logging and use regular DEBUG log only

Did you tried the regular DEV build or the -gen2.jar?

For the moment, Iā€™m running org.openhab.binding.shelly-3.3.0-gen2.jar.

Some new logs.
Seems that temperature is getting in (ref 08:02:38.953), but not picked up by my item?

2022-04-23 08:00:29.388 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Ignore API Timeout, retry later
2022-04-23 08:02:38.940 [DEBUG] [lly.internal.api1.Shelly1CoapHandler] - shellydw2-078187: CoIoT Message from /192.168.110.25:5683 (MID=48999): {"G":[[0,9103,0],[0,3108,0],[0,3119,0],[0,3109,-1],[0,6110,1],[0,3106,502],[0,3110,"bright"],[0,3101,11.20],[0,3102,52.16],[0,3115,0],[0,3111,99],[0,9102,["sensor","light"]]]}
2022-04-23 08:02:38.940 [DEBUG] [lly.internal.api1.Shelly1CoapHandler] - shellydw2-078187: CoIoT Message from /192.168.110.25:5683 (MID=48999): {"G":[[0,9103,0],[0,3108,0],[0,3119,0],[0,3109,-1],[0,6110,1],[0,3106,502],[0,3110,"bright"],[0,3101,11.20],[0,3102,52.16],[0,3115,0],[0,3111,99],[0,9102,["sensor","light"]]]}
2022-04-23 08:02:38.941 [DEBUG] [elly.internal.coap.ShellyCoapHandler] - shellydw2-078187: CoIoT Message from /192.168.110.25:5683 (MID=48999): {"G":[[0,9103,0],[0,3108,0],[0,3119,0],[0,3109,-1],[0,6110,1],[0,3106,502],[0,3110,"bright"],[0,3101,11.20],[0,3102,52.16],[0,3115,0],[0,3111,99],[0,9102,["sensor","light"]]]}
2022-04-23 08:02:38.942 [DEBUG] [lly.internal.api1.Shelly1CoapHandler] - shellydw2-078187: CoIoT Sensor data {"G":[[0,9103,0],[0,3108,0],[0,3119,0],[0,3109,-1],[0,6110,1],[0,3106,502],[0,3110,"bright"],[0,3101,11.20],[0,3102,52.16],[0,3115,0],[0,3111,99],[0,9102,["sensor","light"]]]} (serial=256)
2022-04-23 08:02:38.943 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Channel device#heartBeat updated with 2022-04-23T08:02:38.000+0200 (type class org.openhab.core.library.types.DateTimeType).
2022-04-23 08:02:38.943 [DEBUG] [lly.internal.api1.Shelly1CoapHandler] - shellydw2-078187: CoIoT Sensor data {"G":[[0,9103,0],[0,3108,0],[0,3119,0],[0,3109,-1],[0,6110,1],[0,3106,502],[0,3110,"bright"],[0,3101,11.20],[0,3102,52.16],[0,3115,0],[0,3111,99],[0,9102,["sensor","light"]]]} (serial=256)
2022-04-23 08:02:38.944 [DEBUG] [lly.internal.api1.Shelly1CoapHandler] - shellydw2-078187: 12 CoAP sensor updates received
2022-04-23 08:02:38.944 [DEBUG] [lly.internal.util.ShellyChannelCache] - shellydw2-078187: Channel device#heartBeat updated with 2022-04-23T08:02:38.000+0200 (type class org.openhab.core.library.types.DateTimeType).
2022-04-23 08:02:38.945 [DEBUG] [elly.internal.coap.ShellyCoapHandler] - shellydw2-078187: CoIoT Sensor data {"G":[[0,9103,0],[0,3108,0],[0,3119,0],[0,3109,-1],[0,6110,1],[0,3106,502],[0,3110,"bright"],[0,3101,11.20],[0,3102,52.16],[0,3115,0],[0,3111,99],[0,9102,["sensor","light"]]]} (serial=256)
2022-04-23 08:02:38.945 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Send event device#alarm to channel VIBRATION
2022-04-23 08:02:38.946 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Duplicate vibration events will be absorbed for the next 6 sec
2022-04-23 08:02:38.946 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Shelly016_Update' changed from 2022-04-23T07:56:56.000+0200 to 2022-04-23T08:02:38.000+0200
2022-04-23 08:02:38.946 [DEBUG] [elly.internal.coap.ShellyCoapHandler] - shellydw2-078187: 12 CoAP sensor updates received
2022-04-23 08:02:38.947 [DEBUG] [lly.internal.api1.Shelly1CoapHandler] - shellydw2-078187: 12 CoAP sensor updates received
2022-04-23 08:02:38.948 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Send event device#alarm to channel VIBRATION
2022-04-23 08:02:38.948 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Send event device#alarm to channel VIBRATION
2022-04-23 08:02:38.948 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Vibration event absorbed, 6 sec remaining
2022-04-23 08:02:38.949 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Duplicate vibration events will be absorbed for the next 6 sec
2022-04-23 08:02:38.949 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Event filtered: SENSOR
2022-04-23 08:02:38.949 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Event filtered: SENSOR
2022-04-23 08:02:38.950 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Channel sensors#lux updated with 502 lx (type class org.openhab.core.library.types.QuantityType).
2022-04-23 08:02:38.951 [INFO ] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: message.event.triggered
2022-04-23 08:02:38.952 [DEBUG] [lly.internal.util.ShellyChannelCache] - shellydw2-078187: Channel sensors#lux updated with 502 lx (type class org.openhab.core.library.types.QuantityType).
2022-04-23 08:02:38.953 [DEBUG] [lly.internal.util.ShellyChannelCache] - shellydw2-078187: Channel sensors#temperature updated with 11.2 Ā°C (type class org.openhab.core.library.types.QuantityType).
2022-04-23 08:02:38.954 [DEBUG] [elly.internal.coap.ShellyCoapHandler] - shellydw2-078187: 2 channels updated from CoIoT status, serial=256
2022-04-23 08:02:38.955 [DEBUG] [lly.internal.util.ShellyChannelCache] - shellydw2-078187: Channel sensors#lastUpdate updated with 2022-04-23T08:02:38.000+0200 (type class org.openhab.core.library.types.DateTimeType).
2022-04-23 08:02:38.958 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Channel sensors#temperature updated with 11.2 Ā°C (type class org.openhab.core.library.types.QuantityType).
2022-04-23 08:02:38.959 [DEBUG] [lly.internal.api1.Shelly1CoapHandler] - shellydw2-078187: 2 channels updated from CoIoT status, serial=256
2022-04-23 08:02:38.959 [INFO ] [hab.event.GroupItemStateChangedEvent] - Item 'BU_hel' changed from 1337 to 1346 through Shelly016_Helderheid
2022-04-23 08:02:38.960 [INFO ] [hab.event.GroupItemStateChangedEvent] - Item 'ALL_hel' changed from 448 to 450 through Shelly016_Helderheid
2022-04-23 08:02:38.963 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Shelly016_Helderheid' changed from 429 lx to 502 lx
2022-04-23 08:02:38.964 [INFO ] [hab.event.GroupItemStateChangedEvent] - Item 'SE_hel' changed from 215 to 251 through Shelly016_Helderheid
2022-04-23 08:02:42.592 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Vibration events are absorbed for 3 more seconds
2022-04-23 08:02:42.593 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Vibration events are absorbed for 3 more seconds
2022-04-23 08:02:45.593 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Vibration events are absorbed for 0 more seconds
2022-04-23 08:02:45.594 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydw2-078187: Vibration events are absorbed for 0 more seconds

My items:

Number:Temperature	Shelly016_Temperature	"Serre [%.1f C]"	<sun>		(BU_temx, BU_temS)	  	    { channel = "shelly:shellydw2:650cfeab88:sensors#temperature" }
Number:Illuminance	Shelly016_Helderheid	"Serre [%.1f Lux]"	<sun>		(ALL_hel, BU_hel, SE_hel)	{ channel = "shelly:shellydw2:650cfeab88:sensors#lux" }
String			    Shelly016_Helderheid2	"Serre [%.1f Lux]"	<sun>						{ channel = "shelly:shellydw2:650cfeab88:sensors#illumination" }
Contact		     	Shelly016_Contact	"Serre [%s]"		<contact>	(ent_SER)			{ channel = "shelly:shellydw2:650cfeab88:sensors#state" }
Number:Angle		Shelly016_Tilt		"Serre [%.f]"		<sun>						{ channel = "shelly:shellydw2:650cfeab88:sensors#tilt" }
Number			    Shelly016_Batterij	"Serre deur [%s %%]"	<battery> 	(allBat)			{ channel = "shelly:shellydw2:650cfeab88:battery#batteryLevel" }
Switch		     	Shelly016_BatterijLaag	"Batterij laag [%s]"	<contact>					{ channel = "shelly:shellydw2:650cfeab88:battery#lowBattery" }
String			    Shelly016_Trigger	"Trigger Serre [%s]"	<motion>					{ channel = "shelly:shellydw2:650cfeab88:device#alarm" }
Number			    Shelly016_WIFI		"Serre venster 2 [%s]"	<network>					{ channel = "shelly:shellydw2:650cfeab88:device#wifiSignal" }
String			    Shelly016_Naam		"Naam [%s]"		<log>						{ channel = "shelly:shellydw2:650cfeab88:device#deviceName" }
DateTime	     	Shelly016_Update	"Laatste update [%s]"	<clock>						{ channel = "shelly:shellydw2:650cfeab88:device#heartBeat"}

Seems that my item in the text file wasnā€™t picked up properly? When I add an item over the GUI:

Wrong item:

Number:Temperature      Shelly018_TemperatureText       "Serre [%.1f C]"        <sun>           (BU_temx, BU_temS)              { channel = "shelly:shellyht:6ad3ca8bc5:sensors#temperature" }

Correct item (with %unit%) :
Number:Temperature   Shelly018_TemperatureText       "Serre [%.1f  %unit%]"        <sun>           (BU_temx, BU_temS)              { channel = "shelly:shellyht:6ad3ca8bc5:sensors#temperature" }

strange

Donā€™t you havevto include the degree symbol. Th wrong definition just uses Cā€¦ not Ā°C

1 Like

100% correct.
or maybe even better: %unit%

While working on Plus/Pro roller/cover support I was thinking to remove Coap1 support. This impacts users running very old firmware. Is anybody here to give a good reason why to keep Coap1 (Gen2 devices have Coap2 since v1.8)?

No reply means ā€œgets removedā€ with the PR adding Plus/Pro

I would say let 'er rip. It may force firmware updates for some

2 Likes

Thanks Dev!, power switch now working fantastically for Plus 1ā€™s using the latest 3-3-0gen2.jar

Do you habe a mixed setup with Gen1 and 2? The gen2 jar supports them both, but I want to make sure that compatibility is given before switching to the new code base

No sorry I only have gen2 at the moment.
I have some gen1 eventually arriving by boat to replace a zwave network so can report back at that point.

I updated the gen2 build

  • Roller support for Plus2PM/Pro2/Pro2PM
  • Discovery of Plus2PM fixed
  • Generel support for Gen2 battery devices
  • Support for the upcoming PlusHT
  • Some minor fixes

Please give it a try and report issues.

The build also support Gen1 devices, but this is not verified yet. It also runs on OH 3.2.


3.3.0-GEN2 Build | 3.3.0-DEV Build Gen1 -
README - Avdanced Users - Shelly Manager - Bugs/Features -
Gen1 firmware Index - Gen 1 firmware Archive - API Doc


Note: The DEV build is always newer than the version in the official Distro or the Milestone builds check here for more info on first installation

1 Like

Hey Markus, i tried to install your new Binding but found the following message in the Log

2022-05-21 21:41:10.617 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/usr/share/openhab/addons/org.openhab.binding.shelly-3.3.0-gen2.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.shelly [399]
  Unresolved requirement: Import-Package: org.eclipse.californium.core; version="[2.0.0,3.0.0)"
	at org.eclipse.osgi.container.Module.start(Module.java:463) ~[org.eclipse.osgi-3.16.300.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:445) ~[org.eclipse.osgi-3.16.300.jar:?]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [bundleFile:3.7.2]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [bundleFile:3.7.2]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520) [bundleFile:3.7.2]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [bundleFile:3.7.2]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [bundleFile:3.7.2]

you have not installed the Californium libs, check How-To install

Hi Markus,

thanks for the new plus and pro support, I have recently bought a lot of them so I am eager to get it work :slight_smile:

I have tried the Gen2 binding version and tried to get working 4PMpro and 1 plus, but failed on both.

for the 1plus, its probably mainly on mine side as I have set up there authorization on the device - on the new plus line you only set up password, but in the binding, if you set up only the password it does not work, and I have tried the standard users: root, admin - that does not help. Is there a special way how to set up the access for the plus devices, or is there a username I should use?
there is of course obvious error in the log(pasting it to just be sure, I have not missed something in the log):

2022-05-24 23:44:33.467 [INFO ] [y.internal.handler.ShellyBaseHandler] - shellyplus1-xxxxxxxxxxxxx: Device is password protected, enter correct credentials in thing configuration.
2022-05-24 23:44:33.471 [INFO ] [y.internal.handler.ShellyBaseHandler] - shellyplus1-xxxxxxxxxxxxx: Thing goes OFFLINE: Access denied, check user id and password.
2022-05-24 23:44:33.479 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.IllegalArgumentException: Invalid device name format: shellydevice
	at org.openhab.binding.shelly.internal.discovery.ShellyThingCreator.getThingType(ShellyThingCreator.java:129) ~[?:?]
	at org.openhab.binding.shelly.internal.discovery.ShellyThingCreator.getThingTypeUID(ShellyThingCreator.java:117) ~[?:?]
	at org.openhab.binding.shelly.internal.handler.ShellyBaseHandler.changeThingType(ShellyBaseHandler.java:995) ~[?:?]
	at org.openhab.binding.shelly.internal.handler.ShellyBaseHandler.isAuthorizationFailed(ShellyBaseHandler.java:982) ~[?:?]
	at org.openhab.binding.shelly.internal.handler.ShellyBaseHandler.lambda$0(ShellyBaseHandler.java:193) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	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:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:834) [?:?]

For the 4plus PRO PM, it has found it and add it via openhab 3 UI, but it failed during initialization, its running between the statuses: offline> initializing > online > offlineā€¦
here is the log:

2022-05-24 23:32:43.207 [INFO ] [y.internal.handler.ShellyBaseHandler] - shellypro4pm-XXXXXXXXXXXX: INFO: New firmware available: current version: v0.10.1, new version: null
2022-05-24 23:32:43.231 [WARN ] [g.shelly.internal.api2.Shelly2RpcApi] - shellypro4pm-XXXXXXXXXXXX: Device requires restart to activate changes
2022-05-24 23:32:43.417 [WARN ] [g.shelly.internal.api2.Shelly2RpcApi] - shellypro4pm-XXXXXXXXXXXX: Device requires restart to activate changes
2022-05-24 23:32:46.624 [WARN ] [g.shelly.internal.api2.Shelly2RpcApi] - shellypro4pm-XXXXXXXXXXXX: Device requires restart to activate changes
2022-05-24 23:32:46.649 [INFO ] [y.internal.handler.ShellyBaseHandler] - shellypro4pm-XXXXXXXXXXXX: INFO: New firmware available: current version: v0.10.1, new version: null
2022-05-24 23:32:46.858 [WARN ] [g.shelly.internal.api2.Shelly2RpcApi] - shellypro4pm-XXXXXXXXXXXX: Device requires restart to activate changes
2022-05-24 23:32:50.093 [INFO ] [y.internal.handler.ShellyBaseHandler] - shellypro4pm-XXXXXXXXXXXX: INFO: New firmware available: current version: v0.10.1, new version: null
2022-05-24 23:32:50.098 [WARN ] [g.shelly.internal.api2.Shelly2RpcApi] - shellypro4pm-XXXXXXXXXXXX: Device requires restart to activate changes
2022-05-24 23:32:50.299 [WARN ] [g.shelly.internal.api2.Shelly2RpcApi] - shellypro4pm-XXXXXXXXXXXX: Device requires restart to activate changes
2022-05-24 23:32:53.517 [WARN ] [g.shelly.internal.api2.Shelly2RpcApi] - shellypro4pm-XXXXXXXXXXXX: Device requires restart to activate changes
2022-05-24 23:32:53.550 [INFO ] [y.internal.handler.ShellyBaseHandler] - shellypro4pm-XXXXXXXXXXXX: INFO: New firmware available: current version: v0.10.1, new version: null
2022-05-24 23:32:53.739 [WARN ] [g.shelly.internal.api2.Shelly2RpcApi] - shellypro4pm-XXXXXXXXXXXX: Device requires restart to activate changes
2022-05-24 23:32:56.953 [WARN ] [g.shelly.internal.api2.Shelly2RpcApi] - shellypro4pm-XXXXXXXXXXXX: Device requires restart to activate changes
2022-05-24 23:32:56.980 [INFO ] [y.internal.handler.ShellyBaseHandler] - shellypro4pm-XXXXXXXXXXXX: INFO: New firmware available: current version: v0.10.1, new version: null
2022-05-24 23:32:57.193 [WARN ] [g.shelly.internal.api2.Shelly2RpcApi] - shellypro4pm-XXXXXXXXXXXX: Device requires restart to activate changes
2022-05-24 23:33:01.242 [ERROR] [st.core.internal.thing.ThingResource] - Exception during HTTP PUT request for update config at 'things/shelly:shellypro4pm:XXXXXXXXXXXX/config'
java.lang.IllegalStateException: Thing with UID shelly:shellypro4pm:XXXXXXXXXXXX has no handler attached.
	at org.openhab.core.thing.internal.ThingRegistryImpl.updateConfiguration(ThingRegistryImpl.java:96) ~[?:?]
	at org.openhab.core.io.rest.core.internal.thing.ThingResource.updateConfiguration(ThingResource.java:498) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:179) ~[bundleFile:3.4.5]
	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96) ~[bundleFile:3.4.5]
	at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:201) ~[bundleFile:3.4.5]
	at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:104) ~[bundleFile:3.4.5]
	at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) ~[bundleFile:3.4.5]
	at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96) ~[bundleFile:3.4.5]
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:265) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:225) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:298) ~[bundleFile:3.4.5]
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPut(AbstractHTTPServlet.java:234) ~[bundleFile:3.4.5]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) ~[bundleFile:3.1.0]
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:273) ~[bundleFile:3.4.5]
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550) ~[bundleFile:9.4.43.v20210629]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[bundleFile:?]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434) ~[bundleFile:9.4.43.v20210629]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:294) ~[bundleFile:?]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[bundleFile:9.4.43.v20210629]
	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:82) ~[bundleFile:?]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) ~[bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) [bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) [bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) [bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) [bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) [bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) [bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) [bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) [bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:386) [bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) [bundleFile:9.4.43.v20210629]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) [bundleFile:9.4.43.v20210629]
	at java.lang.Thread.run(Thread.java:834) [?:?]
2022-05-24 23:33:05.783 [INFO ] [y.internal.handler.ShellyBaseHandler] - shellypro4pm-XXXXXXXXXXXX: INFO: New firmware available: current version: v0.10.1, new version: null
2022-05-24 23:33:05.803 [WARN ] [g.shelly.internal.api2.Shelly2RpcApi] - shellypro4pm-XXXXXXXXXXXX: Device requires restart to activate changes
2022-05-24 23:33:07.988 [WARN ] [g.shelly.internal.api2.Shelly2RpcApi] - shellypro4pm-XXXXXXXXXXXX: Device requires restart to activate changes
2022-05-24 23:33:08.007 [INFO ] [y.internal.handler.ShellyBaseHandler] - shellypro4pm-XXXXXXXXXXXX: INFO: New firmware available: current version: v0.10.1, new version: null
2022-05-24 23:33:08.223 [WARN ] [g.shelly.internal.api2.Shelly2RpcApi] - shellypro4pm-XXXXXXXXXXXX: Device requires restart to activate changes
2022-05-24 23:33:11.452 [WARN ] [g.shelly.internal.api2.Shelly2RpcApi] - shellypro4pm-XXXXXXXXXXXX: Device requires restart to activate changes

also it was saying that the device is restarting, but the device itself was not rebooted, so probably only meant restarting in openhab.

I have also stopped the COAP as I am not sure its supported in the new gen, but that was more of desperation to make it work and that did not helped with statuses at all

Not sure if I have missed some setting.Or I need to add them manually now instead of UI?
thanks for all the work

Hello all. I have a single 1PM that keeps throwing this warning into the logs:

2022-05-26 07:03:43.534 [WARN ] [network.InMemoryMessageExchangeStore] - coap Exchange[L821368] with manual token overrides existing Exchange[L821367] with open request: KeyToken[192.168.30.82:5683-]
2022-05-26 07:03:43.535 [WARN ] [network.InMemoryMessageExchangeStore] - coap Exchange[L821369] with manual token overrides existing Exchange[L821368] with open request: KeyToken[192.168.30.82:5683-]

At least that IP address corresponds to one of my 1PMs. It seems to otherwise be working adequately

i control a sun blind with a shelly 2.5. to deativate the sun control via button in the wintertime, i have configure the shelly to detached mode. now i will forwarding the button event in a rule to control the blind.
but i donā€™t now how i can read the button event (in detached mode) ā€¦ can someone give me a tip?

Hi all,
has anyone ever experienced the rollershutter position jumping between 100 and 0 with a shelly25 and OH3.2 ? There is a one year old issue on GitHub but it is closed. Hasnā€™t the fix gone live yet or is there something that I am missing ?

I use as Things file:
Thing shelly:shelly25-roller:RaffstoreWest "Shelly 25 Roller RaffstoreWest" @ "Wohnzimmer" [deviceIp="192.168.1.121"]

and as Item:
Rollershutter EG_Wohnen_RaffstoreWest "RaffstoreWest" <rollershutter> (gRolloLevel, gRollo_Wohnen_RaffstoreWest,gEG_Wohnen) [ "Blinds" ] {channel="shelly:shelly25-roller:RaffstoreWest:roller#control", autoupdate="false", autoupdate="false"}

It seems to be working except for the position jumping in the BasicUI. It is reported fine on MQTT.

I updated both builds:

  • Fixes a problem with parsing CoAP messages from Plug-S and Bulbs. This prevented channel updates based on CoAP, you should now the the expected fast updates, e.g. power consumption.
  • Fix for password protected devices and Pro 4 as @met reported above
  • German language resources have been removed, they will be back once approved on CrowdId

Who wants to help adding more languages to the Shelly Binding? I adapted to Crowdin, a web service used to simplify the translation process for openHAB bundles. Iā€™s really easy to use

  • go to openhab-addons translations in Crowdin, selected the target language you want to have
  • go under projects in the upper left corner, search for openhab-addons, select project
  • use the browser search to search for ā€œshellyā€, open the folders down to shelly.properties, click on shelly.properties
  • all messages with missing translation have a red icon
  • click on the next message on the left, enter translation on the right and click Save
  • continue for as much messages as you like

I think you could support on 26 languages, not only the major ones. Send me a PM if you have questions.

The result will be approved by a native speaker and then goes into the openHAB codebase and becomes part of the next milestone build/release.


3.3.0-GEN2 Build | 3.3.0-DEV Build Gen1 - Binding translations -
README - Avdanced Users - Shelly Manager - Bugs/Features -
Gen1 firmware Index - Gen 1 firmware Archive - API Doc


Note: The DEV build is always newer than the version in the official Distro or the Milestone builds check here for more info on first installation

@met please try the updated Gen2 build

@DaveL Never saw those messages, but I canā€™t do anything here. Those are coming from the Californium framework.

@Check the documentation, it should be possible with something like

rule "Relay Events"
when
    Channel "shelly:shelly1pm:xxxxxxxxxxxx:relay#button " triggered
then

@s0170071 I saw the issue, but didnā€™t get any diagnostic information. Send me a PM with a DEBUG log

which cannel do you link to get the roller position? control or rollerPos?