I want to enable “repeaterMode” for one of my EnOcean actuators. Its a Nodon 1-channel actuator, where the EnOcean bridge has to enable it. Unlike Eltako or PEHA, where it could be enabled on device level.
That value is available as string channel “enocean:measurementSwitch:gtwy:0516xxxx:repeaterMode”, but I don’t find a description howto set that channel to the needed value.
According to the EnOcean documentation, there are 3 values valid: 1, 2 or disable
Normally actuators have 2 different things to set, Repeater on/off, Repeater level 1 or 2.
Here I guess setting “repeaterMode 1 / 2” would imply “Repeater On” + “Repeater Level 1 /2” and “repeaterMode disable” imply “Repeater Off” and well, no “Repeater Level” …
For my setup I would like to set “repeaterMode 1”, means “Repeater On” and “Repater Level 1”.
Reading existing openhab documentation doesn’t enlight me howto define that specific mode into a string item with channel … ?
Since I try to maintain everything in files under “/etc/openhab”, I tried to define an Item to that channel, no success, basically no documentation … nice job to provide that function, but keeping the secret how to us it …
So, the actuator is defined in a .things file and has also entities in .items file, I can add an item in PaperUI. And that does work, I can change “repeaterMode” into “Level-1”, “Level-2” and “Repeater Off”.
2021-08-15 18:23:48.357 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'Flur_EG_Aktor_repeatmode' received command LEVEL1
2021-08-15 18:23:48.381 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Flur_EG_Aktor_repeatmode' predicted to become LEVEL1
2021-08-15 18:23:48.405 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Flur_EG_Aktor_repeatmode' changed from NULL to LEVEL1
But that item seems to have maintained as long as the bridge does run in that status.
And that drives me nuts now, no documentation how to define that specific item in a .items file, not forced to keep it in PaperUI.
I also don’t find a possibilty to show an ASCII output of an PaperUI created item, to copy or to learn, unlike e.g. things …
And that PaperUI created item for “repeaterMode” does cause exceptions using it:
2021-08-15 18:28:51.421 [WARN ] [.server.impl.connections.HttpSession] - Exception encountered while verifying pairing
java.lang.Exception: Unknown user: 7CD5A814-42C8-4766-B69D-7AB5A4AB6C1B
at io.github.hapjava.server.impl.pairing.PairVerificationManager.stage2(PairVerificationManager.java:113) ~[bundleFile:?]
at io.github.hapjava.server.impl.pairing.PairVerificationManager.handle(PairVerificationManager.java:51) ~[bundleFile:?]
at io.github.hapjava.server.impl.connections.HttpSession.handlePairVerify(HttpSession.java:127) [bundleFile:?]
at io.github.hapjava.server.impl.connections.HttpSession.handleRequest(HttpSession.java:56) [bundleFile:?]
at io.github.hapjava.server.impl.connections.ConnectionImpl.doHandleRequest(ConnectionImpl.java:56) [bundleFile:?]
at io.github.hapjava.server.impl.connections.ConnectionImpl.handleRequest(ConnectionImpl.java:49) [bundleFile:?]
at io.github.hapjava.server.impl.http.impl.AccessoryHandler.channelRead0(AccessoryHandler.java:52) [bundleFile:?]
at io.github.hapjava.server.impl.http.impl.AccessoryHandler.channelRead0(AccessoryHandler.java:17) [bundleFile:?]
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [bundleFile:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [bundleFile:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:61) [bundleFile:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:370) [bundleFile:4.1.63.Final]
at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66) [bundleFile:4.1.63.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [bundleFile:4.1.63.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [bundleFile:4.1.63.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [bundleFile:4.1.63.Final]
It does work and do the job, but get sometimes that error, especially when I switch between the options fast:
2021-08-27 18:29:19.605 [ERROR] [ernal.transceiver.EnOceanTransceiver] - Exception in informListeners
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[?:?]
at java.lang.Long.parseLong(Long.java:702) ~[?:?]
at org.openhab.binding.enocean.internal.transceiver.EnOceanTransceiver.informListeners(EnOceanTransceiver.java:304) [bundleFile:?]
at org.openhab.binding.enocean.internal.transceiver.EnOceanESP3Transceiver.processMessage(EnOceanESP3Transceiver.java:140) [bundleFile:?]
at org.openhab.binding.enocean.internal.transceiver.EnOceanTransceiver.receivePackets(EnOceanTransceiver.java:261) [bundleFile:?]
at org.openhab.binding.enocean.internal.transceiver.EnOceanTransceiver$1.run(EnOceanTransceiver.java:197) [bundleFile:?]
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:829) [?:?]
So, looks like is not perfect, albeit switching thru the options:
2021-08-27 18:29:19.547 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'Flur_EG_Aktor_repeatmode' received command OFF
2021-08-27 18:29:19.549 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Flur_EG_Aktor_repeatmode' predicted to become OFF
2021-08-27 18:29:19.560 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Flur_EG_Aktor_repeatmode' changed from LEVEL2 to OFF
@rossko57 Well, I don’t think this is EnOcean specific, that goes rather back to notation, semantic of that item with metadata …
What I can see so far is, for testing everybody is switching fast(er), just for the sake of switching, so I do and do cause that error. But if I leave some time in between, let’s say 30sec or more, I often don’t get that error in log …
I already tried "autoupdate=“true” but didn’t help.
Well, exactly like described. Since the start of the error is
Could have been, that there’s a mismatch between any internal stored data and reality on actuator causing that. So the try with autoupdate was to proof if updating information is maybe not reliable enough … but I got the exception also, after a while …
Well, that is overall a java error, exception, here in conjunction with an EnOcean device, therefore it points to it … it could just be wrong formated line in the item and it would point to EnOcean something … but the cause would be the wron format and nothing EnOcean specific …