Z-Wave Binding Issues with Channels Using COMMAND_CLASS_CONFIGURATION

zwave
binding
Tags: #<Tag:0x00007fd313ff8cf8> #<Tag:0x00007fd313ff8bb8>

(Aaron) #1

This is really a continuation of my efforts here to get my Aeotec ZW056 device to work: Item Type: Number or Decimal

With the 2.3.0 binding, only three channels show up when the device is first added from the Inbox, even though the database entry is showing six channels. The first is the Switch channel, which works fine. The second two are the Volume and Repetitions, which are both using configuration commands. However, as pointed out in the above thread, the channels seem to be configured with a “Decimal” data type which makes it impossible to create and link an item.

So I took a look at a few more example database entries that work similarly (e.g. GE zw4006) and made the attached updated database entry: zw056_0_0.xml (15.0 KB)

This is an improvement, because I have all 5 configuration command based channels available and can link them to proper items with Number type. However, updating the channels in Paper UI and Rules does not work. I’m getting errors like the following in the debug log:

16:21:42.405 [INFO ] [smarthome.event.ItemCommandEvent     ] - Item 'Annunciator_Play' received command 6
16:21:42.406 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: Command received zwave:device:07c3b712:node17:config_decimal_param6 --> 6
16:21:42.406 [DEBUG] [ndclass.ZWaveBinarySwitchCommandClass] - NODE 5: Creating new message for application command SWITCH_BINARY_GET
16:21:42.407 [DEBUG] [converter.ZWaveConfigurationConverter] - NODE 17: Config parameter 6 not found in converter
16:21:42.407 [DEBUG] [CommandClassTransactionPayloadBuilder] - At build COMMAND_CLASS_SWITCH_BINARY
16:21:42.408 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: No messages returned from converter

These same configuration parameter can successfully be set through the configuration parameters in PaperUI and HABmin

While I was investigating the issue I noticed a log message that probably needs cleaning up: ZWaveThingHandler::initialiseNode line 249 should probably be using bindingType[2] as the last parameter.


OH2 Z-Wave refactoring and testing... and SECURITY
(Chris Jackson) #2

Which 3 channels? I guess switch_binary, param 8 and param 2?

From a quick look at the database export, it looks like it’s not exported some channel definitions. I’m not sure why this is, but I’ll look at it when I get a chance.


(Aaron) #3

Correct.

Thank you.


(Aaron) #4

I’m noticing that among the devices I use, when I create an openHAB2 export from the database, the ZW056 is the only one that has this in the output: Notice: Undefined variable: parameter in /volume1/web/cd-jackson/components/com_zwave_database/helpers/zwave_export_oh2.php on line 1114

A possible clue?


(Chris Jackson) #5

Unfortunately not - this was just an issue with the label…

However, I think I’ve resolved this so I’ll need to do a complete database export which I’ll do over the weekend. If you can export the database entry and compile your own binding, then please let me know if it’s working now.


(Scott Rushworth) #6

Or… :smile:


(Aaron) #7

I can do this when I get home tonight. Will let you know.


(Aaron) #8

Good to know! I’ll squirrel that away for later.


(Aaron) #9

With this update, I have all 5 configuration based channels, but still faced with the following problems:

  1. Volume and Repetitions are still shown with Decimal types in the channel (in PaperUI, see attached), which means that I cannot link items. Volume is linked because of a link I had established before with “correct” types - from when I was using the database file I hand edited and attached to this thread. I assume openHAB automatically restores links because they are in the items files. On the Repetitions channel, I had unlinked one of these automatically re-linked items and now I cannot (though the UI anyway) link any item back.

  1. None of channels (even including the switch, which always worked before) are working now. This time, it’s a new error in the log. Three separate examples:
21:56:51.419 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: Command received zwave:device:937956ae:node17:config_decimal_param6 --> 6
21:56:51.420 [WARN ] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: No command converter set for command zwave:device:937956ae:node17:config_decimal_param6 type DecimalType
21:56:51.422 [INFO ] [smarthome.event.ItemCommandEvent     ] - Item 'Annunciator_Play' received command 6
21:56:51.425 [INFO ] [smarthome.event.ItemStateChangedEvent] - Annunciator_Play changed from 0 to 6

22:05:33.125 [INFO ] [smarthome.event.ItemCommandEvent     ] - Item 'Annunciator_Volume' received command 5
22:05:33.126 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: Command received zwave:device:937956ae:node17:config_decimal_param8 --> 5
22:05:33.126 [WARN ] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: No command converter set for command zwave:device:937956ae:node17:config_decimal_param8 type DecimalType
22:05:33.130 [INFO ] [smarthome.event.ItemStateChangedEvent] - Annunciator_Volume changed from NULL to 5

22:07:16.576 [INFO ] [smarthome.event.ItemCommandEvent     ] - Item 'Annunciator_Switch' received command ON
22:07:16.577 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: Command received zwave:device:937956ae:node17:switch_binary --> ON
22:07:16.578 [WARN ] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: No command converter set for command zwave:device:937956ae:node17:switch_binary type OnOffType
22:07:16.578 [INFO ] [smarthome.event.ItemStateChangedEvent] - Annunciator_Switch changed from OFF to ON


(Chris Jackson) #10

The config_decimal is always a Decimal type.

You should check the debug logs during initialisation to see what is happening. It’s likely that there will be some sort of error thrown during the thing init.


(Aaron) #11

So if I wanted to use PaperUI to link to a Number item, do these channels need to be “typedef’d” like params’s 6, 80, and 42?

I see one large error, but not sure it’s related:

2018-07-12 06:03:02.514 [ERROR] [xtext.validation.CompositeEValidator] - Error executing EValidator
java.util.ConcurrentModificationException: null
	at org.eclipse.emf.common.util.AbstractEList$EIterator.checkModCount(AbstractEList.java:758) [67:org.eclipse.emf.common:2.11.0.v20150805-0538]
	at org.eclipse.emf.common.util.AbstractEList$EIterator.doNext(AbstractEList.java:712) [67:org.eclipse.emf.common:2.11.0.v20150805-0538]
	at org.eclipse.emf.common.util.AbstractEList$EIterator.next(AbstractEList.java:692) [67:org.eclipse.emf.common:2.11.0.v20150805-0538]
	at com.google.common.collect.Iterators$7.computeNext(Iterators.java:651) [23:com.google.guava:18.0.0]
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) [23:com.google.guava:18.0.0]
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) [23:com.google.guava:18.0.0]
	at java.lang.Iterable.forEach(Iterable.java:74) [?:?]
	at org.eclipse.xtext.xbase.validation.UniqueClassNameValidator.checkUniqueName(UniqueClassNameValidator.java:76) [156:org.eclipse.xtext.xbase:2.12.0.v20170519-0752]
	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.eclipse.xtext.validation.AbstractDeclarativeValidator$MethodWrapper.invoke(AbstractDeclarativeValidator.java:118) [152:org.eclipse.xtext:2.12.0.v20170518-0959]
	at org.eclipse.xtext.validation.AbstractDeclarativeValidator.internalValidate(AbstractDeclarativeValidator.java:312) [152:org.eclipse.xtext:2.12.0.v20170518-0959]
	at org.eclipse.xtext.validation.AbstractInjectableValidator.validate(AbstractInjectableValidator.java:71) [152:org.eclipse.xtext:2.12.0.v20170518-0959]
	at org.eclipse.xtext.validation.CompositeEValidator.validate(CompositeEValidator.java:151) [152:org.eclipse.xtext:2.12.0.v20170518-0959]
	at org.eclipse.emf.ecore.util.Diagnostician.doValidate(Diagnostician.java:171) [68:org.eclipse.emf.ecore:2.11.1.v20150805-0538]
	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:158) [68:org.eclipse.emf.ecore:2.11.1.v20150805-0538]
	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137) [68:org.eclipse.emf.ecore:2.11.1.v20150805-0538]
	at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:108) [68:org.eclipse.emf.ecore:2.11.1.v20150805-0538]
	at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.validateModel(ModelRepositoryImpl.java:280) [126:org.eclipse.smarthome.model.core:0.10.0.oh230]
	at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:93) [126:org.eclipse.smarthome.model.core:0.10.0.oh230]
	at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) [126:org.eclipse.smarthome.model.core:0.10.0.oh230]
	at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processIgnoredFiles(FolderObserver.java:137) [126:org.eclipse.smarthome.model.core:0.10.0.oh230]
	at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.addModelParser(FolderObserver.java:85) [126:org.eclipse.smarthome.model.core:0.10.0.oh230]
	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.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:229) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:650) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:506) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.inject.BindMethod.invoke(BindMethod.java:658) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:1722) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1699) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:372) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:320) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:291) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1215) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1136) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:945) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:881) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1167) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:127) [39:org.apache.felix.scr:2.0.12]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) [?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920) [?:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) [?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) [?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) [?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) [?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469) [?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1012) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:968) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1215) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1136) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:945) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:881) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1167) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:127) [39:org.apache.felix.scr:2.0.12]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) [?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920) [?:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) [?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) [?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) [?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) [?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469) [?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.utils.extender.AbstractExtender.addingBundle(AbstractExtender.java:187) [39:org.apache.felix.scr:2.0.12]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:469) [?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:415) [?:?]
	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) [?:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) [?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) [?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908) [?:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) [?:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) [?:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) [?:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168) [?:?]
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) [?:?]
	at org.eclipse.osgi.container.Module.doStart(Module.java:578) [?:?]
	at org.eclipse.osgi.container.Module.start(Module.java:449) [?:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1634) [?:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1614) [?:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1585) [?:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1528) [?:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
2018-07-12 06:03:02.561 [INFO ] [el.core.internal.ModelRepositoryImpl] - Validation issues found in configuration model 'TestEzMultiPli.rules', using it anyway:
Error executing EValidator

Otherwise, I don’t see any errors related to initialization of node 17. Shall I send you a log?


(Chris Jackson) #12

Only Decimal is supported by the binding for configuration parameters.

What do you actually want to do? What is wrong with Decimal type? Sorry - I’m just a bit confused with what your use case is?

I don’t see anything in here that is linked to ZWave, so I don’t think it’s a ZWave issue.


(Aaron) #13

I don’t know that there’s anything fundamentally wrong with a Decimal type, but I haven’t really gotten far enough to confirm for my use case. The original issue with Decimal (mentioned in the first thread and above) is that in the current version of openHAB, creating and linking items to channels in the UI seems to be impossible with Decimal type. Though, if I had to link items through the items files and the channels still worked, no big deal.

I doubt my use case is really very special. I just need too be able to set these configuration settings via rules (Play, and Repetitions are most important). As a workaround, I’ve already tested that I can do this via REST.

I did quickly scan the log for initialization of node 17, and I didn’t see any warnings or errors. But my expertise is obviously limited.


(Chris Jackson) #14

I really find it hard to believe that it’s not possible to link a decimal channel, to an item :confused:. Decimal type can be use with many different item types and I think it would be a rather large flaw if it was unusable? I’m pretty sure that people are using this channel as well.

Your first post doesn’t really make that clear. My understanding of the post is that the channels didn’t exist. The (so called) “error” that you listed doesn’t really relate to this either.

I thought your problem is just that the channels didn’t exist - not that you can’t link to number types, but I guess if you have tested the latest version and it’s still not working, then it’s not that?

So I’m a little confused, sorry, but maybe I’m missing something somewhere?


(Aaron) #15

Posts 1 and 3 here by @kfealey do an excellent job outlining in detail the exact problem I’m experiencing with Decimal types: Item Type: Number or Decimal. It doesn’t seem that thread contains an a solution.

This us probably exacerbated by me spreading this info in multiple threads, so again I apologize :slight_smile:

To summarize, here are all the problems I’m having:

  1. Problem linking items to channels that use Decimal type in the ZW056 device
  2. Problems using those channels even when I am using some modified version of the database. There are apparently two different error types depending on how the database was fixed (my fix attached to this thread, and your fix from the official database)

(Chris Jackson) #16

That is quite an old thread you reference and there was some confusion about the difference is channel types and item types. Changes were made after this - please check if it is working now with the latest binding and the latest definition.


(Aaron) #17

For the binding, I am working off of the development branch of your fork with a fetch as recently as last week. Is that not late enough? For openHAB I’m using released 2.3.0


(Aaron) #18

In the logging sense I guess these are not errors, but they do seem likely to be the reasons why I can’t send commands to channels:

16:21:42.407 [DEBUG] [converter.ZWaveConfigurationConverter] - NODE 17: Config parameter 6 not found in converter

22:05:33.126 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: Command received zwave:device:937956ae:node17:config_decimal_param8 --> 5
22:05:33.126 [WARN ] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: No command converter set for command zwave:device:937956ae:node17:config_decimal_param8 type DecimalType


(Aaron) #19

I think the newer “No command converter” log messages are due to the fact that the newly updated and exported ZW056 database file is missing “COMMAND_CLASS_” in the channel definitions. When I add these in, I am at least back to the first log message “Config parameter X not found in converter”

I.e.

<property name="binding:*:OnOffType">SWITCH_BINARY,BASIC</property>

should be:

<property name="binding:*:OnOffType">COMMAND_CLASS_SWITCH_BINARY,COMMAND_CLASS_BASIC</property>

(Aaron) #20

Hmmm … Now that I’ve waited a while, one of the channels is working (haven’t tried others yet). I’m wondering now if it was because the node was not fully initialized. I do remember that the node was in the GET_CONFIG? state (not sure I’m recalling that correctly) for a while and now it’s not.

Now I’ll go see if I can link my Number Item with the Decimal channel through the items files. Edit: Yes this works.