Aeotec ZW096 Smart Switch 6

For what it may be worth to anyone, I didn’t fancy trying to come up with my own 16 digit hex key so I found this:

Hex Key Generator

Just generate the key, then format it for the options.xml file and away you go.

I removed the switch and added it back securely, no dice. Still not getting values for the other parameters.

I changed the notification status to “Hail” instead of Basic and it is slow to respond to on/off commands. However, when it is off, it shows values for everything but current. I turn it on, everything zeros out. I change it back to Basic and I get power levels when the switch is on and nothing else.

What seems weird to me, well at least one thing, is that it can report what the power usage is, but provides no current value. If it is calculating power it has to be reading current in some manner, I mean, it is an important part of the formula, LOL.

Anyway, I will have to leave that where it is for now. I have to get ready for work soon. Getting those values is not a deal breaker, it would have just been really informative and I thought somewhere down the road some automations could be written to make use of them.

If anyone is so inclined to do so, could they fire up the OZWCP and take a screen shot of their switch configuration? The Current Values, Configuration and Information so I can do a stare and compare and make sure I am not missing something? It’s not critical, but if I can match my config to someone that is getting all the values that would be awesome. It would be at least one thing I could either point to or rule out.

Here’s mine. Just so you know, I have never moved any files around or symlinked any configs. I made my changes in OZWCP and then I restarted HASS. I show live power consumption instantaneously in Power.

Be warned it is a big image as I captured the entire page so you got everything.

Here’s what my Zwave devices look like on the UI side:

Note: Both the Washer and Dryer were not running in this image. The Washer draws a small amount at all times but the Dryer doesn’t unless it’s actually running.

I dont see any differences other than the Hail/Basic setting.

When the switch is off:

When the switch is on:

Then the Information page:

When I switch it to Hail, the switch is very slow to change states from on to off and vice versa. It reports some of the other parameters, but only in the off state. When I turn it on and it eventually changes state, the parameters zero out. Even the power which works in Basic mode.

It appears, also, that you can edit a couple parameters that I cannot dealing with the light color and such. So I am at a loss for what to check next.

Here is the front end:

I just realized that I am accomplishing same task as you for washer and dryer. How did you enable those icons?

Information below came from Aeotec and may be useful.

Send report is based on automatically reporting the status of the switches main function which is ON/OFF.

If parameter 80 [1 byte] is set to 1 (hail report) or 2 (basic set report), then it will report its status to the gateway if manually changed or changed by the gateway.

Polling does take more bandwidth than relying on Parameter 101-103 and Parameter 111-113 which is the group report that you are referring to.

Parameter 101-103 uses a binary table which can be used to set what reports will be set out on each group. Most users use 1 group to report all of them at the same time, but if you have a need to have other reports report at different times, then you would use Group 2 and Group 3 to set a separate report interval.

To translate the binary table to decimal:
8 = report kwh
4 = report watt
2 = report current
1 = report voltage

So you would combine the sum of these values if you want to select multiple reports from one group.

For an example: Lets say you want to report kwh, watt, current, voltage all at the same time every 30 seconds. Then the setting would be set as:

Parameter 101 [4 byte dec] = 15 (which is the sum of 8 + 4 + 2 + 1)
Parameter 111 [4 byte dec] = 30 (report parameter 101 [group 1] every 30 seconds).

Example 2: Lets say you want to report kwh and watt at a rate of 1 minute, then voltage and current every 4 minutes.

Parameter 101 [4 byte dec] = 12 (which is the sum of 8 + 4)
Parameter 111 [4 byte dec] = 60 (report parameter 101 [group 1] every 60 seconds or 1 minute)

Parameter 102 [4 byte dec] = 3 (which is the sum of 2 + 1)
Parameter 112 [4 byte dec] = 240 (report parameter 102 [group 2] every 240 seconds or 4 minutes)

Here are my relevant configuration items (I used saved xml file). So in another words, current changes are immediately reported. I use custom sensor value to tell me what Washing Machine is doing. Also every 30 seconds I get full report of all parameters send (down the road I will actually remove kwh as I don’t care about it)

				<Value type="list" genre="config" instance="1" index="80" label="Notification status" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="2" vindex="1" size="1">
					<Help>Defines the automated status notification of an associated device when status changes</Help>
					<Item label="Nothing (Default)" value="0" />
					<Item label="Hail" value="1" />
					<Item label="Basic" value="2" />
				</Value>
				<Value type="bool" genre="config" instance="1" index="90" label="Enables/disables parameter 91/92" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="True">
					<Help>Enable/disable Wattage threshold and percent.</Help>
				</Value>
				<Value type="short" genre="config" instance="1" index="91" label="Minimum Change to send Report (Watt)" units="watts" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="32000" value="1">
					<Help>The value represents the minimum change in wattage for a Report to be sent (default 25 W)</Help>
				</Value>
				<Value type="byte" genre="config" instance="1" index="92" label="Minimum Change to send Report (%)" units="%" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="100" value="1">
					<Help>The value represents the minimum percentage change in wattage for a Report to be sent (Default 5)</Help>
				</Value>
<Value type="int" genre="config" instance="1" index="101" label="Report type sent in Reporting Group 1" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="15">
					<Help>Defines the type of report sent for reporting group 1. 2 is multisensor report. 4 is meter report for watts. 8 is meter report for kilowatts. Value 1 (msb) Reserved Value 2 Reserved Value 3 Reserved Value 4 (lsb) bits 7-4 reserved bit 3 KWH bit 2 Watt bit 1 Current bit 0 Voltage</Help>
				</Value>
				<Value type="int" genre="config" instance="1" index="102" label="Report type sent in Reporting Group 2" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0">
					<Help>Defines the type of report sent for reporting group 1. 2 is multisensor report. 4 is meter report for watts. 8 is meter report for kilowatts. Value 1 (msb) Reserved Value 2 Reserved Value 3 Reserved Value 4 (lsb) bits 7-4 reserved bit 3 KWH bit 2 Watt bit 1 Current bit 0 Voltage</Help>
				</Value>
				<Value type="int" genre="config" instance="1" index="103" label="Report type sent in Reporting Group 3" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0">
					<Help>Defines the type of report sent for reporting group 1. 2 is multisensor report. 4 is meter report for watts. 8 is meter report for kilowatts. Value 1 (msb) Reserved Value 2 Reserved Value 3 Reserved Value 4 (lsb) bits 7-4 reserved bit 3 KWH bit 2 Watt bit 1 Current bit 0 Voltage</Help>
				</Value>
				<Value type="button" genre="config" instance="1" index="110" label="Set 111 to 113 to default" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" affects="111,112,113">
					<Help>Set time interval for sending reports for groups 1, 2 and 3 to default.</Help>
				</Value>
				<Value type="int" genre="config" instance="1" index="111" label="Send Interval for Reporting Group 1" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="-1" value="30">
					<Help>Defines the time interval when the defined report for group 1 is sent.</Help>
				</Value>
				<Value type="int" genre="config" instance="1" index="112" label="Send Interval for Reporting Group 2" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="-1" value="0">
					<Help>Defines the time interval when the defined report for group 2 is sent.</Help>
				</Value>
				<Value type="int" genre="config" instance="1" index="113" label="Send Interval for Reporting Group 3" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="-1" value="0">
					<Help>Defines the time interval when the defined report for group 3 is sent.</Help>
				</Value>
5 Likes

You are awesome! Thank you for posting that up.

I tried another home automation software package that gave me easier (and I believe simultaneous) access to the OZWCP so I could play around with some of those settings. I hit on a couple that you posted but I never got as complete as you have shared. So thank you.

Hi rpitera
This is what I’m looking for. I have a Gen5 Stick.
What do I have to change in my configuration.yaml exaclty to get information about power consumption or voltage?
Do I have to add it under the zwave: configuration like mention here?

zwave:
usb_path: /dev/ttyACM0
config_path: /srv/hass/hass_venv/lib/python3.4/site-packages/libopenzwave-0.3.1-py3.4-linux-armv7l.egg/config
polling_interval: 60000
customize:
<HERE the customized config?>

If you added the SmartSwitch with Binary Reporting, you should see the entities for your switch in your dev states panel. I just added all the entities for each switch into a separate group for each switch and then watched the states when my washer or dryer was active.

I’ve tried nearly everything in this thread and still cannot get my Smart Switch 6 to automatically update the power monitoring values (current, voltage, power, etc.). The switch itself is not broken, as I can access refresh the current values via OZWCP, but no matter how I fiddle with the configuration, the switch refuses to automatically update power monitoring values. Note that I can access the switch via HA and am able to toggle it on and off.

I am not knowledgable about Z-Wave, but the problem may be stemming from a dead “binary power switch routing slave.” Any help would be really appreciated!

OZWCP Device View:
Open_Zwave_1

Smart Switch 6:
Open_Zwave_2

Anyone have RGB color changing working on this?

They ship with the color > power draw enabled. I was able to disable this through ozwcp.

There’s functionality to control the RGB LEDs just like a Z-Wave light bulb according to the docs and threads on the OpenHab forums but I haven’t been able to get HA to detect it as such yet. In fact, I was getting segfaults last night when I was mucking around in the code. Will figure it out and hopefully report back.

1 Like

Looks like im next one with this problem, ZW096 is present in my z-wave network, working (switching on/off), but getting stuck at initial energy/current etc. values. I tried to change polling intensity from 0 to 1 or 2 - no difference, values are stil not updated.
Im ussing hass.io (all in one installer) at Pi3, z-wave gen 5stick, and ZW096 is added as “non secure” device (without network key).

Any ideas how i could fix that ?

Im very new (3 days) in Home assistant and totally new in linux, so i need very “noobish” approach :slight_smile:

Hmm… its still not working. In Hass.io i dont have OZWPC so i cant check what is going “under the hood” and why im not getting values. Its not big deal, turning off and on does work, but… well, if there is such feature like analog values reading and logging, i would be happy to use it. So to sum it up, i have no idea how to fix that, next time i will take Fibaro, with hope it will just work right out the box.

I’m using Hass.io as well and cant get either of my 2 Aeotech ZW096 Smart Switch 6 to report their current/previous/energy/power/voltage values either. Can anyone help? I need to build automations around these values.

I’ve got two switches, and one of them is sending updates, and one of them isn’t. I just installed both last night, in what I think was the same procedure.

I think this may relate to the “request flags” in the “association command”. I noticed that the entries in the configuration file were a little different for those after setup. The one that was working had requestflags=4, then one that didn’t had requestflags=6. Looking in the openzwave code, this appeared to be a bitfield relating to the updating behavior of the switch. However, hand editing the file did not change the behavior.

More later.

The key to this seems to be setting the ‘associations’ on the switch properly. These associations are nodes to which reports are pushed on a regular basis. So you have to set your controller as an association of the smart switch node, and then configure what to send and how often to send it.

Here’s the engineering document which has some more detailed info about it.

https://goo.gl/VZaLx6

I will test it out this evening. Learn a little more each day…