Adding a Z-Uno device xml to the z-wave binding

Hello,

I have been working to get my Z-wave me Z-Uno device to work with openHAB. The issue is that this device is not supported by openHAB given that the user defines endpoints. So a custom binding needs to be created and installed with a custom device .xml file.

My Process

I have been following this post but got stuck on Step 6: 4 - 6:
4. Stop OpenHAB
sudo systemctl stop openhab2.service
5. Add new jar to the addons folder (for my install, it is located at /usr/share/openhab2/addons)
6. Start OpenHAB
sudo systemctl start openhab2.service

I cannot figure out the password to use sudo because password doesn’t seem to work. Also the addons file path in karaf will not be the same /openhab2/ even if I got to the next step.

However, I don’t think this is a problem because I was able to add the jar file to the openhab-3.3.0/addons folder and it showed up in my bundle:list. I then activated it with bundle:start, and my controller and Z-Uno were ‘online’ without a UI-Installed z-wave binding.
246 │ Active │ 80 │ 3.4.0.202207181739 │ openHAB Add-ons :: Bundles :: ZWave Binding

The Issue

The issue is that my Z-Uno does not have the channel options that I defined in the .xml. I found the xml files in this (org.openhab.binding.zwave\src\main\resources\OH-INF\thing\zwaveme) folder of the z-wave binding and packaged the jar file with Maven (Packaged File Name: org.openhab.binding.zwave-3.4.0-SNAPSHOT). For reference here is the Github repo of the zwave binding and the .xml that I added to the folder above.

<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="zwave"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:thing="http://eclipse.org/smarthome/schemas/thing-description/v1.0.0"
  xsi:schemaLocation="http://eclipse.org/smarthome/schemas/thing-description/v1.0.0
                      http://eclipse.org/smarthome/schemas/thing-description/v1.0.0">

  <thing-type id="zwaveme_zuno_sensor_001" listed="false">
    <label>Z-Uno Sensor Node</label>
    <description>
		<![CDATA[
		<h2>Z-Uno RGB LED Strip</h2>
			<ul>
				<li>Temperature Sensor 1: Unassigned</li> 
				<li>Temperature Sensor 2: Unassigned</li>
                <li>Voltage Sensor 1: Unassigned</li> 
				<li>Voltage Sensor 2: Unassigned</li>
				<li>Humidity Sensor 1: Unassigned</li> 
				<li>Humidity Sensor 2: Unassigned</li> 
				<li>Pressure Sensor 1: Unassigned</li> 
				<li>Pressure Sensor 2: Unassigned</li> 
			</ul>
			<br />
		<h2>Inclusion Information</h2>
			<p>Push 3 times</p>
			<br />
		<h2>Exclusion Information</h2>
			<p>Push 3 times</p>
			<br />
		<h2>Wakeup Information</h2>
			<p>Push 3 times</p>
		]]>
	</description>
    <category>ZunoSensorNode</category>

    <!-- CHANNEL DEFINITIONS -->
    <channels>
      <channel id="sensor_temperature" typeId="sensor_temperature">
        <label>Temperature Sensor 1</label>
        <properties>
          <property name="binding:*:QuantityType">COMMAND_CLASS_SENSOR_MULTILEVEL:1,COMMAND_CLASS_BASIC:1;type=TEMPERATURE</property>
        </properties>
      </channel>
      <channel id="sensor_temperature1" typeId="sensor_temperature">
        <label>Temperature Sensor 2</label>
        <properties>
          <property name="binding:*:QuantityType">COMMAND_CLASS_SENSOR_MULTILEVEL:2,COMMAND_CLASS_BASIC:2;type=TEMPERATURE</property>
        </properties>
      </channel>
      <channel id="sensor_voltage" typeId="sensor_voltage">
        <label>Voltage Sensor 1</label>
        <properties>
          <property name="binding:*:QuantityType">COMMAND_CLASS_SENSOR_MULTILEVEL:3,COMMAND_CLASS_BASIC:3;type=VOLTAGE</property>
        </properties>
      </channel>
      <channel id="sensor_voltage1" typeId="sensor_voltage">
        <label>Voltage Sensor 2</label>
        <properties>
          <property name="binding:*:QuantityType">COMMAND_CLASS_SENSOR_MULTILEVEL:4,COMMAND_CLASS_BASIC:4;type=VOLTAGE</property>
        </properties>
      </channel>
      <channel id="sensor_humidity" typeId="sensor_relhumidity">
        <label>Humidity Sensor 1</label>
        <properties>
          <property name="binding:*:PercentType">COMMAND_CLASS_SENSOR_MULTILEVEL:5,COMMAND_CLASS_BASIC:5;type=RELATIVE_HUMIDITY</property>
        </properties>
      </channel>
      <channel id="sensor_humidity1" typeId="sensor_relhumidity">
        <label>Humidity Sensor 2</label>
        <properties>
          <property name="binding:*:PercentType">COMMAND_CLASS_SENSOR_MULTILEVEL:6,COMMAND_CLASS_BASIC:6;type=RELATIVE_HUMIDITY</property>
        </properties>
      </channel>
      <channel id="pressure_Sensor" typeId="sensor_barpressure">
        <label>Pressure Sensor 1</label>
        <properties>
          <property name="binding:*:QuantityType">COMMAND_CLASS_SENSOR_MULTILEVEL:7,COMMAND_CLASS_BASIC:7;type=BAROMETRIC_PRESSURE</property>
        </properties>
      </channel>
      <channel id="pressure_Sensor1" typeId="sensor_barpressure">
        <label>Pressure Sensor 2</label>
        <properties>
          <property name="binding:*:QuantityType">COMMAND_CLASS_SENSOR_MULTILEVEL:8,COMMAND_CLASS_BASIC:8;type=BAROMETRIC_PRESSURE</property>
        </properties>
      </channel>
    </channels>

    <!-- DEVICE PROPERTY DEFINITIONS -->
    <properties>
      <property name="vendor">Z-Wave.Me</property>
      <property name="modelId">z_uno</property>
      <property name="manufacturerId">0115</property>
      <property name="manufacturerRef">0110:0001</property>
      <property name="versionMin">0</property>
      <property name="versionMax">10</property>
      <property name="dbReference">9999</property>
    </properties>

    <!-- CONFIGURATION DESCRIPTIONS -->
    <config-description>

      <!-- STATIC DEFINITIONS -->
      <parameter name="node_id" type="integer" min="1" max="232" readOnly="true" required="true">
        <label>Node ID</label>
        <advanced>true</advanced>
      </parameter>

    </config-description>

  </thing-type>

</thing:thing-descriptions>

I have looked at many threads about the Z-Uno but had no such luck. I did see that dependencies have to be declared if using the openhab-3-3-0/addons folder, but I wouldn’t know how to do that even if that were the issue. I also tried using the jsondb files to configure the channels which worked one day but hasn’t worked since.

If you have any ideas as to where I went wrong, pls let me know. I suspect that there is a database file of supported devices that I need to add the zuno xml file to or something similar.

Environment: Windows 10 install of openHAB 3.3.0; Zwave binding version is 3.4.0; Java 11

There are a few related posts, but I can only use 2 links

After a brief scan, there could be a number of issues. Two that might help.

  1. in oh3 the service is openhab, not openhab2
  2. the xml has the reference 0110:0001, but the screenshot shows 0210:0001. Those numbers are how the device is recognized.
    Welcome, but kinda big starting project.
    Bob

Thanks for the help!

This isn’t my first project. I just haven’t had an openHAB community account until now.

Changing the manufacturer reference number in the xml allowed the channels to show up in the GUI. I won’t mark this as solved because I haven’t got data to show up yet, but that was 100% an issue. Right now I don’t know if it is an openHAB problem or a Z-Uno problem, but I’ll update the post when I figure it out.

I’d say you did pretty good so far since you were following OH2 directions for a OH3 installation. There were a number of breaking changes (folder names & locations, etc,) between those versions.

Now that it is recognized, you can set the binding to Debug if you have trouble with the channels (it will show what OH is getting from the device).

Bob