ZWave remote?

Hi,

I am trying to use a 4 button Devolo Home Control remote. I am able to include it, but the device is not recognized. I also do not see any events in the logs and HABmin states that packages have never been send or received. Is this a general compatibility issue or is something wrong with the remote? The manual is just terrible (basically just stating “Our home control system will tell you what to do”).

I think the device should work. You will need to wake it up (hopefully the manual will say how to wake the device) a few times to get it configured.

If there are no packets in the debug log when you wake it up, and the device is reasonably close to the controller, then it might not have included correctly. It can happen that the stick thinks the node number is one value, while the device thinks it’s a different value if something goes wrong during the inclusion process so excluding the device and re-including it would be the first thing to try if there really is no communication.

I’m also not sure that the device is in the database, however I guess from the above that you’re using OH1 so this doesn’t matter for the initial “getting it going” stage.

Ok, the manual did NOT say that (it just said “Our Home Control System will tell you what to do”), but the Support Hotline did after some hesitation (“That depends on the master system …”).
It’s just pressing and holding button 1 when close to the station in include mode. I seem to have it paired now, I have the following in the logs:

2016-08-11 13:29:18.334 [WARN ] [.o.b.z.i.p.c.ZWaveCommandClass] - NODE 6: Unsupported command class ZWAVE_PLUS_INFO
2016-08-11 13:29:18.335 [WARN ] [.o.b.z.i.p.c.ZWaveCommandClass] - NODE 6: Unsupported command class SCENE_CONTROLLER_CONF
2016-08-11 13:29:18.335 [WARN ] [.o.b.z.i.p.c.ZWaveCommandClass] - NODE 6: Unsupported command class MULTI_INSTANCE_ASSOCIATION
2016-08-11 13:29:18.339 [WARN ] [.o.b.z.i.p.c.ZWaveCommandClass] - NODE 6: Unsupported command class DEVICE_RESET_LOCALLY
2016-08-11 13:29:18.339 [WARN ] [.o.b.z.i.p.c.ZWaveCommandClass] - NODE 6: Unsupported command class ASSOCIATION_GROUP_INFO
2016-08-11 13:29:18.339 [WARN ] [.o.b.z.i.p.c.ZWaveCommandClass] - NODE 6: Unknown command class 0x5b
2016-08-11 13:29:18.339 [WARN ] [.o.b.z.i.p.c.ZWaveCommandClass] - NODE 6: Unsupported command class POWERLEVEL
2016-08-11 13:29:19.451 [WARN ] [z.i.p.i.ZWaveNodeStageAdvancer] - NODE 6: Node advancer: SET_ASSOCIATION - Unknown device: 175:100:102
2016-08-11 13:29:19.480 [WARN ] [z.i.p.i.ZWaveNodeStageAdvancer] - NODE 6: Node advancer: GET_CONFIGURATION - Unknown device: 175:100:102
2016-08-11 13:29:19.546 [WARN ] [.z.internal.ZWaveActiveBinding] - NODE 6: No item bound for event, endpoint = 0, command class = BATTERY, value = 36, ignoring.

I don’t get anything when I press any button, though. Let me add that a Fibaro MeterSwitch is working fine. I am using an Aeotec Z-Stick Gen5 on the OpenHAB side.

Before those lines, I have a lot of exceptions in the log, but I don’t know if they are related:

    at org.openhab.binding.zwave.internal.config.ZWaveConfiguration.getConfiguration(ZWaveConfiguration.java:127) ~[bundlefile:na]
    at org.openhab.io.habmin.services.zwave.ZWaveConfigResource.getConfig(ZWaveConfigResource.java:73) ~[na:na]
    at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source) ~[na:na]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_91]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_91]
    at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) ~[jersey-server-1.18.1.jar:1.18.1]
    at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) ~[jersey-server-1.18.1.jar:1.18.1]
    at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) ~[jersey-server-1.18.1.jar:1.18.1]
    at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) ~[jersey-server-1.18.1.jar:1.18.1]
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[jersey-server-1.18.1.jar:1.18.1]
    at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) ~[jersey-server-1.18.1.jar:1.18.1]
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[jersey-server-1.18.1.jar:1.18.1]
    at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) ~[jersey-server-1.18.1.jar:1.18.1]
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) [jersey-server-1.18.1.jar:1.18.1]
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) [jersey-server-1.18.1.jar:1.18.1]
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) [jersey-server-1.18.1.jar:1.18.1]
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) [jersey-server-1.18.1.jar:1.18.1]
    at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) [jersey-servlet-1.18.1.jar:1.18.1]
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:540) [jersey-servlet-1.18.1.jar:1.18.1]
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:715) [jersey-servlet-1.18.1.jar:1.18.1]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) [javax.servlet_3.0.0.v201112011016.jar:na]
    at org.atmosphere.util.AtmosphereFilterChain.doFilter(AtmosphereFilterChain.java:135) [atmosphere-runtime-2.2.5.jar:2.2.5]
    at org.atmosphere.util.AtmosphereFilterChain.invokeFilterChain(AtmosphereFilterChain.java:96) [atmosphere-runtime-2.2.5.jar:2.2.5]
    at org.atmosphere.handler.ReflectorServletProcessor$FilterChainServletWrapper.service(ReflectorServletProcessor.java:317) [atmosphere-runtime-2.2.5.jar:2.2.5]
    at org.atmosphere.handler.ReflectorServletProcessor.onRequest(ReflectorServletProcessor.java:160) [atmosphere-runtime-2.2.5.jar:2.2.5]
    at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:206) [atmosphere-runtime-2.2.5.jar:2.2.5]
    at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:105) [atmosphere-runtime-2.2.5.jar:2.2.5]
    at org.atmosphere.container.Jetty7CometSupport.service(Jetty7CometSupport.java:57) [atmosphere-runtime-2.2.5.jar:2.2.5]
    at org.atmosphere.container.JettyAsyncSupportWithWebSocket.service(JettyAsyncSupportWithWebSocket.java:67) [atmosphere-runtime-2.2.5.jar:2.2.5]
    at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2076) [atmosphere-runtime-2.2.5.jar:2.2.5]
    at org.atmosphere.cpr.AtmosphereServlet.doPost(AtmosphereServlet.java:211) [atmosphere-runtime-2.2.5.jar:2.2.5]
    at org.atmosphere.cpr.AtmosphereServlet.doGet(AtmosphereServlet.java:197) [atmosphere-runtime-2.2.5.jar:2.2.5]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:735) [javax.servlet_3.0.0.v201112011016.jar:na]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) [javax.servlet_3.0.0.v201112011016.jar:na]
    at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) [org.eclipse.equinox.http.servlet_1.1.300.v20120522-1841.jar:na]
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128) [org.eclipse.equinox.http.servlet_1.1.300.v20120522-1841.jar:na]
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68) [org.eclipse.equinox.http.servlet_1.1.300.v20120522-1841.jar:na]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) [javax.servlet_3.0.0.v201112011016.jar:na]
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598) [org.eclipse.jetty.servlet_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486) [org.eclipse.jetty.servlet_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413) [org.eclipse.jetty.servlet_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.server.Server.handle(Server.java:350) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630) [org.eclipse.jetty.http_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230) [org.eclipse.jetty.http_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606) [org.eclipse.jetty.io_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46) [org.eclipse.jetty.io_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603) [org.eclipse.jetty.util_8.1.3.v20120522.jar:8.1.3.v20120522]
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538) [org.eclipse.jetty.util_8.1.3.v20120522.jar:8.1.3.v20120522]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]

2016-08-11 13:28:38.398 [ERROR] [.a.h.ReflectorServletProcessor] - onRequest()
java.lang.NullPointerException: null
at org.openhab.binding.zwave.internal.config.ZWaveConfiguration.getConfiguration(ZWaveConfiguration.java:127) ~[bundlefile:na]
at org.openhab.io.habmin.services.zwave.ZWaveConfigResource.getConfig(ZWaveConfigResource.java:73) ~[na:na]
at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_91]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_91]
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) ~[jersey-server-1.18.1.jar:1.18.1]
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) ~[jersey-server-1.18.1.jar:1.18.1]
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) ~[jersey-server-1.18.1.jar:1.18.1]
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) ~[jersey-server-1.18.1.jar:1.18.1]
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[jersey-server-1.18.1.jar:1.18.1]
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) ~[jersey-server-1.18.1.jar:1.18.1]
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[jersey-server-1.18.1.jar:1.18.1]
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) ~[jersey-server-1.18.1.jar:1.18.1]
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) ~[jersey-server-1.18.1.jar:1.18.1]
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) ~[jersey-server-1.18.1.jar:1.18.1]
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) ~[jersey-server-1.18.1.jar:1.18.1]
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) ~[jersey-server-1.18.1.jar:1.18.1]
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) ~[jersey-servlet-1.18.1.jar:1.18.1]
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:540) ~[jersey-servlet-1.18.1.jar:1.18.1]
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:715) ~[jersey-servlet-1.18.1.jar:1.18.1]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) [javax.servlet_3.0.0.v201112011016.jar:na]
at org.atmosphere.util.AtmosphereFilterChain.doFilter(AtmosphereFilterChain.java:135) ~[atmosphere-runtime-2.2.5.jar:2.2.5]
at org.atmosphere.util.AtmosphereFilterChain.invokeFilterChain(AtmosphereFilterChain.java:96) ~[atmosphere-runtime-2.2.5.jar:2.2.5]
at org.atmosphere.handler.ReflectorServletProcessor$FilterChainServletWrapper.service(ReflectorServletProcessor.java:317) ~[atmosphere-runtime-2.2.5.jar:2.2.5]
at org.atmosphere.handler.ReflectorServletProcessor.onRequest(ReflectorServletProcessor.java:160) ~[atmosphere-runtime-2.2.5.jar:2.2.5]
at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:206) [atmosphere-runtime-2.2.5.jar:2.2.5]
at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:105) [atmosphere-runtime-2.2.5.jar:2.2.5]
at org.atmosphere.container.Jetty7CometSupport.service(Jetty7CometSupport.java:57) [atmosphere-runtime-2.2.5.jar:2.2.5]
at org.atmosphere.container.JettyAsyncSupportWithWebSocket.service(JettyAsyncSupportWithWebSocket.java:67) [atmosphere-runtime-2.2.5.jar:2.2.5]
at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2076) [atmosphere-runtime-2.2.5.jar:2.2.5]
at org.atmosphere.cpr.AtmosphereServlet.doPost(AtmosphereServlet.java:211) [atmosphere-runtime-2.2.5.jar:2.2.5]
at org.atmosphere.cpr.AtmosphereServlet.doGet(AtmosphereServlet.java:197) [atmosphere-runtime-2.2.5.jar:2.2.5]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:735) [javax.servlet_3.0.0.v201112011016.jar:na]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) [javax.servlet_3.0.0.v201112011016.jar:na]
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) [org.eclipse.equinox.http.servlet_1.1.300.v20120522-1841.jar:na]
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128) [org.eclipse.equinox.http.servlet_1.1.300.v20120522-1841.jar:na]
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68) [org.eclipse.equinox.http.servlet_1.1.300.v20120522-1841.jar:na]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) [javax.servlet_3.0.0.v201112011016.jar:na]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598) [org.eclipse.jetty.servlet_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486) [org.eclipse.jetty.servlet_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413) [org.eclipse.jetty.servlet_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.Server.handle(Server.java:350) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630) [org.eclipse.jetty.http_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230) [org.eclipse.jetty.http_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606) [org.eclipse.jetty.io_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46) [org.eclipse.jetty.io_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603) [org.eclipse.jetty.util_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538) [org.eclipse.jetty.util_8.1.3.v20120522.jar:8.1.3.v20120522]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]
2016-08-11 13:28:38.411 [WARN ] [e.jetty.servlet.ServletHandler] - /services/habmin/zwave/products/
java.lang.RuntimeException: java.lang.NullPointerException
at org.atmosphere.handler.ReflectorServletProcessor.onRequest(ReflectorServletProcessor.java:163) ~[na:na]
at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:206) ~[na:na]
at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:105) ~[na:na]
at org.atmosphere.container.Jetty7CometSupport.service(Jetty7CometSupport.java:57) ~[na:na]
at org.atmosphere.container.JettyAsyncSupportWithWebSocket.service(JettyAsyncSupportWithWebSocket.java:67) ~[na:na]
at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2076) ~[na:na]
at org.atmosphere.cpr.AtmosphereServlet.doPost(AtmosphereServlet.java:211) ~[na:na]
at org.atmosphere.cpr.AtmosphereServlet.doGet(AtmosphereServlet.java:197) ~[na:na]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:735) ~[javax.servlet_3.0.0.v201112011016.jar:na]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) ~[javax.servlet_3.0.0.v201112011016.jar:na]
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) ~[na:na]
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128) ~[na:na]
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68) ~[na:na]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) ~[javax.servlet_3.0.0.v201112011016.jar:na]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598) ~[org.eclipse.jetty.servlet_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486) [org.eclipse.jetty.servlet_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413) [org.eclipse.jetty.servlet_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.Server.handle(Server.java:350) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630) [org.eclipse.jetty.http_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230) [org.eclipse.jetty.http_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77) [org.eclipse.jetty.server_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606) [org.eclipse.jetty.io_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46) [org.eclipse.jetty.io_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603) [org.eclipse.jetty.util_8.1.3.v20120522.jar:8.1.3.v20120522]
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538) [org.eclipse.jetty.util_8.1.3.v20120522.jar:8.1.3.v20120522]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]
Caused by: java.lang.NullPointerException: null
at org.openhab.binding.zwave.internal.config.ZWaveConfiguration.getConfiguration(ZWaveConfiguration.java:127) ~[na:na]
at org.openhab.io.habmin.services.zwave.ZWaveConfigResource.getConfig(ZWaveConfigResource.java:73) ~[na:na]
at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_91]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_91]
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) ~[na:na]
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) ~[na:na]
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) ~[na:na]
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) ~[na:na]
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[na:na]
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) ~[na:na]
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[na:na]
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) ~[na:na]
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) ~[na:na]
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) ~[na:na]
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) ~[na:na]
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) ~[na:na]
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) ~[na:na]
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:540) ~[na:na]
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:715) ~[na:na]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) ~[javax.servlet_3.0.0.v201112011016.jar:na]
at org.atmosphere.util.AtmosphereFilterChain.doFilter(AtmosphereFilterChain.java:135) ~[na:na]
at org.atmosphere.util.AtmosphereFilterChain.invokeFilterChain(AtmosphereFilterChain.java:96) ~[na:na]
at org.atmosphere.handler.ReflectorServletProcessor$FilterChainServletWrapper.service(ReflectorServletProcessor.java:317) ~[na:na]
at org.atmosphere.handler.ReflectorServletProcessor.onRequest(ReflectorServletProcessor.java:160) ~[na:na]
… 36 common frames omitted

Yep - so as per my previous message, this is not in the database. Now that I understand that you are using OH2, this will need to be resolved.

What version of OH2 are you using? Is it a recent version, or old?

(ps please format log messages using the </> button as it makes it a lot easier to read and process)

Hi, sorry, I didn’t answer that. I use Openhab 1 (Openhab 2 ist just installed, but not started, for testing). What makes you think I use OpenHAB2? My z-wave binding is version 1.8.3.

I finally found a model number (seems to be only on the Declaration of Conformity sheet): MT:2653.
I am also looking at this apparently realted thread:

but I don’t even have a configuration parameters listing in HABmin (I do have one for the meter switch, so I am looking at the right place, I guess)

Ok, thanks. Please can you upgrade to the most recent version - I think this error was fixed a long time ago. If it still persists after you’re using a newer version I’ll take a look, but I’m pretty sure it’s solved.

It still won’t be in the database. You might need to manually configure associations which will need the database to be updated.

Hi, I used apt-get from the (semi?)official PPA to install 1.8.3. That seems to be the most recent version there. Can you point me into the right direction how to install this manually? Also note that I edited some information into the last post, you might not have read that.

Or did you mean 2.0 with most recent version? I tried the transistion but it did not go smoothly yet (probably due to a lack of getting into it).

No - I meant to grab the latest snapshot binding from cloudbees. I’m not sure how that works with the apt repository, but you need to get the 1.9 snapshot of the zwave binding.

https://openhab.ci.cloudbees.com/

I’ve the same device here. After inlcusion, it shows up w/o Association Groups I don’t get it to work. Also, it needs some configuration parameters to set the operation mode of the keys correctly. Since this device is prepaired for the Devolo Home Control, the default setup might be something…

The Device ist pretty the same as the zwave.me 4-Button control, it also show up with the same ID, but with the manufacture id of Devolo:

Manufacturer ID: 175 (Devolo)
Device ID: 102
Decice Type: 100

If I understand it right, it should be enough to add an Device Entry and link it to the Config-File of the same Device from ZWave.me, this should be: zwaveme/kfob.xml

I’m not fimilar with github, if I get it right, there must be some PR and then wait for the next build of the zwave-bindung Addon?

cu - Arndt

Ok, I installed the 1.9.0 snapshot manually. Now I have Association Groups and Configuration Parameters, but they are both empty.

Logs now say

2016-08-11 19:02:31.060 [ERROR] [b.z.i.p.s.SendDataMessageClass] - NODE 6: Sent Data was not placed on stack due to error 0.
2016-08-11 19:02:36.058 [ERROR] [WaveController$ZWaveSendThread] - NODE 6: Timeout while sending message. Requeueing - 0 attempts left!

I don’t really understand what Arndt suggests.

He is suggesting that the database needs to be updated, which is why the associations etc don’t have anything in them.

Can you or @arndt provide the XML file so I can load this to the database and I’ll update the binding over the next day or two.

When I get it right, adding:

    <Product>
        <Reference>
            <Type>0100</Type>
            <Id>0102</Id>
        </Reference>
        <Model>9360</Model>
        <Label lang="en">Home Control 4 Button Remote Control</Label>
        <ConfigFile>zwaveme/kfob.xml</ConfigFile>
    </Product>

to the products.xml in the tag:

<Manufacturer>
    <Id>0175</Id>
    <Name>devolo</Name>

would do the job, since the remote control seems to be the same device, just with another manufacturer ID.

Dunno if this is all the information you need to add the device or witch files you need to have generated.

thanks for help :slight_smile:

Thnaks - I was also after the node XML file that OH generates if possible - then I can also load this into the OH2 database.

I also updated to the 1.9.0 snapshot and the inclusion of the device seems to be normal - for an unknown device. Per default the buttons of the RC are working on 4 differend association goups - and so we get no response until we are able access these groups, right? Association Groups are actually empty in habmin.

chris,

you’re looking for this?

<node>
  <deviceClass>
    <basicDeviceClass>ROUTING_SLAVE</basicDeviceClass>
    <genericDeviceClass>REMOTE_SWITCH</genericDeviceClass>
    <specificDeviceClass>SWITCH_REMOTE_MULTILEVEL</specificDeviceClass>
  </deviceClass>
  <homeId>0x-----</homeId>
  <nodeId>32</nodeId>
  <version>4</version>
  <manufacturer>0x175</manufacturer>
  <deviceId>0x102</deviceId>
  <deviceType>0x100</deviceType>
  <listening>false</listening>
  <frequentlyListening>false</frequentlyListening>
  <routing>true</routing>
  <security>false</security>
  <beaming>true</beaming>
  <maxBaudRate>40000</maxBaudRate>
  <nodeInformationFrame/>
  <supportedCommandClasses>
    <entry>
      <commandClass>VERSION</commandClass>
      <versionCommandClass>
        <version>1</version>
        <instances>1</instances>
        <libraryType>LIB_SLAVE_ENHANCED</libraryType>
        <protocolVersion>3.92</protocolVersion>
        <applicationVersion>1.1</applicationVersion>
      </versionCommandClass>
    </entry>
    <entry>
      <commandClass>CONFIGURATION</commandClass>
      <configurationCommandClass>
        <version>1</version>
        <instances>1</instances>
        <configParameters/>
      </configurationCommandClass>
    </entry>
    <entry>
      <commandClass>NO_OPERATION</commandClass>
      <noOperationCommandClass>
        <version>1</version>
        <instances>1</instances>
      </noOperationCommandClass>
    </entry>
    <entry>
      <commandClass>MULTI_CMD</commandClass>
      <multiCommandCommandClass>
        <version>1</version>
        <instances>1</instances>
      </multiCommandCommandClass>
    </entry>
    <entry>
      <commandClass>BASIC</commandClass>
      <basicCommandClass>
        <version>1</version>
        <instances>1</instances>
        <isGetSupported>true</isGetSupported>
      </basicCommandClass>
    </entry>
    <entry>
      <commandClass>MANUFACTURER_SPECIFIC</commandClass>
      <manufacturerSpecificCommandClass>
        <version>1</version>
        <instances>1</instances>
      </manufacturerSpecificCommandClass>
    </entry>
    <entry>
      <commandClass>ASSOCIATION</commandClass>
      <associationCommandClass>
        <version>1</version>
        <instances>1</instances>
        <configAssociations>
          <entry>
            <int>1</int>
            <associationGroup>
              <Index>1</Index>
              <Nodes/>
            </associationGroup>
          </entry>
          <entry>
            <int>2</int>
            <associationGroup>
              <Index>2</Index>
              <Nodes/>
            </associationGroup>
          </entry>
          <entry>
            <int>3</int>
            <associationGroup>
              <Index>3</Index>
              <Nodes/>
            </associationGroup>
          </entry>
          <entry>
            <int>4</int>
            <associationGroup>
              <Index>4</Index>
              <Nodes/>
            </associationGroup>
          </entry>
          <entry>
            <int>5</int>
            <associationGroup>
              <Index>5</Index>
              <Nodes/>
            </associationGroup>
          </entry>
        </configAssociations>
        <maxGroups>5</maxGroups>
      </associationCommandClass>
    </entry>
    <entry>
      <commandClass>WAKE_UP</commandClass>
      <WakeUpCommandClass>
        <version>2</version>
        <instances>1</instances>
        <targetNodeId>1</targetNodeId>
        <interval>604800</interval>
        <minInterval>240</minInterval>
        <maxInterval>15728400</maxInterval>
        <defaultInterval>604672</defaultInterval>
        <intervalStep>240</intervalStep>
        <lastWakeup>2016-08-11 15:23:37.52 UTC</lastWakeup>
        <isGetSupported>true</isGetSupported>
      </WakeUpCommandClass>
    </entry>
    <entry>
      <commandClass>CENTRAL_SCENE</commandClass>
      <centralSceneCommandClass>
        <version>1</version>
        <instances>1</instances>
        <sceneCount>8</sceneCount>
      </centralSceneCommandClass>
    </entry>
    <entry>
      <commandClass>BATTERY</commandClass>
      <batteryCommandClass>
        <version>1</version>
        <instances>1</instances>
        <batteryLevel>100</batteryLevel>
        <batteryLow>false</batteryLow>
        <isGetSupported>true</isGetSupported>
      </batteryCommandClass>
    </entry>
  </supportedCommandClasses>
  <nodeNeighbors/>
  <lastSent>2016-08-11 15:23:38.417 UTC</lastSent>
  <lastReceived>2016-08-11 15:23:38.482 UTC</lastReceived>
</node>

Thanks - yes, that’s what I’m after.

You guys are awesome. I’ll wait for the update and report.

I tried an update, but something seems to be wrong. I cannot see any devices in habmin. Here is the log (device 2 is probably out of reach)

2016-08-14 11:49:43.600 [INFO ] [.z.internal.ZWaveActiveBinding] - Update config, port = /dev/ttyACM0
2016-08-14 11:49:43.601 [INFO ] [.z.internal.ZWaveActiveBinding] - Update config, healtime = 4
2016-08-14 11:49:43.628 [INFO ] [.service.AbstractActiveService] - ZWave Refresh Service has been started
2016-08-14 11:49:43.689 [INFO ] [b.z.i.protocol.ZWaveController] - Starting Z-Wave controller
2016-08-14 11:49:43.689 [INFO ] [b.z.i.protocol.ZWaveController] - Z-Wave timeout is set to 5000ms. Soft reset is false.
2016-08-14 11:49:43.690 [INFO ] [b.z.i.protocol.ZWaveController] - Connecting to serial port /dev/ttyACM0
2016-08-14 11:49:43.852 [INFO ] [b.z.i.protocol.ZWaveController] - Serial port is initialized
2016-08-14 11:49:43.905 [WARN ] [ApplicationCommandMessageClass] - NODE 2: Not initialized yet, ignoring message.
2016-08-14 11:49:43.912 [WARN ] [ApplicationCommandMessageClass] - NODE 2: Not initialized yet, ignoring message.
2016-08-14 11:49:43.973 [INFO ] [.service.AbstractActiveService] - NetworkHealth Refresh Service has been started
2016-08-14 11:49:47.089 [INFO ] [rialApiGetInitDataMessageClass] - NODE 1: Node found
2016-08-14 11:49:47.089 [INFO ] [rialApiGetInitDataMessageClass] - NODE 2: Node found
2016-08-14 11:49:47.090 [INFO ] [rialApiGetInitDataMessageClass] - NODE 6: Node found
2016-08-14 11:49:47.090 [INFO ] [rialApiGetInitDataMessageClass] - ZWave Controller using Controller API
2016-08-14 11:49:47.090 [INFO ] [rialApiGetInitDataMessageClass] - ZWave Controller is Primary Controller
2016-08-14 11:49:47.091 [INFO ] [rialApiGetInitDataMessageClass] - ------------Number of Nodes Found Registered to ZWave Controller------------
2016-08-14 11:49:47.091 [INFO ] [rialApiGetInitDataMessageClass] - # Nodes = 3
2016-08-14 11:49:47.091 [INFO ] [rialApiGetInitDataMessageClass] - ----------------------------------------------------------------------------
2016-08-14 11:49:47.478 [ERROR] [b.z.i.protocol.ZWaveController] - NODE 1: Restore from config: Error deserialising XML file. com.thoughtworks.xstream.io.StreamException: : ParseError at [row,col]:[1,1]
Message: Premature end of file.
2016-08-14 11:49:47.486 [ERROR] [b.z.i.p.s.SendDataMessageClass] - NODE 2: Sent Data was not placed on stack due to error 0.
2016-08-14 11:49:52.486 [ERROR] [WaveController$ZWaveSendThread] - NODE 2: Timeout while sending message. Requeueing - 0 attempts left!
2016-08-14 11:49:52.488 [ERROR] [b.z.i.p.s.SendDataMessageClass] - NODE 2: Got an error while sending data. Resending message.
2016-08-14 11:49:52.555 [ERROR] [b.z.i.p.s.SendDataMessageClass] - NODE 2: Sent Data was not placed on stack due to error 0.
2016-08-14 11:49:57.562 [WARN ] [WaveController$ZWaveSendThread] - NODE 2: Too many retries. Discarding message: Message: class = SendData (0x13), type = Request (0x00), payload = 02 01 00
2016-08-14 11:49:57.568 [ERROR] [b.z.i.p.s.SendDataMessageClass] - NODE 2: Sent Data was not placed on stack due to error 0.
2016-08-14 11:50:02.573 [ERROR] [WaveController$ZWaveSendThread] - NODE 2: Timeout while sending message. Requeueing - 0 attempts left!
2016-08-14 11:50:02.574 [ERROR] [b.z.i.p.s.SendDataMessageClass] - NODE 2: Got an error while sending data. Resending message.
2016-08-14 11:50:02.580 [ERROR] [b.z.i.p.s.SendDataMessageClass] - NODE 2: Sent Data was not placed on stack due to error 0.
2016-08-14 11:50:07.580 [WARN ] [WaveController$ZWaveSendThread] - NODE 2: Too many retries. Discarding message: Message: class = SendData (0x13), type = Request (0x00), payload = 02 01 00
2016-08-14 11:50:07.585 [ERROR] [b.z.i.p.s.SendDataMessageClass] - NODE 2: Sent Data was not placed on stack due to error 0.
2016-08-14 11:50:12.584 [ERROR] [WaveController$ZWaveSendThread] - NODE 2: Timeout while sending message. Requeueing - 0 attempts left!
2016-08-14 11:50:12.584 [ERROR] [b.z.i.p.s.SendDataMessageClass] - NODE 2: Got an error while sending data. Resending message.
2016-08-14 11:50:12.589 [ERROR] [b.z.i.p.s.SendDataMessageClass] - NODE 2: Sent Data was not placed on stack due to error 0.
2016-08-14 11:50:17.587 [WARN ] [WaveController$ZWaveSendThread] - NODE 2: Too many retries. Discarding message: Message: class = SendData (0x13), type = Request (0x00), payload = 02 01 00
2016-08-14 11:50:22.486 [ERROR] [b.z.i.p.s.SendDataMessageClass] - NODE 2: Sent Data was not placed on stack due to error 0.
2016-08-14 11:50:27.486 [ERROR] [WaveController$ZWaveSendThread] - NODE 2: Timeout while sending message. Requeueing - 0 attempts left!
2016-08-14 11:50:27.488 [ERROR] [b.z.i.p.s.SendDataMessageClass] - NODE 2: Got an error while sending data. Resending message.

If you can’t see any devices in HABmin, then the problem is not ZWave, but something else (HABmin configuration, network, REST, or something along those lines). The log shows that ZWave is working ok, so the problem must be elsewhere in the system, but I’m not really sure what unfortunately.

Maybe try restarting in case the HABmin -> ZWave communication has got confused with the change of binding.