GE 12729 Z-Wave Binding issue - RESOLVED

This is my first post to this forum, and I’m relatively new to OpenHAB/OpenHAB2. I’ve tried searching the site, and on Google, and I’m not finding exactly what I’m trying to troubleshoot, so if an issue of this sort has already been discussed, please feel free to share any link(s) that may be relevant. I’m not afraid to do some reading and some work. :wink:

Environment

  • OpenHab 2.0.0-SNAPSHOT Build #529 (installed via apt from cloudbees)
  • Raspbian Jessie on Raspberry Pi 3
  • Aeotec Z-Stick Gen5 (ok)
  • GE 12718 Plug-in Smart Dimmer (ok)
  • GE 12729 In-Wall Smart Dimmer (problem)

Issue
I’ve included all of the above Z-Wave devices in the same network, and they seem to see each other without issue. The 12718 has been working flawlessly for a few days (and still is). I installed and added the 12729 today, and it showed up in the Inbox in OpenHAB 2’s Paper UI, but it is reported as an “Unknown Device”. Same is the case in HABmin.

Looking in HABmin, “12729 In-Wall Smart Dimmer” does in deed show up under Configuration->Bindings->Z-Wave Binding->Supported Thing Types, so I do not think the problem is that the device is not in the database / not supported (which seems to have been the case in the past with other articles I came across in my searches).

When I look at the 12729 device’s attributes in HABmin, there is no value for the “Manufacturer” or “Type / ID” fields… this I suspect is the root of the problem. I’ve tried re-initializing and healing the device from HABmin, turned off the breaker for the switch (in hopes of power cycling it), and re-initialized/healed again, all with no change in state.

Am I correct that the missing manufacturer and type / id are the reason the device is not recognized?

Is this a common issue (with GE or other devices)? Is it a defective switch? Is there a simple (or not simple) solution to this issue, other than assuming that the switch is defective and exchanging it for a replacement?

I resolved this issue. I probably went a little overkill, but removing the problematic device from the network and then re-adding it seems to have been the key step. Further, as I suspected (though I did not mention it in my OP), this was not an OpenHAB issue, but an issue in the hardware side.

I’m about to buy a Z-Stick Gen 5 to use IT with Raspberry Pi 3 and OH2.

I was just wondering, what kind of driver (packe) do you use to get IT to work in Rasp and OH2

By “IT” I assume you are talking about the Z-Stick Gen 5 (correct me if I misunderstand). Assuming this is the case, I’m running Raspbian on the Pi 3 with OH2 and did not have to install any drivers for the Z-Stick. It was detected as /dev/ttyACM0.

I would note that the exact device name can sometimes be unpredictable… for example, if you unplug the Z-stick from the Pi (to pair a new device for example) and the plug it back in, it may show up as /dev/ttyACM1, requiring you to adjust the OH2 configuration for the “thing”. I believe there is a way to make the device name sticky (I seem to recall doing it for an arduino or something at some point), but I have not bothered, as I rarely need to unplug the stick or reboot the Pi these days.

EDIT: I don’t like giving incomplete answers… so, just for you, I went and unplugged the stick to see what I could. Read on.

Upon inserting the Z-stick in to the Pi 3, dmesg output showed me the following:

[6302231.307690] usb 1-1.5: new full-speed USB device number 31 using dwc_otg
[6302231.410933] usb 1-1.5: New USB device found, idVendor=0658, idProduct=0200
[6302231.410948] usb 1-1.5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[6302231.411726] cdc_acm 1-1.5:1.0: ttyACM0: USB ACM device

The device in this case shows up in the lsusb output as:

Bus 001 Device 031: ID 0658:0200 Sigma Designs, Inc.

So, to properly answer your question, the cdc_acm kernel module is used.

EDIT2: To make the Z-Stick’s device have a persistent name, I did the following. Remember, this is not necessary unless you want to make sure that the Z-Stick is always visible to OH2 on the same device.

Add the following to /etc/udev/rules.d/99-usb-serial.rules. This may differ depending on what you see in dmesg and if you have other devices attached with the same vendor and product ids. I used the write-up at http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/ as my source to get this working, though I had to omit the device serial (I don’t have any other similar devices plugged in, so this is fine).

SUBSYSTEM==“tty”, ATTRS{idVendor}==“0658”, ATTRS{idProduct}==“0200”, SYMLINK+=“zstick”

Set EXTRA_JAVA_OPTS to include -Dgnu.io.rxtx.SerialPorts=/dev/zstick. For me, I installed via the apt repo, and this was configured in /etc/default/openhab2 as follows. I did have to stop and start OH2 to get this to take effect.

EXTRA_JAVA_OPTS="-Dgnu.io.rxtx.SerialPorts=/dev/zstick"

If you try to point OH2 at a symlink to your Z-Stick, but skip the EXTRA_JAVA_OPTS step, you will see messages in your events.log that state the following:

Controller is offline to OFFLINE (COMMUNICATION_ERROR): Serial Error: Port /dev/zstick does not exist