New openHab2 EnOcean binding

Hi Ralf (@shotte), I think you are already there. Next to these features you also have to activate the esh-io-transport-serial feature. After activating these four features the patched binding version should be activated automatically.

Best regards

Daniel

Hi Daniel (@fruggy83),

sorry to say, but it is already. This is what I get searching for activated “serial” features:

openhab> feature:list | grep serial
esh.tp-serial-javacomm                      x 0.10.0.SNAPSHOT  x          x Uninstalled x distro-2.4.0-SNAPSHOT                x
esh.tp-serial-rxtx                          x 0.10.0.SNAPSHOT  x          x Started     x distro-2.4.0-SNAPSHOT                x
esh-config-serial                           x 0.10.0.SNAPSHOT  x          x Started     x distro-2.4.0-SNAPSHOT                x
esh-config-discovery-usbserial              x 0.10.0.SNAPSHOT  x          x Started     x distro-2.4.0-SNAPSHOT                x
esh-io-transport-serial                     x 0.10.0.SNAPSHOT  x x        x Started     x distro-2.4.0-SNAPSHOT                x
esh-io-transport-serial-javacomm            x 0.10.0.SNAPSHOT  x          x Uninstalled x distro-2.4.0-SNAPSHOT                x
esh-io-transport-serial-rxtx                x 0.10.0.SNAPSHOT  x          x Started     x distro-2.4.0-SNAPSHOT                x
esh-io-transport-serial-rfc2217             x 0.10.0.SNAPSHOT  x x        x Started     x distro-2.4.0-SNAPSHOT                x
openhab-transport-serial                    x 2.4.0.SNAPSHOT   x          x Started     x distro-2.4.0-SNAPSHOT                x Serial Transport
esh-binding-serialbutton                    x 0.10.0.SNAPSHOT  x          x Uninstalled x openhab-addons-2.4.0-SNAPSHOT        x
openhab-binding-serialbutton                x 2.4.0.SNAPSHOT   x          x Uninstalled x openhab-addons-2.4.0-SNAPSHOT        x Serial Button Binding
openhab-binding-lgtvserial                  x 2.4.0.SNAPSHOT   x          x Uninstalled x openhab-addons-2.4.0-SNAPSHOT        x LG TV Serial Binding
openhab-binding-serial1                     x 1.13.0.SNAPSHOT  x          x Uninstalled x openhab-addons-2.4.0-SNAPSHOT        x Serial Binding

Any further hints?

Kind regards,
Ralf

Hi Ralf (@shotte),

I did the following:

  1. Uninstalled the enocean snapshot binding in openHAB
  2. sudo service openhab2 stop
  3. sudo openhab-cli clean-cache
  4. Downloaded the precompiled jar from https://github.com/fruggy83/openocean/tree/issue28_rfc2217/precompiled
  5. Copied it into openhab2-addons folder
  6. sudo service openhab2 start
  7. waited until openHAB got started
  8. binding failed to install => ssh -p 8101 openhab@localhost
    a. feature:install esh-io-transport-serial
    b. feature:install esh-io-transport-serial-rxtx
    c. feature:install esh-io-transport-serial
    d. feature:install openhab-transport-serial
  9. check if feature openhab-binding-enocean is not installed
  10. bundle:list | grep OpenOcean should be Active
  11. check in PaperUI if you can find OpenOcean Binding

Hope this works for you too.

Best regards
Daniel

Hi Ralf (@shotte)

PR for your issue is created. Cross your fingers that this PR gets into the 2.4 release :crossed_fingers: .

Best regards
Daniel

Hi Martin (@martink2),

PR for your issue is created too. Cross your fingers that this PR gets into the 2.4 release :crossed_fingers: .

Best regards
Daniel

Hi Daniel (@fruggy83),

I followed again exaclty your advises, but the addon seems not to be recognized by my OH installation (latest snapshot M8). Here ist everything of my settings for your knowledge:

shotte@homeserver:/usr/share/openhab2/addons$ openhab-cli info

Version:     2.4.0-SNAPSHOT (#1461)

User:        openhab (Active Process 29298)
User Groups: openhab tty dialout audio

Directories: Folder Name      | Path                        | User:Group
             -----------      | ----                        | ----------
             OPENHAB_HOME     | /usr/share/openhab2         | openhab:openhab
             OPENHAB_RUNTIME  | /usr/share/openhab2/runtime | openhab:openhab
             OPENHAB_USERDATA | /var/lib/openhab2           | openhab:shotte
             OPENHAB_CONF     | /etc/openhab2               | openhab:shotte
             OPENHAB_LOGDIR   | /var/log/openhab2           | openhab:shotte

URLs:        http://192.168.8.10:8080
             https://192.168.8.10:8443


and in addition

openhab> info
Karaf
  Karaf version               4.2.1
  Karaf home                  /usr/share/openhab2/runtime
  Karaf base                  /var/lib/openhab2
  OSGi Framework              org.eclipse.osgi-3.12.100.v20180210-1608

JVM
  Java Virtual Machine        OpenJDK 64-Bit Server VM version 25.191-b12
  Version                     1.8.0_191
  Vendor                      Oracle Corporation
  Pid                         29298
  Uptime                      9 minutes
  Process CPU time            6 minutes
  Process CPU load            0.02
  System CPU load             0.03
  Open file descriptors       243
  Max file descriptors        102,642
  Total compile time          4 minutes
Threads
  Live threads                170
  Daemon threads              97
  Peak                        210
  Total started               451
Memory
  Current heap size           203,636 kbytes
  Maximum heap size           524,288 kbytes
  Committed heap size         409,600 kbytes
  Pending objects             0
  Garbage collector           Name = 'G1 Young Generation', Collections = 39, Time = 1.838 seconds
  Garbage collector           Name = 'G1 Old Generation', Collections = 0, Time = 0.000 seconds
Classes
  Current classes loaded      20,571
  Total classes loaded        20,581
  Total classes unloaded      10
Operating system
  Name                        Linux version 4.15.0-42-generic
  Architecture                amd64
  Processors                  4

First I stoped openhab, cleaned cache and in side /usr/share/openhab2/addons/ I added your addon by

wget https://github.com/fruggy83/openocean/blob/issue28_rfc2217/precompiled/org.openhab.binding.openocean-2.4.0-SNAPSHOT.jar

# and finally changed ownership by
sudo chmod openhab:openhab org.openhab.binding.openocean-2.4.0-SNAPSHOT.jar


followed by openhab service start.

Then I installed features as mentioned

openhab> feature:list | grep serial
esh.tp-serial-javacomm                      x 0.10.0.SNAPSHOT  x          x Uninstalled x distro-2.4.0-SNAPSHOT                x
esh.tp-serial-rxtx                          x 0.10.0.SNAPSHOT  x          x Started     x distro-2.4.0-SNAPSHOT                x
esh-config-serial                           x 0.10.0.SNAPSHOT  x          x Started     x distro-2.4.0-SNAPSHOT                x
esh-config-discovery-usbserial              x 0.10.0.SNAPSHOT  x          x Started     x distro-2.4.0-SNAPSHOT                x
esh-io-transport-serial                     x 0.10.0.SNAPSHOT  x x        x Started     x distro-2.4.0-SNAPSHOT                x
esh-io-transport-serial-javacomm            x 0.10.0.SNAPSHOT  x          x Uninstalled x distro-2.4.0-SNAPSHOT                x
esh-io-transport-serial-rxtx                x 0.10.0.SNAPSHOT  x x        x Started     x distro-2.4.0-SNAPSHOT                x
esh-io-transport-serial-rfc2217             x 0.10.0.SNAPSHOT  x          x Started     x distro-2.4.0-SNAPSHOT                x
openhab-transport-serial                    x 2.4.0.SNAPSHOT   x x        x Started     x distro-2.4.0-SNAPSHOT                x Serial Transport
esh-binding-serialbutton                    x 0.10.0.SNAPSHOT  x          x Uninstalled x openhab-addons-2.4.0-SNAPSHOT        x
openhab-binding-serialbutton                x 2.4.0.SNAPSHOT   x          x Uninstalled x openhab-addons-2.4.0-SNAPSHOT        x Serial Button Binding
openhab-binding-lgtvserial                  x 2.4.0.SNAPSHOT   x          x Uninstalled x openhab-addons-2.4.0-SNAPSHOT        x LG TV Serial Binding
openhab-binding-serial1                     x 1.13.0.SNAPSHOT  x          x Uninstalled x openhab-addons-2.4.0-SNAPSHOT        x Serial Binding

Afterwards I checked again if enocean feature is not installed:

openhab> feature:list | grep enoc
openhab-binding-enocean                     x 2.4.0.SNAPSHOT   x          x Uninstalled x openhab-addons-2.4.0-SNAPSHOT        x EnOcean Binding
openhab-binding-enocean1                    x 1.13.0.SNAPSHOT  x          x Uninstalled x openhab-addons-legacy-2.4.0-SNAPSHOT x EnOcean Binding

But now the clou: your addon is not shown, nowhere. Neither in karaf console nor in PaperUI

openhab> bundle:list | grep OpenOcean
openhab> #empty here

openhab> bundle:list | grep open
180 x Active   x  90 x 2.4.0.201812141755     x openHAB Core
181 x Active   x  80 x 2.4.0.201812141755     x openHAB Karaf Integration
183 x Resolved x  80 x 2.4.0.201812141755     x openHAB Sound Support, Hosts: 116
184 x Active   x  80 x 2.4.0.201812141755     x openHAB Dashboard UI
233 x Active   x  80 x 1.13.0.201812120952    x openHAB Mail Action
234 x Active   x  80 x 1.13.0.201812120952    x openHAB Telegram Action
235 x Active   x  80 x 1.13.0.201812120952    x openHAB CalDav Command Binding
236 x Active   x  80 x 1.13.0.201812120952    x openHAB CalDav Binding
237 x Active   x  80 x 1.13.0.201812120952    x openHAB FritzboxTr064 Binding
238 x Active   x  80 x 1.13.0.201812120952    x openHAB HTTP Binding
240 x Active   x  80 x 1.13.0.201812120952    x openHAB MQTT Binding
243 x Active   x  80 x 2.4.0.201812141755     x openHAB 1.x Compatibility Layer
244 x Active   x  80 x 1.13.0.201812120952    x openHAB CalDav Calendar
245 x Active   x  80 x 1.13.0.201812120952    x openHAB MQTT Transport Bundle
246 x Active   x  80 x 1.13.0.201812120952    x openHAB InfluxDB Persistence bundle
247 x Active   x  80 x 1.13.0.201812120952    x openHAB RRD4j Persistence Bundle
248 x Resolved x  75 x 2.4.0.201812141755     x openHAB Basic UI Fragment, Hosts: 231
252 x Resolved x  75 x 2.4.0.201812141755     x openHAB Paper UI Theme Fragment, Hosts: 232

openhab> bundle:list | grep Open
openhab> # again empty


and nothing to see in PaperUI about OpenOcean.

Sorry, but I’d really like to get it working. Could you please give me more hints what I can do for debugging, checking settings or anything else?

Thankz,
Ralf

Hi Ralf (@shotte),

damn github. I posted the wrong link :man_facepalming:

You have to use the following url: wget https://github.com/fruggy83/openocean/raw/master/precompiled/org.openhab.binding.openocean-2.4.0-SNAPSHOT.jar

Important is the raw. The resulting file should be 231488 bytes large.

Best regards
Daniel

Hi Daniel (@fruggy83),

aaaaahhhhhh, we got one step further, but now I cannot addthings by using your addon. The “Supported Things” area in PaperUI is empty


2018-12-15 15:28:38.650 [ERROR] [nternal.DiscoveryServiceRegistryImpl] - Cannot trigger scan for thing types '[enocean:automatedMeterSensor, enocean:mechanicalHandle, enocean:rockerSwitch, enocean:genericThing, enocean:roomOperatingPanel, enocean:contact, enocean:temperatureHumiditySensor, enocean:temperatureSensor, enocean:classicDevice, enocean:rollershutter, enocean:pushButton, enocean:lightTemperatureOccupancySensor, enocean:centralCommand, enocean:measurementSwitch]' on 'EnOceanDeviceDiscoveryService'!

java.lang.NullPointerException: null
	at org.openhab.binding.enocean.internal.handler.EnOceanBridgeHandler.stopDiscovery(EnOceanBridgeHandler.java:359) ~[?:?]
	at org.openhab.binding.enocean.internal.discovery.EnOceanDeviceDiscoveryService.stopScan(EnOceanDeviceDiscoveryService.java:81) ~[?:?]
	at org.eclipse.smarthome.config.discovery.AbstractDiscoveryService.startScan(AbstractDiscoveryService.java:185) ~[98:org.eclipse.smarthome.config.discovery:0.10.0.201812141650]
	at org.eclipse.smarthome.config.discovery.internal.DiscoveryServiceRegistryImpl.startScan(DiscoveryServiceRegistryImpl.java:381) [98:org.eclipse.smarthome.config.discovery:0.10.0.201812141650]
	at org.eclipse.smarthome.config.discovery.internal.DiscoveryServiceRegistryImpl.startScans(DiscoveryServiceRegistryImpl.java:357) [98:org.eclipse.smarthome.config.discovery:0.10.0.201812141650]
	at org.eclipse.smarthome.config.discovery.internal.DiscoveryServiceRegistryImpl.startScan(DiscoveryServiceRegistryImpl.java:215) [98:org.eclipse.smarthome.config.discovery:0.10.0.201812141650]
	at org.eclipse.smarthome.io.rest.core.internal.discovery.DiscoveryResource.scan(DiscoveryResource.java:97) [120:org.eclipse.smarthome.io.rest.core:0.10.0.201812141650]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) [172:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) [172:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161) [172:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160) [172:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99) [172:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389) [172:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347) [172:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) [172:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326) [172:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) [171:org.glassfish.jersey.core.jersey-common:2.22.2]
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) [171:org.glassfish.jersey.core.jersey-common:2.22.2]
	at org.glassfish.jersey.internal.Errors.process(Errors.java:315) [171:org.glassfish.jersey.core.jersey-common:2.22.2]
	at org.glassfish.jersey.internal.Errors.process(Errors.java:297) [171:org.glassfish.jersey.core.jersey-common:2.22.2]
	at org.glassfish.jersey.internal.Errors.process(Errors.java:267) [171:org.glassfish.jersey.core.jersey-common:2.22.2]
	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) [171:org.glassfish.jersey.core.jersey-common:2.22.2]
	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) [172:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) [172:org.glassfish.jersey.core.jersey-server:2.22.2]
	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) [169:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427) [169:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388) [169:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341) [169:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228) [169:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
	at com.eclipsesource.jaxrs.publisher.internal.ServletContainerBridge.service(ServletContainerBridge.java:76) [20:com.eclipsesource.jaxrs.publisher:5.3.1.201602281253]
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865) [85:org.eclipse.jetty.servlet:9.4.11.v20180605]
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535) [85:org.eclipse.jetty.servlet:9.4.11.v20180605]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) [186:org.ops4j.pax.web.pax-web-jetty:7.2.3]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [82:org.eclipse.jetty.security:9.4.11.v20180605]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:293) [186:org.ops4j.pax.web.pax-web-jetty:7.2.3]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) [85:org.eclipse.jetty.servlet:9.4.11.v20180605]
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) [186:org.ops4j.pax.web.pax-web-jetty:7.2.3]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.Server.handle(Server.java:531) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260) [84:org.eclipse.jetty.server:9.4.11.v20180605]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281) [75:org.eclipse.jetty.io:9.4.11.v20180605]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102) [75:org.eclipse.jetty.io:9.4.11.v20180605]
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) [75:org.eclipse.jetty.io:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:762) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:680) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at java.lang.Thread.run(Thread.java:748) [?:?]

The old added gateway (by original addon) keeps throwing exception, too:

2018-12-15 15:27:58.774 [me.event.ThingUpdatedEvent] - Thing 'enocean:bridge:0a90e9f2' has been updated.
2018-12-15 15:27:58.777 [vent.ConfigStatusInfoEvent] - ConfigStatusInfo [configStatusMessages=[]]
2018-12-15 15:27:58.778 [DEBUG] [nternal.handler.EnOceanBridgeHandler] - error during bridge init occured
org.eclipse.smarthome.io.transport.serial.UnsupportedCommOperationException: gnu.io.UnsupportedCommOperationException
	at org.eclipse.smarthome.io.transport.serial.rxtx.RxTxSerialPort.enableReceiveThreshold(RxTxSerialPort.java:157) ~[?:?]
	at org.openhab.binding.enocean.internal.transceiver.EnOceanSerialTransceiver.Initialize(EnOceanSerialTransceiver.java:61) ~[253:org.openhab.binding.openocean:2.4.0.201812100952]
	at org.openhab.binding.enocean.internal.handler.EnOceanBridgeHandler.initTransceiver(EnOceanBridgeHandler.java:197) [253:org.openhab.binding.openocean:2.4.0.201812100952]
	at org.openhab.binding.enocean.internal.handler.EnOceanBridgeHandler.access$2(EnOceanBridgeHandler.java:184) [253:org.openhab.binding.openocean:2.4.0.201812100952]
	at org.openhab.binding.enocean.internal.handler.EnOceanBridgeHandler$4.run(EnOceanBridgeHandler.java:176) [253:org.openhab.binding.openocean:2.4.0.201812100952]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: gnu.io.UnsupportedCommOperationException
	at gnu.io.rfc2217.TelnetSerialPort.enableReceiveThreshold(TelnetSerialPort.java:948) ~[?:?]
	at org.eclipse.smarthome.io.transport.serial.rxtx.RxTxSerialPort.enableReceiveThreshold(RxTxSerialPort.java:155) ~[?:?]
	... 11 more

Regards,
Ralf

Hi Daniel (@fruggy83),

it starts to become a nightmare. Now, after multiple tome cleaning cache and restarting OH and installing features, I was able to see your addon WITH available things. But now, again after trying to install a gateway, I have exceptions 
 bbbbrrrrrrrrrrrrr

2018-12-15 18:40:10.872 [DEBUG] [org.openhab.binding.openocean       ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=474, service.bundleid=191, service.scope=singleton} - org.openhab.binding.openocean
2018-12-15 18:40:10.876 [DEBUG] [org.openhab.binding.openocean       ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.core.status.ConfigStatusProvider}={service.id=475, service.bundleid=191, service.scope=singleton} - org.openhab.binding.openocean
2018-12-15 18:40:10.881 [hingStatusInfoChangedEvent] - 'enocean:bridge:9d459b35' changed from UNINITIALIZED to INITIALIZING
2018-12-15 18:40:10.882 [hingStatusInfoChangedEvent] - 'enocean:bridge:9d459b35' changed from INITIALIZING to OFFLINE (CONFIGURATION_PENDING): trying to connect to gateway...
2018-12-15 18:40:10.892 [hingStatusInfoChangedEvent] - 'enocean:bridge:9d459b35' changed from OFFLINE (CONFIGURATION_PENDING): trying to connect to gateway... to OFFLINE (CONFIGURATION_PENDING): opening serial port...
2018-12-15 18:40:10.882 [DEBUG] [nternal.handler.EnOceanBridgeHandler] - error during bridge init occured
org.eclipse.smarthome.io.transport.serial.UnsupportedCommOperationException: gnu.io.UnsupportedCommOperationException
	at org.eclipse.smarthome.io.transport.serial.rxtx.RxTxSerialPort.enableReceiveThreshold(RxTxSerialPort.java:157) ~[?:?]
	at org.openhab.binding.enocean.internal.transceiver.EnOceanSerialTransceiver.Initialize(EnOceanSerialTransceiver.java:61) ~[191:org.openhab.binding.openocean:2.4.0.201812100952]
	at org.openhab.binding.enocean.internal.handler.EnOceanBridgeHandler.initTransceiver(EnOceanBridgeHandler.java:197) [191:org.openhab.binding.openocean:2.4.0.201812100952]
	at org.openhab.binding.enocean.internal.handler.EnOceanBridgeHandler.access$2(EnOceanBridgeHandler.java:184) [191:org.openhab.binding.openocean:2.4.0.201812100952]
	at org.openhab.binding.enocean.internal.handler.EnOceanBridgeHandler$4.run(EnOceanBridgeHandler.java:176) [191:org.openhab.binding.openocean:2.4.0.201812100952]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: gnu.io.UnsupportedCommOperationException
	at gnu.io.rfc2217.TelnetSerialPort.enableReceiveThreshold(TelnetSerialPort.java:948) ~[?:?]
	at org.eclipse.smarthome.io.transport.serial.rxtx.RxTxSerialPort.enableReceiveThreshold(RxTxSerialPort.java:155) ~[?:?]
	... 11 more

Best regards,
Ralf

Hi Daniel (@fruggy83),

it was nice to hear that you got your binding in an official relase. It tried to use it (deinstalled the openenocean binding first) but got errors like this

2018-12-16 13:07:01.718 [ERROR] [org.openhab.binding.enocean         ] - bundle org.openhab.binding.enocean:2.4.0.201812151803 (205)[org.openhab.binding.enocean.internal.profiles.EnOceanProfileFactory(14)] : Could not load implementation object class org.openhab.binding.enocean.internal.profiles.EnOceanProfileFactory
java.lang.ClassNotFoundException: org.openhab.binding.enocean.internal.profiles.EnOceanProfileFactory cannot be found by org.openhab.binding.enocean_2.4.0.201812151803

Do you have any idea if this could be the reason that I did not get it running? I have tried the last stable openHAB version and the newest version.

Thorsten

Hi Thorsten (@ThAO),

nice to hear you again. You should definitely get this error as I am no longer using profiles in my binding. The question is, why is openHAB trying to get this EnOceanProfileFactory? How did you installed the new binding?

Best regards
Daniel

Hi Daniel (@fruggy83),

I did the following

  • upgrade openhab to the newest version
  • unistalled openocean with bundle:uninstall <ID>
  • remove the openocean jar-File from the add-on directory
  • restart openhab
  • install the enocean binding

I have used the same configuration files just changing “openocean” to “enocean” and “genericLightSwitch” to “genericSwitch”. In addion I added the bridge gain manually.

Is it due to my old configuration files? Your examples look a bit different now.

Thorsten

p.s.: I was “absent” because I set up an irrigation system which is perfectly running with you binding using FAM14/FSR14 components.

Hi Ralf (@shotte),

Bugfix got into the official release today. So reverse everything and switch back to stable :wink:

Best regards
Daniel

Hi Martin, did you get it working?
I have a similar problem using FMS61NP and FT55.
The only thing I get working ist, that when I press a button on the FT55 it change the status of my RockerSwitch.
But I can’t update it from the RockerSwitch. I tried also a Classic Device and an Actuator (EPP A5-38). But nothing worked.
Can you share your definitions?
Many Thanks!

Hello Daniel,

you write in the Enocean Readme " EnOceanPi has to be added manually to openHAB." Is there any proven master way to add.
Your Tutorial or Openocean was great and install was quite easy. Worked several month very fine.
Yesterday I tried a clean install and nothing worked.

thx for Info.

Hi all,

I’ve been using openocean-2.4.0 plugin for a while on a openhab 2.3 installation without problems. Even my PSC 234 plugs worked (thanks to @fruggy83 :wink: ). Yesterday I’ve upgraded my installation to 2.4 stable and the new EnOcean plugin and got stuck with a few problems. I’ve tried doing the necessary changes according to the “OpenHab Enocean Binding” page. Temp/Hum sensors and RockerSwitches are working normally.

Problem 1:
I only get the plugin working, if I add the bridge and things manually via the web interface. If I use a things config file I end up with UNINITIALIZED (HANDLER_CONFIGURATION_PENDING). I’ve noticed one difference in the item naming:

openhab> things list | grep enocean
enocean:contact:927aecfb (Type=Thing, Status=ONLINE, Label=BAD_REED1, Bridge=enocean:bridge:FTWYOPB8)
enocean:temperatureSensor:46ba5106 (Type=Thing, Status=ONLINE, Label=GZ_SUED_TEMP1, Bridge=enocean:bridge:FTWYOPB8)
enocean:rockerSwitch:24cc60e3 (Type=Thing, Status=ONLINE, Label=WZ_TASTER1, Bridge=enocean:bridge:FTWYOPB8)
enocean:temperatureSensor:FTWYOPB8:t01 (Type=Thing, Status=UNINITIALIZED (HANDLER_CONFIGURATION_PENDING), Label=DG_TEMP1, Bridge=enocean:bridge:FTWYOPB8)
enocean:contact:FTWYOPB8:c01 (Type=Thing, Status=UNINITIALIZED (HANDLER_CONFIGURATION_PENDING), Label=DG_REED1, Bridge=enocean:bridge:FTWYOPB8)

Config file: enocean:temperatureSensor:FTWYOPB8:t01
Manual setup: enocean:contact:927aecfb
There is always the bridge name in the UID

enocean.things

Bridge enocean:bridge:FTWYOPB8 "OpenOcean Gateway (USB300)" [ path="/dev/ttyUSB1" ] {
        Thing contact c01 "DG_REED1" @ "Haus" [ enoceanID="05115AAB", receivingEEPId="D5_00_01" ]
        Thing temperatureSensor t01 "DG_TEMP1" @ "Haus" [ enoceanID="0181B82F", receivingEEPId="A5_02_05" ]
}

Problem 2:
My NodOn contacts (SDO-2-1-05) stopped working. I get values of the channel receivingState but no item change of the contact channel.

Items:

Contact DG_REED1            "Fenster 1 [MAP(de.map):%s]"                <window>        (G_DG,G_FENSTER_ALLE,G_FENSTER_ALARM)   { channel="enocean:contact:5ad7031a:contact" }
String DG_REED1_STATE       "Status Fenster 1 [%s]"                     <window>        (G_DG,G_ENOCEAN_UPDATE)                 { channel="enocean:contact:5ad7031a:receivingState" }

Contact:
2018-12-19 08:51:07.369 [TRACE] [ernal.transceiver.EnOceanTransceiver] - Received Sync Byte
2018-12-19 08:51:07.372 [TRACE] [ernal.transceiver.EnOceanTransceiver] - >> Received header, data length 7 optional length 7 packet type 1
2018-12-19 08:51:07.386 [DEBUG] [ernal.transceiver.EnOceanTransceiver] - RADIO_ERP1 with RORG _1BS for 05115AAB payload D50805115AAB0101FFFFFFFF5500 received
2018-12-19 08:51:07.389 [DEBUG] [rnal.handler.EnOceanBaseThingHandler] - ESP Packet payload D50805115AAB01 for 05115AAB received
2018-12-19 08:51:09.592 [TRACE] [ernal.transceiver.EnOceanTransceiver] - Received Sync Byte
2018-12-19 08:51:09.601 [TRACE] [ernal.transceiver.EnOceanTransceiver] - >> Received header, data length 7 optional length 7 packet type 1
2018-12-19 08:51:09.603 [DEBUG] [ernal.transceiver.EnOceanTransceiver] - RADIO_ERP1 with RORG _1BS for 05115AAB payload D50905115AAB0101FFFFFFFF5500 received
2018-12-19 08:51:09.608 [DEBUG] [rnal.handler.EnOceanBaseThingHandler] - ESP Packet payload D50905115AAB01 for 05115AAB received

Problem 3:

PSC plugs also stopped working. What is the right configuration for a PSC234?
Something like this?

Configuration parameters:
        enoceanId : 019459D1
        senderIdOffset : 1
        pollingInterval : 60
        suppressRepeating : false
        sendingEEPId : D2_01_09_PERMUNDO
        broadcastMessages : false
        receivingEEPId : [D2_01_09_PERMUNDO]

Maybe someone has an idea what I’m doing wrong and could point me in the right directon.
Thanks in advance
Christoph


Current state of the installation:

openhab> feature:list | grep ocean
openhab-binding-enocean1                    x 1.13.0           x          x Uninstalled x openhab-addons-legacy-2.4.0 x EnOcean Binding
openhab-binding-enocean                     x 2.4.0            x x        x Started     x openhab-addons-2.4.0        x EnOcean Binding
openhab-binding-oceanic                     x 2.4.0            x          x Uninstalled x openhab-addons-2.4.0        x Oceanic Binding


openhab> feature:list | grep serial
esh.tp-serial-javacomm                      x 0.10.0.oh240     x          x Uninstalled x distro-2.4.0                x
esh.tp-serial-rxtx                          x 0.10.0.oh240     x          x Started     x distro-2.4.0                x
esh-config-serial                           x 0.10.0.oh240     x          x Started     x distro-2.4.0                x
esh-config-discovery-usbserial              x 0.10.0.oh240     x          x Started     x distro-2.4.0                x
esh-io-transport-serial                     x 0.10.0.oh240     x          x Started     x distro-2.4.0                x
esh-io-transport-serial-javacomm            x 0.10.0.oh240     x          x Uninstalled x distro-2.4.0                x
esh-io-transport-serial-rxtx                x 0.10.0.oh240     x          x Started     x distro-2.4.0                x
esh-io-transport-serial-rfc2217             x 0.10.0.oh240     x          x Started     x distro-2.4.0                x
openhab-transport-serial                    x 2.4.0            x          x Started     x distro-2.4.0                x Serial Transport
esh-binding-serialbutton                    x 0.10.0.oh240     x          x Uninstalled x openhab-addons-2.4.0        x
openhab-binding-serialbutton                x 2.4.0            x          x Uninstalled x openhab-addons-2.4.0        x Serial Button Binding
openhab-binding-lgtvserial                  x 2.4.0            x          x Uninstalled x openhab-addons-2.4.0        x LG TV Serial Binding
openhab-binding-serial1                     x 1.13.0           x          x Uninstalled x openhab-addons-2.4.0        x Serial Binding

Hi Thorsten (@ThAO),

your steps are correct. I would suspect your configuration too. Do you have mentioned any profiles in your current configuration? Next to your config changes, you also have to add an extra enoceanId property to your things. If I find time tonigt I will post a migration guide openocean => enocean.

Best regards
Daniel

Hi Tino (@flynux),

which version of openHAB are you running? Currently released 2.4 version or snapshot version 2.5. The 2.4 version unfortunately contains a bug in the classicDevice which prevents sending pressed messages from your classicDevices. You could use the snapshot version of openHAB or the precompiled jar from the issue30 branch of my binding. I will also update the marketplace version of this binding today.

Sorry for your problems.

Best regards
Daniel

Hello @cmowgli,

you add the EnOceanPI to openHAB in the same way as you did in the Openocean binding. I just wanted to say, that it cannot be autodetected as the USB300 gateway.

If you had already running the Openocean binding. You just have to change certain things in your thing and item files. I will try to post a migration guide today.

Best regards
Daniel

Thanks Daniel, indeed I am using 2.4.0. I will try the snapshot version and wit for your new binding version.
Thanks a lot! is it planned to support FMS61NP as an actuator natively in the future?
Thanks, Tino