The Z-Wave Association Tool is a SmartApp that was created to allow our customers to easily create device-to-device “associations” with Inovelli devices and other compatible Z-Wave devices. The tool requires special code to be present in the device handler so it will only work with Inovelli devices. Anyone is free to add the code to other device handlers though if they would like.
The purpose of a direct association is to have one z-wave device speak directly to another to create something like a “virtual 3-way” between two switches, or have a dimmer be able to directly dim up & down bulbs in real time. The communication is usually much faster than if it were to go through your hub and the hub is not required for the association to work after it is setup. For example, the hub could even be completely shut down and the 3-way or the communication with the bulbs would still work.
Code
The most up-to-date code for the app can be found here. It consists of 2 pieces of code that need to be installed in the “My SmartApps” section of the SmartThings IDE. One is a parent app and one is a child.
Parent App
Child App
Terminology
Source Device:
This is typically going to be the device that does not have the “load” (or light) attached to it. It is the device that you want to use to control the other device. Generally an Inovelli Switch or Dimmer.
Destination Device:
This is the device that you want to be controlled. If it is in a virtual 3-way, it is the switch or dimmer that has a “load” (light) attached to it. Technically, you can put multiple devices in this group which may be the case if you are trying to control multiple bulbs.
Group
An “association group” is a z-wave concept that lets you define a “group” of devices that are controlled from a “master” device. The groups can have different capabilities, but our devices use these particular groups:
Group 2: Used to send ON / OFF commands to the devices in this group.
Group 4: Used to DIM UP / DIM DOWN devices in this group.
So, when you create an association from a switch to another, you simply need to create an association for group 2. When you create an association for a dimmer device, you configure an association for BOTH groups 2 & 4.
Now that this is defined, below is a simple step by step on how to create an association for ON / OFF.
First, we open the Z-Wave Association Tool app from the “SmartApps” section of the SmartThings app.
Next, click on “Create New Association”
Then, click the “capability” drop down and choose “Switch / Dimmer / Bulb”. Next, select the source device. Use the terminology above to decide which device you want to be the source. It is the device that you want to use to control the other(s).
For the destination device, choose “Switch / Dimmer / Bulb” and select your device(s) as needed. Also, use the terminology to determine which devices to choose here. They are typically going to be the devices that you "want to control.
Lastly, select the group that you want to use in this association. Group 2 to control ON / OFF or Group 4 to control DIM UP / DIM DOWN.
Note: When using a dimmer you are likely going to want to control BOTH ON / OFF & DIMMING. You will need to go through the process shown above again and create a second association for the other group.
In the end it would look something like this:
That should be it. After a few seconds the app will configure the associations on the “Source” device and you should be able to start enjoying the benefit of direct Z-Wave associations!
Troubleshooting
A common issue with SmartThings is when one device gets included with z-wave security and one doesn’t. When this happens, the devices can’t communicate with each other. To see if that is the case, look at the “Raw Description” of each device. For secure devices the “zw” entry will show Ls. For non-secure devices the “zw” entry will show just L. See the images below.
Secure
Non-Secure
If this happens, you need to exclude and include the devices until they match. Since SmartThings tries to do secure pairing first, I recommend that you exclude the non-secure device(s) and try again until they pair secure.
If you are interested in adding the association tool code into your own device handler / driver, check out this post: