# Customising z-wave device channels

**URL:** <https://community.openhab.org/t/customising-z-wave-device-channels/141188>\
**Category:** Off-Topic\
**Created:** [November 19, 2022, 10:37am UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188 "2022-11-19T10:37:08Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Paul\_Pankhurst](https://community.openhab.org/user_avatar/community.openhab.org/paul_pankhurst/32/95045_2.png) [@Paul\_Pankhurst](https://community.openhab.org/u/Paul_Pankhurst)\
**Post date:** [November 19, 2022, 10:37am UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/1 "2022-11-19T10:37:08Z")

</div>

I’m new to openHab, but have lots of experience with home automation and almost 40 years experience in software engineering, so I’m hoping I can contribute to the project once I get a better understanding of it.

I’m currently in the process of trying to migrate my zipato setup onto OpenHab 3, but have run into a few issues with z-wave devices that aren’t supported fully which are critical to my setup.

I have Danfoss z-wave RS thermostats in every room, and currently use the press button to switch the lights on/off in the room. After including one on openHab I was surprised to see no channel for the button. Appears some questions were raised about this about 8 years ago where button presses produced errors in the log, but couldn’t find any details of fixes or workarounds, so would appreciate any pointers on this.

The second issue I have is with a custom Z-Uno device that I have. A few years ago I reverse engineered the Honeywell LESST interface which is a serial interface onto the old Honeywell smartfit heating controllers so I could control my heating via z-wave. I understand from old conversations on here that it was impossible at the time to provide a standard channel mapping for the z-uno as every one was configured differently, and at the time people had to hack the device database to get them to work. Since then the device has moved on and now supports a mechanism for producing a unique product type/id based on the channel configuration, which people could add to the z-wave device database. I have no idea where to start here, can anyone give me pointers on this? Once I have worked out exactly how to do it I can document it for other users.

---

<div class="post-metadata">

**Author:** ![anon71759204](https://community.openhab.org/letter_avatar_proxy/v4/letter/a/2acd7d/32.png) [@anon71759204](https://community.openhab.org/u/anon71759204)\
**Post date:** [November 19, 2022, 12:59pm UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/2 "2022-11-19T12:59:17Z")

</div>

Welcome to the journey. 🙂

> **[OpenSmartHouse Z-Wave Device Database](https://opensmarthouse.org/zwavedatabase/)**
>
> Community Z-Wave device database defining the technical details and configuration of Z-Wave devices.

Please read:

> **[Z-Wave Device Database Guide](https://opensmarthouse.org/blog/zwave_device_database_guide)**
>
> The Z-Wave database provides a database containing technical information about Z-Wave devices, along with its configuration, and manuals, and is used to generate configuration files for Home Automation systems.

If your Danfoss thermostats are

> **[Danfoss 014G0160](https://opensmarthouse.org/zwavedatabase/359)**
>
> Room Thermostat

they should support the Z-Wave command class CENTRAL\_SCENE.

Please read

> **[ZWave - Bindings](https://www.openhab.org/addons/bindings/zwave/#zwave-binding)**
>
> The ZWave binding supports an interface to a wireless Z-Wave home automation network.

for information on how to enable debugging.

---

<div class="post-metadata">

**Author:** ![Paul\_Pankhurst](https://community.openhab.org/user_avatar/community.openhab.org/paul_pankhurst/32/95045_2.png) [@Paul\_Pankhurst](https://community.openhab.org/u/Paul_Pankhurst)\
**Post date:** [November 22, 2022, 9:51am UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/3 "2022-11-22T09:51:40Z")

</div>

Thanks for the links..I’ll check these out properly as soon as I get some spare time!

---

<div class="post-metadata">

**Author:** ![Paul\_Pankhurst](https://community.openhab.org/user_avatar/community.openhab.org/paul_pankhurst/32/95045_2.png) [@Paul\_Pankhurst](https://community.openhab.org/u/Paul_Pankhurst)\
**Post date:** [November 24, 2022, 9:40pm UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/4 "2022-11-24T21:40:10Z")

</div>

I checked the z-wave debug and I get:  
Received COMMAND\_CLASS\_CENTRAL\_SCENE V1 CENTRAL\_SCENE\_NOTIFICATION  
Received scene 1 at key 2 [Key Held Down]  
So all looking good there, but it really isn’t obvious to me how I then hook this in OH3.  
Is it possible to do in UI, or do I have to generate some text config for this?

---

<div class="post-metadata">

**Author:** ![anon71759204](https://community.openhab.org/letter_avatar_proxy/v4/letter/a/2acd7d/32.png) [@anon71759204](https://community.openhab.org/u/anon71759204)\
**Post date:** [November 24, 2022, 10:19pm UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/5 "2022-11-24T22:19:18Z")

</div>

Please identify your DUT - is it a Danfoss 014G0160?

---

<div class="post-metadata">

**Author:** ![Paul\_Pankhurst](https://community.openhab.org/user_avatar/community.openhab.org/paul_pankhurst/32/95045_2.png) [@Paul\_Pankhurst](https://community.openhab.org/u/Paul_Pankhurst)\
**Post date:** [November 24, 2022, 10:31pm UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/6 "2022-11-24T22:31:07Z")

</div>

Sorry, yes its showing as a “014G0160 Room Thermostat” in the thing type.

---

<div class="post-metadata">

**Author:** ![anon71759204](https://community.openhab.org/letter_avatar_proxy/v4/letter/a/2acd7d/32.png) [@anon71759204](https://community.openhab.org/u/anon71759204)\
**Post date:** [November 24, 2022, 10:55pm UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/7 "2022-11-24T22:55:59Z")

</div>

There should be a Scene Number channel (I’m using a different scene controller for demonstration purposes):

 ![grafik](https://community-openhab-org.s3.dualstack.eu-central-1.amazonaws.com/original/3X/c/9/c9ddaf9c7106e2f27f78b8ee893930a61256653e.png)

Corresponding Z-Wave database item:

 ![grafik](https://community-openhab-org.s3.dualstack.eu-central-1.amazonaws.com/original/3X/b/2/b25d4f282d74dc90e3f3e50fb9a64b5b9e2d0c5a.png)

Problem:  
No COMMAND\_CLASS\_CENTRAL\_SCENE for 016G0160 in the Z-Wave database:

 ![grafik](https://community-openhab-org.s3.dualstack.eu-central-1.amazonaws.com/original/3X/9/b/9b7c0e926de78971885310e0f47bc8018441489b.png)

But the manual claims support for COMMAND\_CLASS\_CENTRAL\_SCENE:

 ![grafik](https://community-openhab-org.s3.dualstack.eu-central-1.amazonaws.com/original/3X/b/d/bd78b41073fadd75b71fea867a6e8cb189972bfb.jpeg)

Please check if the XML file for your device in /var/lib/openhab/zwave contains COMMAND\_CLASS\_CENTRAL\_SCENE:

![grafik](https://community-openhab-org.s3.dualstack.eu-central-1.amazonaws.com/original/3X/a/c/ac588215eceb3e3994d8112a50f8c9defb4622da.png)

If it does, your XML file should be uploaded to the Z-Wave database - if not, the COMMAND\_CLASS\_CENTRAL\_SCENE must be added to the Endpoints tab. Either way, @chris’ help would be needed. Please post your results.

---

<div class="post-metadata">

**Author:** ![Paul\_Pankhurst](https://community.openhab.org/user_avatar/community.openhab.org/paul_pankhurst/32/95045_2.png) [@Paul\_Pankhurst](https://community.openhab.org/u/Paul_Pankhurst)\
**Post date:** [November 25, 2022, 9:52am UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/8 "2022-11-25T09:52:59Z")

</div>

It now makes sense to me how it should work, and why it doesn’t 🙂

This is all I see in the channels:

 ![image](https://community-openhab-org.s3.dualstack.eu-central-1.amazonaws.com/original/3X/1/6/16979a5cb152aa0b44421eb3f55c8863e89c2ea2.png)

I’m running OH3.3 on windows so my xml was in a different location (openhab-3.3.0\userdata\zwave\network\_ebfa9061\_\_node\_26.xml), but it does seem to be have the scene:

 ![image](https://community-openhab-org.s3.dualstack.eu-central-1.amazonaws.com/original/3X/0/9/0945e86f0d2bcb2d540b0203a75243988b11ad34.png)

So I guess my xml will need uploading to the database

---

<div class="post-metadata">

**Author:** ![apella12](https://community.openhab.org/user_avatar/community.openhab.org/apella12/32/117154_2.png) [@apella12](https://community.openhab.org/u/apella12)\
**Post date:** [November 25, 2022, 12:36pm UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/9 "2022-11-25T12:36:35Z")

</div>

One thing to check is the device TYPE:ID pair for your devices compared to the current DB entry. Looking at the manual in the current entry the Central Scene command class should have been uploaded when the person that created the device uploaded the XML. If your device has the same numbers possibly @chris (or someone with a higher level of DB write access than I) can add that command class to the existing entry. If you have a different TYPE:ID pair you can just do the XML upload to create a new device. There can’t be two devices with the same TYPE:ID pair from the same manufacturer without getting down to a “version” level. Currently the DB device is setup for all versions

---

<div class="post-metadata">

**Author:** ![anon71759204](https://community.openhab.org/letter_avatar_proxy/v4/letter/a/2acd7d/32.png) [@anon71759204](https://community.openhab.org/u/anon71759204)\
**Post date:** [November 25, 2022, 5:11pm UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/10 "2022-11-25T17:11:17Z")

</div>

Birth certificate of the device (Z-Wave database):

> [@Danfoss Heating devices (z-wave) supported?](https://community.openhab.org/t/danfoss-heating-devices-z-wave-supported/10992/5):
>
> I’ve created an initial entry in the database [here](http://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/359). Ideally, when you get the device the binding will generate an XML file, and we should load this to the database to fill in a lot of the information… I’ve updated your access so you can edit the database now - any problems, just let me know… Chris

Workaround (I don’t know if it still applies to a current version of OH/Z-Wave binding):

> [@Danfoss Heating devices (z-wave) supported?](https://community.openhab.org/t/danfoss-heating-devices-z-wave-supported/10992/35):
>
> I have tested … and here my workaround for use the LED Button in OH Rules: Define a item of type number: Number LEDButton-Item “My LED Button” { zwave=“81:command=central\_scene” } in rules: rule "LED Thermostat Button" when Item LEDButton-Item received update then logInfo("Thermostat Button", "Status: " + LEDButton-Item.state) // do rule logic end you will get some “Protocol error (CAN), resending” in your log - that’s the handicap of this workaround. But in this w…

---

<div class="post-metadata">

**Author:** ![Paul\_Pankhurst](https://community.openhab.org/user_avatar/community.openhab.org/paul_pankhurst/32/95045_2.png) [@Paul\_Pankhurst](https://community.openhab.org/u/Paul_Pankhurst)\
**Post date:** [November 25, 2022, 6:56pm UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/11 "2022-11-25T18:56:45Z")

</div>

I haven’t yet done anything with the text based configuration, and I got errors when trying to define the ‘item’ for the workaround, probably cos I didn’t fully understand the ‘81:command=central\_scene’ bit, I assume the 81 had to be replaced with the uuid for my device.

Either way it seems a real botch, is there some reason why the database wasn’t updated so that it appears as a channel?

---

<div class="post-metadata">

**Author:** ![apella12](https://community.openhab.org/user_avatar/community.openhab.org/apella12/32/117154_2.png) [@apella12](https://community.openhab.org/u/apella12)\
**Post date:** [November 25, 2022, 7:44pm UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/12 "2022-11-25T19:44:54Z")

</div>

> [@Paul\_Pankhurst](#):
>
> Either way it seems a real botch, is there some reason why the database wasn’t updated so that it appears as a channel?

I’m not the developer, but I see that command class in the binding now. The links above were from 2016 so a lot has changed.

---

<div class="post-metadata">

**Author:** ![Paul\_Pankhurst](https://community.openhab.org/user_avatar/community.openhab.org/paul_pankhurst/32/95045_2.png) [@Paul\_Pankhurst](https://community.openhab.org/u/Paul_Pankhurst)\
**Post date:** [November 25, 2022, 7:47pm UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/13 "2022-11-25T19:47:10Z")

</div>

Sorry, just to be clear, the workaround seemed like a botch, and if possible I’d prefer to fix it so that it can be done from the UI, unless there is a major obstacle 🙂  
I’m just not clear how to move it forward..

---

<div class="post-metadata">

**Author:** ![apella12](https://community.openhab.org/user_avatar/community.openhab.org/apella12/32/117154_2.png) [@apella12](https://community.openhab.org/u/apella12)\
**Post date:** [November 25, 2022, 7:56pm UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/14 "2022-11-25T19:56:32Z")

</div>

> [@Paul\_Pankhurst](#):
>
> I’m just not clear how to move it forward…

What is the TYPE:ID of your device?

---

<div class="post-metadata">

**Author:** ![Paul\_Pankhurst](https://community.openhab.org/user_avatar/community.openhab.org/paul_pankhurst/32/95045_2.png) [@Paul\_Pankhurst](https://community.openhab.org/u/Paul_Pankhurst)\
**Post date:** [November 25, 2022, 9:15pm UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/15 "2022-11-25T21:15:36Z")

</div>

manufacturerId = 0002

manufacturerRef = 0003:8010,8003:8001

---

<div class="post-metadata">

**Author:** ![apella12](https://community.openhab.org/user_avatar/community.openhab.org/apella12/32/117154_2.png) [@apella12](https://community.openhab.org/u/apella12)\
**Post date:** [November 25, 2022, 9:56pm UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/16 "2022-11-25T21:56:52Z")

</div>

> [@Paul\_Pankhurst](#):
>
> manufacturerRef = 0003:8010,8003:8001

Ok. So those are the same as in the existing DB. There are two options going forward

1. We can ask/wait for @chris to add the Central\_Scene CC to the existing DB entry for this device. (From the linked posting from 2016 I’m thinking it was manually deleted because it did exist in the binding at that time). AFAIK only Chris can add CCs (or delete anything) to/from the DB. Also, I’m inferring based on his normal Forum/DB activity that he is very busy with his real paying job. Possibly adding this request to the zwave github might also help on this option.
2. If you haven’t already you can register for the DB and request, write access from Chris via a ticket as described in the blog. Then edit the Type:ID in the existing DB item to random numbers & upload your XML like a new device. Copy all the parameters, associations, references, etc. from the existing entry to your new one and when finished mark “Request review”, but leave the old one as “modified, no review request”. It will be dropped from the next update and the new one will appear. This is more work, but could be quicker than waiting

PS- I needed to ensure your devices were the same before suggesting the options

---

<div class="post-metadata">

**Author:** ![chris](https://community.openhab.org/letter_avatar_proxy/v4/letter/c/958977/32.png) [@chris](https://community.openhab.org/u/chris)\
**Post date:** [November 26, 2022, 2:33am UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/17 "2022-11-26T02:33:08Z")

</div>

> [@Paul\_Pankhurst](#):
>
> manufacturerRef = 0003:8010,8003:8001

Just to be clear, this is the database reference - not necessarily for your device.

Anyway, I’ve added CENTRAL\_SCENE to this device - hopefully it’s the one you have 🙂

---

<div class="post-metadata">

**Author:** ![apella12](https://community.openhab.org/user_avatar/community.openhab.org/apella12/32/117154_2.png) [@apella12](https://community.openhab.org/u/apella12)\
**Post date:** [November 26, 2022, 12:58pm UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/18 "2022-11-26T12:58:35Z")

</div>

> [@Paul\_Pankhurst](#):
>
> manufacturerRef = 0003:8010,8003:8001

For clarity (re: above comment) your specific device TYPE:ID are on separate lines under the properties tab (and to make matter more confusing) need to be converted to Hex. Example:  
 ![Deviceid](https://community-openhab-org.s3.dualstack.eu-central-1.amazonaws.com/original/3X/6/b/6b39a951ab9d640c0af0147fefe9b3437962f61b.png)

You will still DB write access to create a channel under the newly created CC, but that is a lot easier.

---

<div class="post-metadata">

**Author:** ![Paul\_Pankhurst](https://community.openhab.org/user_avatar/community.openhab.org/paul_pankhurst/32/95045_2.png) [@Paul\_Pankhurst](https://community.openhab.org/u/Paul_Pankhurst)\
**Post date:** [November 28, 2022, 9:19am UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/19 "2022-11-28T09:19:01Z")

</div>

Thanks for making the update Chris, I double checked the details and I have:  
zwave\_deviceid = 32784 (0x8010)  
zwave\_devicetype = 3  
so I think the device does match!.  
Searching the previous posts it look as though I have to delete the ‘thing’ for the device and uninstall the zwave binding and reinstall the new one that Jenkins builds (looks like next one will be 29/11), can someone confirm this is the right thing to do? Thanks

---

<div class="post-metadata">

**Author:** ![apella12](https://community.openhab.org/user_avatar/community.openhab.org/apella12/32/117154_2.png) [@apella12](https://community.openhab.org/u/apella12)\
**Post date:** [November 28, 2022, 3:00pm UTC](https://community.openhab.org/t/customising-z-wave-device-channels/141188/20 "2022-11-28T15:00:13Z")

</div>

> [@Paul\_Pankhurst](#):
>
> can someone confirm this is the right thing to do?

Yes.  
General outline

1. Remove UI Zwave binding - Don’t want two running
2. In karaf `feature:install openhab-transport-serial` - Needed in most systems, normally installed by UI
3. [Download](https://ci.openhab.org/job/openHAB-ZWave/) and place jar in addons (same folder as the openhab-addons-3.3.0.kar)
4. wait 30 seconds
5. Delete Thing from the device UI page (do not exclude device from controller page)
6. Go to inbox zwave scan to pick up new channels

Assuming you are on OH3.3 there should be no problem

[Next page](https://community.openhab.org/t/customising-z-wave-device-channels/141188.md?page=2)
