Intro
I will show how to setup and use Z-Way software to configure options of the Aeotec Home Energy Meter (HEM) ZW095 that are not available from openHAB UI.
Background
This is my first Z-Wave device and this is the first time I am using openHAB. Setting up openHAB (3.0.0 - Release Build) on a Raspberry Pi with a RaZberry2 as Z-Wave controller went pretty smooth, and I could add the Aeotec Home Energy Meter with out a problem. But it did not send updates automatically no matter the combination of settings I tried. Workarounds sending REFRESH command or setting Polling Period worked for a while and then also stopped.
Aeotec support responded with this information:
There is an issue when using Multichannel Association which causes the HEM Gen5 to not report correctly. One way to resolve this issue is to remove the Multichannel Association of Node ID 01 endpoint 1 from Group 1.
Then re-associate Node ID 01 to Group 1 using “Group Association”
Alternatively you could use “Multichannel Association” and assign Node ID 01 endpoint 0 to Group 1 which will work as well.
Nowhere in the openHAB UI could I find any mentions of Multichannel Association but I could see it in the logs when setting log level to DEBUG for zwave logger.
Solution
Z-Way is a Smart Home Controller made by the creators of the RaZberry. It allows devices to be added in a similar way to openHAB. In it’s default interface you do not have a lot of control but there is an advanced interface that is really powerful when dealing with Z-Wave devices. From there I could implement the recommendations from Aeotecs support and the HEM started working like expected. This information could possibly apply to other Z-Wave devices and controllers as well.
Steps
-
Write down the Label / Name of the HEM Thing in openHAB. This way when you add it again with the same name, your data points will be kept and your setup will still work.
-
Exclude the HEM from openHAB. This should reset it to factory defaults and the led on it should start blinking. If it does not work, reset the device by holding its button for 10 seconds.
-
Remove the HEM Thing from openHAB.
-
Disable the Z-Wave Controller in openHAB.
-
Install Z-Way software.
wget -q -O - https://storage.z-wave.me/RaspbianInstall | sudo bash
-
Access the Z-Way web UI:
http://openhabian:8083
You will need to create a password the first time. -
Include the HEM:
From the top right menu, go to Devices.
Choose to update the vendor and device database.
Add new device identifying it automatically.
Press Start to begin adding the device. Wait until the device is fully added.
-
Go back to Devices and open Manage with ExpertUI.
-
Go to Configuration, select the device and open Expert commands.
-
Find instance 0 Multi Channel Association and click Remove.
The only feedback that a change was made is that the button style is altered for a short while.
-
Find instance 0 Association.
Choose Group 1 and Node Z-Way (the controller, node 1) and click Set.
-
Shutdown Z-Way server.
sudo service z-way-server stop
sudo service zbw_connect stop
sudo service mongoose stop
- Disable Z-Way services.
sudo /lib/systemd/systemd-sysv-install disable z-way-server
sudo /lib/systemd/systemd-sysv-install disable zbw_connect
sudo /lib/systemd/systemd-sysv-install disable mongoose
Notice! I do recommend you reboot the Raspbery Pi when you are done to make sure these services are disabled, openHAB starts and Z-Wave binding gets access to the controller.
-
Enable Z-Wave Controller in openHAB.
-
Add HEM from Inbox. Make sure to set the same Label / Name as before.
-
Add Items from Thing. This will make them start updating.
-
The Report Group settings now actually have an effect!
My setup looks like this:
- Selective reporting turned off.
- Group 1 to update instant wattage (2 + 256 + 512 + 768 = 1794) every 30 seconds.
- Group 2 to update total kWh, voltage and amperage (1 + 4 + 8 = 13) every 60 seconds.
Full Code for Thing
UID: zwave:device:f2743ed307:node5
label: Home Energy Meter
thingTypeUID: zwave:aeon_zw095_00_000
configuration:
config_11_1: 10
config_10_1: 10
config_252_1: 0
config_255_4_wo: 0
group_1:
- controller
- controller
config_2_1: 1
config_6_2: 50
config_101_4: 1794
config_112_4: 60
config_7_2: 50
config_8_1: 10
config_102_4: 13
config_113_4: 120
config_9_1: 10
config_111_4: 30
config_3_1: 0
config_13_1: 0
config_4_2: 50
config_103_4: 0
node_id: 5
config_5_2: 50
bridgeUID: zwave:serial_zstick:f2743ed307
In the code view I noticed multiple controller in group_1 after implementing the steps here.
Conclusion
This was hard to figure out and I spent more then a week dealing with this problem. It seems parts of the Z-Wave standard are quite complex and can be interpreted in different ways. Z-Way server has tools specific for Z-Wave devices so it is good to have installed, but I prefer not to have it running with the Z-Way binding from openHAB, to preserve the limited resources of a Raspberry Pi.
References
Turn on debug logging: Logging | openHAB
Z-Way Software: Download Z-Way
Z-Way Manual: https://z-wave.me/essentials
Quote about Z-Wave implementation of multi channel: FORUM.M.NU - Information