Question about OH2 ZWAVE and how this all works together (HABmin, database from chris, ...)

I played a lot with ZWAVE but I’m not sure how this all works together

What I know:
ZWAVE binding must have the used zwave device included in jar-file
And all the available channels can be seen in PaperUI under things

But:
In chris database at http://www.cd-jackson.com there are more channels possible as shown in PaperUI things

I give an example:
Device D-Link DCH-Z510

At http://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/330
it looks like in Basic mode only SWITCH_BINARY is avaiable
in looks like in NIF mode SWITCH_BINARY is not avaiable but some others which I do not understand

At http://www.cd-jackson.com/index.php/zwave/zwave-device-database/openhab-2-channel-types
there are a lot of Channel Names which I think can also provided by this device to play different sounds.

At my http://openhab:8080/habmin/index.html#/things
under description there are two descriptions available “Switch” and “Start Sound”
==> I don’t have any config in ITEMS or SITEMAPS that causes a entry “Start Sound”. This must come from any differnet source.
==> How to use this “Start Sound”?

At my http://openhab:8080/paperui/index.html#/configuration/things/view/zwave:device:xxx:nodex
I can see only one possible channel
zwave:device:xxx:nodex:switch_binary

At the JSON ZWAVE-Database I can see the configs of playing sounds, but not seen at any other places

My questions:
Why is at paperUI only one channel available and two of them in HABmin?
Example: Burglar alarm, alarm_burglar, Switch

How does this all work together?

can I config a channel alarm_burglar it thsi one is not shown in HABmin or paperUI. Must chris add this to the jar-file?

Major problem, How to play the notification sounds at OH2 with zwave snapshot 2.1.x

I got this to work in an older version of zwave 2.1.0 with
ITEM:
Switch Siren01_Set "Siren01_Set"
Number Siren01_Sound “House Sirene [%d]” { channel=“zwave:device:xxx:nodex:notification_send”}
RULE:
sendCommand(Siren01_Sound, 0x06)
But this through errors in new version of binding.

I tried to understand how all works together and got struggeled a little bit.

Can some one guide me the right way to combine all informations.

Yes - the database is included in the JAR. This can’t be removed so it’s not something you have to worry about including yourself if that is what you are asking?

There only appear to be 2 channels in the database - I’m not sure if that’s “a lot” ;).[quote=“HomeAutomation, post:1, topic:27482”]
it looks like in Basic mode only SWITCH_BINARY is avaiable
in looks like in NIF mode SWITCH_BINARY is not avaiable
[/quote]

I don’t understand what you mean? SWITCH_BINARY looks like it is linked to a channel called Switch.

You will need to define the sitemap yourself. You need to add a switch or something that can allow you to select the sound. I don’t know the details of this device, but you will need to configure this yourself in your sitemap[quote=“HomeAutomation, post:1, topic:27482”]
At my http://openhab:8080/paperui/index.html#/configuration/things/view/zwave:device:xxx:nodexI can see only one possible channel
[/quote]

You said in HABmin you see both channels, so I suhgest to use this. I don’t know why PaperUI would only show one channel though.

Sorry, I’m not sure. The binding provides the channels and both HABmin and PaperUI use exactly the same interface to read them. I don’t know why PaperUI would choose to only display one of them.

Well, the channel will need to be defined in the database - it needs to be in the thing files which are exported from the database, and read by ESH when the binding starts.

If it worked previously, then I don’t know why it would change unless someone has removed this channel from the database which I doubt. The notification_send channel is not currently in the database and I just checked the history on this file in Github and it hasn’t changed for 6 months (ie October 2016 which is well before 2.0 was released even) -:

Maybe this was on a different device and not this one?

1 Like

Hello Chris,

thank you for your reply:
I think we should split my questions into topics :wink:

As I understood, if channel config is not in the jar-file it cannot be used even if it exists at the device. And the channels can be seen in Habmin and PaperUI.

Fine:
In PaperUI I can see:

In HABmin I can see:

So I will trust HABmin?

For me this means I can use:
{ channel=“zwave:device:15a7a49f3a6:node2:switch_binary” }
{ channel=“zwave:device:15a7a49f3a6:node2:notification_send” }

I used this config in the past with 2.1 zwave snapshot from february and it was working to play the siren notification sounds too.

Just by doing:
ITEM:
Switch Siren01_Set “Siren01_Set”
Number Siren01_Sound “House Sirene [%d]” { channel=“zwave:device:15a7a49f3a6:node2:notification_send”}

RULE:
sendCommand(Siren01_Sound, 0x06)

In the snapshop 2.1 from april this does not work.
Log:
2017-04-22 18:16:35.688 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while calling handler: java.lang.NullPointerException
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_121]
at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_121]
at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:188)[98:org.eclipse.smarthome.core:0.9.0.b4]
at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:81)[98:org.eclipse.smarthome.core:0.9.0.b4]
at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:65)[98:org.eclipse.smarthome.core:0.9.0.b4]
at org.eclipse.smarthome.core.thing.internal.ThingManager.receiveCommand(ThingManager.java:369)[105:org.eclipse.smarthome.core.thing:0.9.0.b4]
at org.eclipse.smarthome.core.items.events.AbstractItemEventSubscriber.receive(AbstractItemEventSubscriber.java:46)[98:org.eclipse.smarthome.core:0.9.0.b4]
at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:192)[98:org.eclipse.smarthome.core:0.9.0.b4]
at org.eclipse.smarthome.core.internal.events.OSGiEventManager$1.call(OSGiEventManager.java:1)[98:org.eclipse.smarthome.core:0.9.0.b4]
at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:179)[98:org.eclipse.smarthome.core:0.9.0.b4]
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.NullPointerException
at org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveAlarmCommandClass.getNotificationReportMessage(ZWaveAlarmCommandClass.java:246)[203:org.openhab.binding.zwave:2.1.0.201704171736]
at org.openhab.binding.zwave.internal.converter.ZWaveAlarmConverter.receiveCommand(ZWaveAlarmConverter.java:301)[203:org.openhab.binding.zwave:2.1.0.201704171736]
at org.openhab.binding.zwave.handler.ZWaveThingHandler.handleCommand(ZWaveThingHandler.java:973)[203:org.openhab.binding.zwave:2.1.0.201704171736]
at org.eclipse.smarthome.core.thing.internal.ThingManager$4.call(ThingManager.java:372)[105:org.eclipse.smarthome.core.thing:0.9.0.b4]
at org.eclipse.smarthome.core.thing.internal.ThingManager$4.call(ThingManager.java:1)[105:org.eclipse.smarthome.core.thing:0.9.0.b4]

The only thing I have changed was the exchange of the zwave snapshot because of an other device which was not included in the february snapshot.

Should I go back to the old snapshot and see if this will work again? Or should we do a debug on the running snapshot?

What I discovered is, that the channel linking is not displayed by the item name, it is displayed by the item text string in the item definition:

I will explain you, maybe this is the error:

my full item config:
Switch Siren01 “House Sirene [%d]” { channel=“zwave:device:15a7a49f3a6:node2:switch_binary” }
Switch Siren01_Set “Siren01_Set”
Number Siren01_Sound “House Sirene [%d]” { channel=“zwave:device:15a7a49f3a6:node2:notification_send”}

See text string of both items is “House Sirene”. Itemname is different!

In habmin channel linked items, you see:

Which looks like the same item (name of the text) is linked to different parts of the channel. If I click on the info icon, I see, that the definition is correct, only the display looks wrong.

First channel

Second Channel:

Well, channels are the way that OH exposes device functions. Channels do not “exist” in the device at all.

As said earlier, they both use the same interface to get this information. I don’t know why PaperUI doesn’t display both channels.

I’ll take a look at the exception.

Hi Chris,

I tried the newest 2.1.0 snapshot and with this one the error was gone. No more action to do.

solved.