Troubleshoot Z-Wave Controller used by OpenHab

After reinstalling openHab on a new Synology, I had some ‘Unknown’ Z-Wave devices. The only way to et rid of them was to use “Z-Wave PC Controller” from  Silabs (previously named “Zensys tool”).

Click to Read More

This is what was displayed in the Paper UI of openHab:

To solve this, I had two options:

The first option was to use the PaperUI’s features of openHab to heal, reinitialize the device or remove the device.

The other option was to remove my Z-Wave Controller from my Synology, and plug in into a PC to clean it using Z-Wave PC Controller.

Use PaperUI’s feature

Select your device via the PaperUI > Configurations > Things, click on the “Edit icon” (The pen in a blue disc) and scroll to click on the “Show More” link :

There, you have access to the various features :

Try those two actions:

  • “Heal the device” (See here) : it can be useful when the Z-Wave mesh is messed up and nodes become ‘lost’.
  • “Reinitialise the device” : it does not hurt ;)

Wait next for a few minutes and refresh your PaperUI to check if the device is know fully recognized. 

Also check if there are any errors in the logs of openHab: events.log and openhab.log. If you installed openHab on your Synology as explained here, those logs are under the Shared Folder \\<YourNas>\SmartHome\openHAB\userdata\logs\

Install Z-Wave PC Controller

The download this software I had to find a “valid” Silabs account. Indeed, standard accounts have no access to the download section. Searching for “Silabs.com” on http://bugmenot.com, we find easily such “valid” account.

Once authenticated on Silbas.com, go to the Z-wave page here, and go to the “PC Programmer” section and click on Download Z-Wave Programmer

On the next page, click on the Download button in the upper-right corner (If it is not accessible anymore, find the msi in the attachement section of this post).

Unzip the archive and install the “PC Controller” (/bin/ZWaveControllerSetup.msi)

Clean-up your Z-Wave Controller

Now, plug your Z-Wave controller in your PC and open “PC Controller”:

Click on the Gear icon in the upper-right corner to configure the software to use your Z-Wave Controller. You should see it in the pane “Serial Port Data Sources”. Select it and click on “Ok” at the bottom-right:

Now, you have access to all the “data” (Z-Wave devices) configured previously on your controller. Here under, you can see that I have 13 nodes available:

To check which nodes are not yet available, Click on the top-left tail “Network Management”. This will show you a list of all configured nodes. For each node, one by one, select it and press on “Is Failed”. If the node cannot be accessed, it will be marked in red (See the nodes 23 and 24 here under). You can then remove it by clicking on “Remove Failed”.

For each remaining node, you could click on “Node Info”. This will collect more information than your controller did when it was connected on your Synology and managed by openHab.

You can add new devices easily, using the “Add” button. I did it for a Fibaro Heat Controller that I couldn’t add via openHab.

You can test your Z-Wave Switches using “Basic Set ON” and “Basic Set OFF”.

You can look at the topology of your mesh, using the tail “IMA Network” and by clicking on “Network Health”.

Once you have cleaned-up your controller, you can re-plug it into your NAS.

Unplug/Re-plug a Z-Wave Controller on a Synology

When you remove and replug such a controller, it usually gets a new “terminal” (=a “new port”). A terminal is physically represented by a file named ‘tty…’ in the /dev folder and is the communication channel between the system (your Synology) and hardwares like the USB devices. By default, the terminal for the Z-Wave controller will be /dev/ttyACM0. But when you remove and replug it, it can get /dev/ttyACM1.

To check which terminal is used, open a SSH console on your NAS (as explained here) and type: ls -la /dev/ttyA*

You should get something like:
crwxrwxrwx 1 openhab dialout 166, 1 Dec 31 14:26 /dev/ttyACM0

If there are several terminals, unplug to Z-Wave controller, execute the command again and note the remaining names. Next, replug the controller, list again the terminals and compare the list with the one noted previously.

If the security of the terminal is not crwxrwxrwx, then (assuming the terminal is ttyACM0) execute: sudo chmod 777 /dev/ttyACM0

If the user is not openhab, then check first that it exists via the Control Panel of your DSM: Control Panel > User.

If it does not, you have not properly installed openHab on your Synology as explained here. The package is indeed configuring everything itself. If it exists, assuming the terminal is ttyACM0, execute: sudo chown openhab /dev/ttyACM0

If the group is not dialout, check that it exits via the Control Panel of your DSM: Control Panel > Group. Use “Edit Members” to check that the user “openhab” is in that group. NB.: a group “uucp” must also exist and contain the user “openhab”.

If not, you didn’t properly install openHab on your Synology as explained here. The package is indeed configuring everything itself. If it exists, assuming the terminal is ttyACM0, execute: sudo chgrp dialout /dev/ttyACM0

Finally, to check that the right terminal is used by openHab to communicated with the Z-Wave Controller, go to its configuration via that PaperUI > Configuration > Things. Select your Z-Wave Controller and Edit it. In the “Port Configuration” part, you should see that the “Serial Port” is the terminal you found with the command ls -la /dev/ttyA*.

Leave a Reply

Your email address will not be published. Required fields are marked *