Use CUNO with MAXCul in OH2

Hello,

has anyone used the CUNO Network Device of Busware in an Openhab2 setup. Is MAXCul the right binding and is it working with OH2?
I had it running with OH1 but wanted to upgrade.
I’m completely stuck, since there is little documentation for use with CUNO instead of CUL and ambiguous if it is for OH2 or 1?

I’m using a CUL with OH2 / Intertechno-Binding
I don’t know the use case for a CUNO, however the use of the 433/866mhz sending part should be the same (it is using the same firmware).
So, what are you trying to do with it?
I’m just switch power-plugs.

My Use Case/Setup is:
5 Radiator Thermostats controlled with CUNO (plugged to Ethernet Interface of FritzBox) and PiZero W with Openhab2 on Raspbian connected over WiFi.

Maybe I can find my old OH1 config and post it here, but I’m not at home at the moment.

Instead of the CUL working as Serial-to-868MHz-Bridge, my CUNO should be an Ethernet-to-868-Bridge.

I guess your CUL is automatically detected in Paper UI, right? My CUNO isn’t and this is where the problems start

Nope! The CUL isn’t detected by the PaperUI at all!Only the Karaf Console shows that the CUL-Handler is set up according the settings in the config (it is a 1.9 binding, in fact they words nothing changed from OH1 to OH2).

Ok, I played around a little and managed to install binding and everything. I used the old sitemap and old item definitions. It seems to startup correctly, at least it says its connected to CUL via network. If I want to re-pair my thermostats and activating the pair switch this is in the log:

2017-07-02 10:51:07.939 [INFO ] [t.cul.internal.CULNetworkHandlerImpl] - Connected network CUL connection to 192.168.2.112:2323
2017-07-02 10:51:08.219 [WARN ] [.maxcul.internal.MaxCulBindingConfig] - Unable to locate information for RADIATOR_THERMOSTAT LEQ1004497 it may not yet be paired
2017-07-02 10:51:08.256 [WARN ] [.maxcul.internal.MaxCulBindingConfig] - Unable to locate information for RADIATOR_THERMOSTAT LEQ1004497 it may not yet be paired
2017-07-02 10:51:08.296 [WARN ] [.maxcul.internal.MaxCulBindingConfig] - Unable to locate information for RADIATOR_THERMOSTAT LEQ1004497 it may not yet be paired
2017-07-02 10:51:08.328 [WARN ] [.maxcul.internal.MaxCulBindingConfig] - Unable to locate information for RADIATOR_THERMOSTAT LEQ1004585 it may not yet be paired
2017-07-02 10:51:08.349 [WARN ] [.maxcul.internal.MaxCulBindingConfig] - Unable to locate information for RADIATOR_THERMOSTAT LEQ1004585 it may not yet be paired
2017-07-02 10:51:08.375 [WARN ] [.maxcul.internal.MaxCulBindingConfig] - Unable to locate information for RADIATOR_THERMOSTAT LEQ1004585 it may not yet be paired
2017-07-02 10:51:08.396 [WARN ] [.maxcul.internal.MaxCulBindingConfig] - Unable to locate information for RADIATOR_THERMOSTAT KEQ0408485 it may not yet be paired
2017-07-02 10:51:08.418 [WARN ] [.maxcul.internal.MaxCulBindingConfig] - Unable to locate information for RADIATOR_THERMOSTAT KEQ0408485 it may not yet be paired
2017-07-02 10:51:08.450 [WARN ] [.maxcul.internal.MaxCulBindingConfig] - Unable to locate information for RADIATOR_THERMOSTAT KEQ0408485 it may not yet be paired
2017-07-02 10:51:08.487 [WARN ] [.maxcul.internal.MaxCulBindingConfig] - Unable to locate information for RADIATOR_THERMOSTAT KEQ0411855 it may not yet be paired
2017-07-02 10:51:08.524 [WARN ] [.maxcul.internal.MaxCulBindingConfig] - Unable to locate information for RADIATOR_THERMOSTAT KEQ0411855 it may not yet be paired
2017-07-02 10:51:08.541 [WARN ] [.maxcul.internal.MaxCulBindingConfig] - Unable to locate information for RADIATOR_THERMOSTAT KEQ0411855 it may not yet be paired
2017-07-02 10:51:08.578 [WARN ] [.maxcul.internal.MaxCulBindingConfig] - Unable to locate information for RADIATOR_THERMOSTAT LEQ1004491 it may not yet be paired
2017-07-02 10:51:08.605 [WARN ] [.maxcul.internal.MaxCulBindingConfig] - Unable to locate information for RADIATOR_THERMOSTAT LEQ1004491 it may not yet be paired
2017-07-02 10:51:08.621 [WARN ] [.maxcul.internal.MaxCulBindingConfig] - Unable to locate information for RADIATOR_THERMOSTAT LEQ1004491 it may not yet be paired
2017-07-02 10:51:13.727 [INFO ] [vice.internal.HttpServiceFactoryImpl] - Binding bundle: [org.openhab.core_2.0.0 [166]] to http service
2017-07-02 10:51:13.968 [INFO ] [rg.ops4j.pax.web.utils.ClassPathUtil] - Ignoring bundle scan for /META-INF/services javax.servlet.ServletContainerInitializer.
2017-07-02 10:51:14.326 [INFO ] [ce.jetty.internal.HttpServiceContext] - registering context DefaultHttpContext [bundle=org.openhab.core_2.0.0 [166], contextID=default], with context-name: 
2017-07-02 10:51:14.401 [INFO ] [.jetty.server.handler.ContextHandler] - Started HttpServiceContext{httpContext=DefaultHttpContext [bundle=org.openhab.core_2.0.0 [166], contextID=default]}
2017-07-02 10:52:22.072 [INFO ] [internal.service.FeaturesServiceImpl] - No deployment change.
2017-07-02 10:52:22.302 [INFO ] [internal.service.FeaturesServiceImpl] - Done.
2017-07-02 10:53:33.659 [ERROR] [org.openhab.binding.maxcul          ] - FrameworkEvent ERROR - org.openhab.binding.maxcul
org.osgi.framework.ServiceException: Exception in org.apache.felix.scr.impl.manager.SingleComponentManager.getService()
        at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:222)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
        at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
        at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:496)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
        at org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.obtain(EventHandlerProxy.java:286)[6:org.apache.karaf.services.eventadmin:4.0.8]
        at org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:407)[6:org.apache.karaf.services.eventadmin:4.0.8]
        at org.apache.felix.eventadmin.impl.tasks.HandlerTask.runWithoutBlacklistTiming(HandlerTask.java:102)[6:org.apache.karaf.services.eventadmin:4.0.8]
        at org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:104)[6:org.apache.karaf.services.eventadmin:4.0.8]
        at org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:166)[6:org.apache.karaf.services.eventadmin:4.0.8]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_121]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_121]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_121]
        at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]
Caused by: java.lang.IllegalStateException: Could not obtain lock
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.obtainLock(AbstractComponentManager.java:230)[32:org.apache.felix.scr:2.0.6]
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.obtainStateLock(AbstractComponentManager.java:278)[32:org.apache.felix.scr:2.0.6]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:806)
        at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
        at java.security.AccessController.doPrivileged(Native Method)[:1.8.0_121]
        at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
        ... 15 more

the file where the items are declared looks like that

Switch RadThermPair "PairMode Cuno Active" {maxcul="PairMode"}

Number RadThermLivingR          "Desired Temp LivingRoom [%.1f °C]" {maxcul="RadiatorThermostat:LEQ1004497:feature=thermostat:configTemp=20.0/15.0/30.5/4.5/4.5/0.0/0.0"}

Number RadThermLivingRMeas      "Temperature LivingRoom [%.1f °C]" {maxcul="RadiatorThermostat:LEQ1004497:feature=temperature"}

Number RadThermLivingRBatt      "Battery State low" {maxcul="RadiatorThermostat:LEQ1004497:feature=battery"}

Am I missing some installation details?

Sorry, I have to step out here, since I don’t use the MaxCUL binding.

Hello.
This was a late reply - but maybe it helps.

You have to pair your Devices again. The Binding creates a file for each Device in …/etc/maxcul - named by the Serialnumber like "MEQ1234567.properties"
The File needs only 1 line like “devAddr=11C1BC”

From am existing OH1 - just copy the .properties Files to the new Installation.

Greets
Olli