Fortrezz Mimolite issue

It’s unlikely that you remember correctly :smile:

If there is no database entry, then you won’t have any configuration, and there is no database for this device


I’ll add it shortly and it will be in tomorrows snapshot.

@chris So I can add a z-wave device without any DB entry in the jars but I won’t have all it’s capabilities? I do have it working as a basic switch triggering my garage door but I don’t have the door status being read correctly.

The following items configuration was working for a while as I can see from my DB log entries. But now both these item states don’t get logged in the DB since past 1 week.

Switch Garage_DO “Garage Door” (Manat) { zwave=“xx:command=switch_binary”, autoupdate=“false” }
Contact Garage_Door_Status “Garage Door Status [%s]” (Manat) { zwave=“xx:command=sensor_binary,respond_to_basic=true” }

Nothing has changed in my install.

Correct - the database is (mostly!) used for configuration.

This doesn’t look correct
 What’s the autoupdate about? There also seems to be some sort of disconnect with the quotes?

I’m not sure why it would stop though if it was working and you’ve really not changed anything
 I’m not familiar with the device so can’t comment on the config - sorry.

@chris the autoupdate set to false is to render the item as a push button instead of a toggle switch in the UI. The quotes
well its copy paste from an example in google groups :smiley:

Hello Chris,
I saw that you had updated the Mimolite in the database ([https://github.com/openhab/openhab/commit/ba66521f19741635471d98b12c8d27d541430fb0][1])
I tried the latest Zwave binding (1.8.0.201510121306). I get a really bad exception when I try to see my Z-Wave config in habmin.

I have tried 1.7.1 and 1.8.0.SNAPSOT of the OpenHAB runtime with this version of zwave binding. Habmin version is 1.4.0.201504061533

Z-Wave bindings work - I am able to see the switch status/toggele their states and have meter readings as I did before.
Habmin does not work for Zwave configs anymore.

2015-10-12 16:22:16.252 [ERROR] [.a.h.ReflectorServletProcessor] - onRequest()
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$UnknownFieldException: No such field org.openhab.binding.zwave.internal.config.ZWaveDbManufacturer.ConfigFile
---- Debugging information ----
field               : ConfigFile
class               : org.openhab.binding.zwave.internal.config.ZWaveDbManufacturer
required-type       : org.openhab.binding.zwave.internal.config.ZWaveDbManufacturer
converter-type      : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
path                : /Manufacturers/Manufacturer[56]/ConfigFile
line number         : 2800
class[1]            : org.openhab.binding.zwave.internal.config.ZWaveProductDatabase$ZWaveDbRoot
version             : 1.4.6
-------------------------------
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.handleUnknownField(AbstractReflectionConverter.java:495) ~[na:na]
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:351) ~[na:na]
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:257) ~[na:na]
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[na:na]
	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) ~[na:na]
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[na:na]
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[na:na]
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:426) ~[na:na]
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:257) ~[na:na]
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) ~[na:na]
	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) ~[na:na]
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) ~[na:na]
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) ~[na:na]
	at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134) ~[na:na]
	at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) ~[na:na]
	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1157) ~[na:na]
	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1141) ~[na:na]
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1021) ~[na:na]
	at org.openhab.binding.zwave.internal.config.ZWaveProductDatabase.loadDatabase(ZWaveProductDatabase.java:92) ~[bundlefile:na]
	at org.openhab.binding.zwave.internal.config.ZWaveProductDatabase.<init>(ZWaveProductDatabase.java:48) ~[bundlefile:na]
	at org.openhab.binding.zwave.internal.config.ZWaveConfiguration.getConfiguration(ZWaveConfiguration.java:250) ~[bundlefile:na]
	at org.openhab.io.habmin.services.zwave.ZWaveConfigResource.getConfig(ZWaveConfigResource.java:73) ~[na:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_51]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_51]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_51]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_51]
	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(Unknown Source) [na:1.8.0_51]
2015-10-12 16:22:16.268 [ERROR] [.a.h.ReflectorServletProcessor] - onRequest()
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$UnknownFieldException: No such field org.openhab.binding.zwave.internal.config.ZWaveDbManufacturer.ConfigFile

Let me know if you need more information.
[1]: https://github.com/openhab/openhab/commit/ba66521f19741635471d98b12c8d27d541430fb0

This problem has been fixed and will be in tomorrows snapshot on Cloudbees.

@chris Fantastic. Sorry to cross post but any update on my other threads?

Sorry - I’ve not had the chance to look as I’m travelling at the moment so have limited connectivity


@chris I finally managed to update my working instance to 1.8.SNAPSHOT from 1.7.1. The mimolite now shows up as expected in habmin.

But when I try to set the trigger mapping parameter I get the following error:

2015-10-24 00:07:11.298 [ERROR] [.s.container.ContainerResponse] - The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
java.lang.NumberFormatException: For input string: "SIG1 triggered/untriggered sets or clears Relay1				"
	at java.lang.NumberFormatException.forInputString(Unknown Source) ~[na:1.8.0_60]
	at java.lang.Integer.parseInt(Unknown Source) ~[na:1.8.0_60]
	at java.lang.Integer.valueOf(Unknown Source) ~[na:1.8.0_60]
	at org.openhab.binding.zwave.internal.config.ZWaveConfiguration.doSet(ZWaveConfiguration.java:1132) ~[bundlefile:na]
	at org.openhab.io.habmin.services.zwave.ZWaveConfigResource.putSet(ZWaveConfigResource.java:129) ~[na:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_60]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_60]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_60]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_60]

Ok - I’ve updated the file - it looks like the labels spanned over 1 line and I think that’s messing up the REST data.

Give it a try tomorrow (assuming the cloudbees build happens tonight
).

@chris I am now trying to change the other parameters and I am not able to do so. In Habmin, I can click on the value cell but I can neither delete, backspace or type in a new value. :frowning: Would you be able to tell me the syntax of issuing a parameter SET command using the Z-Wave Items and a sitemap switch?
I tried the following:

Switch	Garage_DO_Config "Garage Door Configuration" <garagedoor> (Manat) { zwave="19:command=CONFIGURATION,3=0"}

and

Switch	Garage_DO_Config "Garage Door Configuration" <garagedoor> (Manat) { zwave="19:command=CONFIGURATION,parameter=,3,value=0"}

with no success. I get the following in the Z-Wave log

2015-10-29 16:06:26.501 [ERROR] [.c.ZWaveConfigurationConverter:74  ]- NODE 19: 'parameter' option must be specified.
2015-10-29 16:06:26.501 [WARN ] [.b.z.i.c.ZWaveConverterHandler:249 ]- NODE 19: Generating message failed for command class = CONFIGURATION
2015-10-29 16:07:05.441 [WARN ] [.c.ZWaveConfigurationConverter:116 ]- NODE 19: No converter found for item=Garage_DO_Config, type=OnOffType, endpoint=0, ignoring command.
Switch	Garage_DO_Config "Garage Door Configuration" <garagedoor> (Manat) { zwave="19:command=CONFIGURATION,parameter=3"}

The above should link configuration parameter 3 to the item - I assume this is what you are trying to do? The value is to be set from the item value as per any other OH items


Chris

@chris I am confused. How will the binding know that parameter 8 is the one that needs to be set to value 3? Below is a screenshot of the mimolite config tool (provided by fortrezz). This provides the values that need to be set for the various config parameters based on the need.

As you can see I need to set values to the parameters 3,4,5,6,7,8,9,11. I do realise that some of these are default values for the device but I want to assure my OCD self that these are set. :smile:

Well, it won’t I guess. I assumed from your previous post that you were trying to set parameter 3, which is why I used parameter=3 (just as you did).

If you want to set parameter 8, then you need to change the 3 to 8 :smile:

But how do i set the value? In the syntax you provided i dont see anyplace to set a specific value to the parameter

This is simply an openHAB item definition, so as I said above, the value is to be set from the item value as per any other OH items


So, for example if you use a rule, you can use sendCommand to set the value to 3.

Just reading back on your previous posts - why do you want to do this? Is it just to set the configuration once? If so, then just use HABmin, or some other software to set the static configuration?

@chris thanks for the info. I was trying to create switch item in the sitemap and use it to send the parameter and value to the device.
I did try habmin and I was having issues. I will try to explain as well as I can.
For this device when I double click one of the rows under prameters (say parameter 4) it ends up selecting the next row instead. Also, as explained earlier it doesnt allow me to edit some of the parameters. I will try to create a screengrab/video later this weekend.

You should easily be able to use a rule then if that’s what you want - just use the sendCommand function to set the value.

@chris I did use a rule and the send command as you suggested. Since yesterday evening I am having my mimolite function as expected. The contact updates immediately when the garage door is open/closed.
Thanks for your support. You have been fantastic in helping troubleshoot these issues.