Shelly Binding

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 dashboard 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?

I use control.
{channel=ā€œshelly:shelly25-roller:ThingRaffstoreWest:roller#controlā€, autoupdate=ā€œfalseā€}

The issue appears is the roller is in the open position and I try to move it up.
The position then jumps to 100 and back to 0 instantly.

here is the log:

2022-05-29 15:19:53.170 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'EG_Wohnen_RaffstoreWest' received command UP

2022-05-29 15:19:53.182 [DEBUG] [.internal.handler.ShellyRelayHandler] - shelly25-roller-thingraffstorewest: Roller command/position UP

2022-05-29 15:19:53.197 [DEBUG] [.internal.handler.ShellyRelayHandler] - shelly25-roller-thingraffstorewest: Open roller

2022-05-29 15:19:53.213 [DEBUG] [.internal.handler.ShellyRelayHandler] - shelly25-roller-thingraffstorewest: Set roller position for control channel to 100

2022-05-29 15:19:53.215 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel roller#control updated with 100 (type class org.openhab.core.library.types.PercentType).

2022-05-29 15:19:53.218 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'EG_Wohnen_RaffstoreWest' changed from 0 to 100

2022-05-29 15:19:53.222 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel device#heartBeat updated with 2022-05-29T15:19:53.000+0200 (type class org.openhab.core.library.types.DateTimeType).

2022-05-29 15:19:53.226 [DEBUG] [elly.internal.coap.ShellyCoapHandler] - shelly25-roller-thingraffstorewest: CoIoT Message from /192.168.1.121:5683 (MID=8836): {"G":[[0,112,1],[0,122,0],[0,113,100],[0,111,0.000000],[0,121,0.000000],[0,118,0],[0,128,0],[0,115,61.89],[0,116,143.40],[0,117,0]]}

2022-05-29 15:19:53.228 [DEBUG] [elly.internal.coap.ShellyCoapHandler] - shelly25-roller-thingraffstorewest: CoIoT Sensor data {"G":[[0,112,1],[0,122,0],[0,113,100],[0,111,0.000000],[0,121,0.000000],[0,118,0],[0,128,0],[0,115,61.89],[0,116,143.40],[0,117,0]]} (serial=37376)

2022-05-29 15:19:53.230 [DEBUG] [elly.internal.coap.ShellyCoapHandler] - shelly25-roller-thingraffstorewest: 10 CoAP sensor updates received

2022-05-29 15:19:53.233 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel meter1#lastUpdate updated with 2022-05-29T15:19:53.000+0200 (type class org.openhab.core.library.types.DateTimeType).

2022-05-29 15:19:53.235 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel meter2#lastUpdate updated with 2022-05-29T15:19:53.000+0200 (type class org.openhab.core.library.types.DateTimeType).

2022-05-29 15:19:53.237 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel relay1#output updated with ON (type class org.openhab.core.library.types.OnOffType).

2022-05-29 15:19:53.243 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'EG_Wohnen_RaffstoreWest' changed from 100 to 0

2022-05-29 15:19:53.244 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel roller#control updated with 0 % (type class org.openhab.core.library.types.QuantityType).

2022-05-29 15:19:53.247 [DEBUG] [elly.internal.coap.ShellyCoapHandler] - shelly25-roller-thingraffstorewest: 4 channels updated from CoIoT status, serial=37376

2022-05-29 15:19:55.174 [INFO ] [org.openhab.core.model.script.test  ] - Thing:EG_Wohnen_RaffstoreWest Status:null

2022-05-29 15:19:55.205 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel device#heartBeat updated with 2022-05-29T15:19:55.000+0200 (type class org.openhab.core.library.types.DateTimeType).

2022-05-29 15:19:55.297 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel roller#state updated with open (type class org.openhab.core.library.types.StringType).

2022-05-29 15:19:55.299 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel device#uptime updated with 16319 s (type class org.openhab.core.library.types.QuantityType).

2022-05-29 15:19:56.290 [DEBUG] [elly.internal.coap.ShellyCoapHandler] - shelly25-roller-thingraffstorewest: CoIoT Message from /192.168.1.121:5683 (MID=8837): {"G":[[0,112,0],[0,122,0],[0,113,100],[0,111,0.000000],[0,121,0.000000],[0,118,0],[0,128,0],[0,115,61.76],[0,116,143.16],[0,117,0]]}

2022-05-29 15:19:56.295 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel device#heartBeat updated with 2022-05-29T15:19:56.000+0200 (type class org.openhab.core.library.types.DateTimeType).

2022-05-29 15:19:56.296 [DEBUG] [elly.internal.coap.ShellyCoapHandler] - shelly25-roller-thingraffstorewest: CoIoT Sensor data {"G":[[0,112,0],[0,122,0],[0,113,100],[0,111,0.000000],[0,121,0.000000],[0,118,0],[0,128,0],[0,115,61.76],[0,116,143.16],[0,117,0]]} (serial=37632)

2022-05-29 15:19:56.298 [DEBUG] [elly.internal.coap.ShellyCoapHandler] - shelly25-roller-thingraffstorewest: 10 CoAP sensor updates received

2022-05-29 15:19:56.302 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel meter1#lastUpdate updated with 2022-05-29T15:19:56.000+0200 (type class org.openhab.core.library.types.DateTimeType).

2022-05-29 15:19:56.303 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel meter2#lastUpdate updated with 2022-05-29T15:19:56.000+0200 (type class org.openhab.core.library.types.DateTimeType).

2022-05-29 15:19:56.305 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel relay1#output updated with OFF (type class org.openhab.core.library.types.OnOffType).

2022-05-29 15:19:56.307 [DEBUG] [elly.internal.coap.ShellyCoapHandler] - shelly25-roller-thingraffstorewest: 3 channels updated from CoIoT status, serial=37632

2022-05-29 15:19:58.413 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel device#heartBeat updated with 2022-05-29T15:19:58.000+0200 (type class org.openhab.core.library.types.DateTimeType).

2022-05-29 15:19:58.507 [DEBUG] [.internal.handler.ShellyRelayHandler] - shelly25-roller-thingraffstorewest: REST Update roller position: control=0, position=100

2022-05-29 15:19:58.509 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel roller#state updated with stop (type class org.openhab.core.library.types.StringType).

2022-05-29 15:19:58.512 [DEBUG] [lly.internal.util.ShellyChannelCache] - shelly25-roller-thingraffstorewest: Channel device#uptime updated with 16322 s (type class org.openhab.core.library.types.QuantityType).

There is a message that indicates that the Thing is null. That is from another script that checks the online status:

var thingStatusInfo = getThingStatusInfo("shelly:shelly25-roller:ThingRaffstoreWest:roller")

Haven’t figured out why that happens yet.

@markus7017 this may be my issue, but I downloaded the latest SNAPSHOT build and it is not being loaded by openhab. It does not show in the bundle:list within the console at all. Is it possible there is a configuration issue when the bundle was compiled?

So I have tested the gen2 version from Monday and the 4PM PRO seems to be working flawlessly. so thanks for that. But I do still have a problem with the 1pm plus when it has set up authentication. No matter which way to add it I have tried, it always tells me: Access denied, check user id and password.
I have tried to add it through the UI as 1 PM plus from the list of devices(ShellyPlus 1 (SNSW-001X16EU)), also from the inbox, then also I have tried to add it as Password protected Shelly Device, and still nothing with same error about wrong password or Username - I have tried to use just mine password without userid, also used Adimn as userID = according the API docs the userID is always admin. but still nothing. NOt sure i am doing something wrong

@markus7017 THANK YOU!

Hi @markus7017,

have a new Shelly Plus i4. I installed your GEN2 binding and openhab discovers the new plus model.
But unfortunately it gets no status changes from the inputs.

Am i doing something wrong?

br

Dominik

I have some old Shelly4-Pro (SHSW-44) hardware revision prod-2018-12 & prod-2020-04-24. They only run Firmware 1.6.6 as most recent FW. Shelly support confirmed they will not receive updates as the memory is too small to install more recent/bigger firmware.
I guess those devices will loose support from your binding, right?
Thanks for info.

Edit: Just started playing with gen2 binding and found another device possibly being too old:

shellyrgbw2-1dfb19: WARNING: Firmware might be too old, installed: v1.8.2/20200818-120558, required minimal {3}.
shelly4pro-4d0335: WARNING: Firmware might be too old, installed: v1.6.6/20201019-110845, required minimal {3}.

So the shellyrgbw2 seems to be outdated as well. The webinterface of RGBW2 sais: you are on the latest version

@markus7017

I cant get the i4 plus to receive button press events.

Is this not implemented yet?

I had to fix the WebSocket event processing, please try the updated build

There is version 1.11.8 for the RGBW2 available. Use Shelly Manager or device UI to update.
Version in general: It’s a warning, means I’m not testing with those old version, but there is a good chance that it works.