(EDGE Driver-Mc): Z-Wave Device Config Mc

Zwave association is actually very simple.

The trigger device is given permission by the hub to send “basic” commands directly to a specific target device without having to tell the hub about it or go through the hub.

“Basic“ has a very specific meaning in zwave. We can discuss what it is if you want, but it’s not important to know the details. But just think of the most basic function of a device class. For an on/off switch, that’s turn on if you are off, turn off if you are on. For a multilevel switch like a dimmer, there will be a level value sent along with the basic command to tell it what level to go to.

A trigger device will be given permission to send the basic command to up to five target devices.

The target device actually won’t know anything at all about the fact that the association was set up. It just gets a command over the network and then it acts on that command.

The trigger device will just keep a list of the device IDs of the target devices that it has been given permission to send a basic command to.

Use Cases

The classic use case for Z wave direct Association is having a motion sensor turn on a light. usually you want this to be super quick, so with z wave association as soon as the sensor detects motion it can send the basic command straight to the light switch without having to go through the hub.

This is a fairly primitive action. There’s no if/then filters that you can put on it, no time of day, no additional conditions. It’s just detect motion, send the basic command.

Another popular use case is for the auxiliary switch in a two-way set up (called a three-way set up in the US). In this situation the auxiliary switch is the trigger device and the master switch is the target device. Turn on the auxiliary, it sends a basic command directly to the master so it also turns on. Turn off the auxiliary, the master turns off.

Association Groups

A trigger device will be allowed to have multiple “association groups“ so it can send out a different basic command under different conditions. It’s just up to the manufacturer, they might only have one association group, they might have a dozen.

For example, the Aeotec multisensor seven has 11 association groups.

Product Association Capabilities

They use association group 2 to hold the list of device IDs for the targets that will get a command when motion is detected.

They use association group 3 to hold the list of device IDs for the targets that will get a command when the temperature is higher than a parameter set by the device owner.

They use group 7 to hold the list of device IDs for the targets that will get a command when The measured light level is higher than a parameter set by the device owner. And so on.

But note again that the target devices have no idea they are even in this group. And the only thing the trigger device is keeping is the list of IDs by association group. it’s a really simple structure.

And it’s up to each device manufacturer to decide how many association groups their device will use and what they will use each group for.

Lifeline group

Beginning with zwave plus, Z wave alliance changed the specifications and now every Z wave plus device must support association and it must use association group one as the “lifeline group“ to send messages to the hub. Older devices don’t have to do that.

queries

When you query a Z wave device it will tell you if it has any association groups set up and what target device IDs it has in each of those groups. That’s really all there is to it. You’ll get the list of groups and the list of IDs already stored in each group.

You’ll be able to send an association group set command if you want to change which target device IDs are stored. When you set up an association, you literally just send the list of target device IDs that this particular trigger device is allowed to use for a specific association group.

And remember that those association groups are decided by that manufacturer for that model. Association group 3 might be used for a completely different purpose in a Fibaro device than it is in an Aeotec device. And a target device can be in totally different association groups for different trigger devices and, again, the target device has no idea it’s even in an association group at all.

Endpoints

Some Z wave devices have only one network device ID, but have multiple endpoints. A power strip is a classic example.


To address these endpoints, you typically use a comma. So if the device ID of the power strip is 03A, The endpoints would be 03A,1 etc.

It might be that you only want to set up an association with the third socket, for example. So you would set the target as 03A,3

Execution

Once the trigger device has the list of IDs it is associated with, that’s all you have to do. You don’t have to write a routine, you don’t have to do anything with the Target device. The firmware in the trigger device will automatically Send out the “basic” command to the target devices when the trigger condition is met. So literally the only thing the device owner has to do to make association actions happen is set the list of target device IDs in the trigger device. Everything after that is handled by the trigger device. :sunglasses:

OK, those are the essentials, if there’s anything else you need, just let me know.

2 Likes

Thanks for your explanations @JDRoberts

This is fine and I more or less understand it.

The difficult thing is to find in the default LUA libraries and in the documentation how to make the code to create the functions to send the commands and their correct arguments and formats that those default libraries accept to perform the set, get… actions.

When I added the Groups functions in my Zigbee drivers, @veonua was who explain me how to make the lua code to set, delete, read the groups. I was not able to find it in default libraries.
Thanks agains @veonua

2 Likes

we need to thank an unknown ST engineer who spent some extra time and added/kept the API.

luckily, LUA code is opensource and
I just made a full-text search in the Lua libraries and luckily found these endpoints are not disabled.


my other research was about child devices, unfortunately, it’s available only for LAN and it requires decompiling C libraries to hack it. One flag creates so many complications

2 Likes

Is the source code fo this available on Github maybe?

doesnt have it.
Would be great to see how you accomplished things. Thanks!

Hi @Mariano_Colmenarejo
Need help to set up my garage door aeotec gen 5 . I want to remove all alarm .
I already did it with zwave tweaker , but I have lost all configuration .

So if you help me with the first one ,lets say 0x20(32) configure the default Start up ringtone , I want to put disable and so on for other alarm .

Merci !

I would do this:

  • Switch to Z-wave Device Config Mc driver. Remember that you can lose some routines that you have, although I believe that they have resulted in the last update
  • Go into preferences and choose Device parameter scan. close the device and reopen it to see the new profile. You may need to clear the cache the first time.

  • It will show by default the search from parameter 1 to 255

  • Click on execute action (the labels now go wrong!!!) , wait for the scan to finish, it may take up to 30 seconds

  • You will see the values ​​and the size of all the parameters of your device. You can make a capture to have them.

  • Open preferences and choose Device Parameter Configure

  • Write the parameter number to see the parameter 0x20 you have to write it in decimal (32)
  • In command (the labels now go wrong!!!) choose “Get”
  • Click on Execute action (the labels now go wrong!!!) and it will show you the size and the current value (1)

  • Change the parameter value to (0)
  • In command (the labels now go wrong!!!) choose “Send”
  • Click on Execute action (the labels now come out wrong!!!) and it will send the new value of the parameter to the device

  • Choose “Get” again and press execute action to check the new value (0) is set
2 Likes

Thank you @Mariano_Colmenarejo
This as worked for me , this as remove the 5 sec delay before the door open.
Another big Merci !!

2 Likes

New Update for Edge driver Z-Wave Device Config Mc:

Improvements and changes:

  • Added Profile for Association groups scan to single and multi-channels devices
  • Added Profile for Association Groups Configure to individual association groups for single and Multi Channels devices

with these options:

  • Get Association groups
  • Set Association groups
  • Remove One Node
  • Remove All Nodes

I haven’t tested it much since I only have 2 Z-wave devices with groups and one doesn’t work very well.

The normal procedure for Association groups is:

  1. change the driver on the device to be configured. You will NOT lose any routine or scene, when you finish and return to the driver they will all be recovered as they were. Let’s hope they don’t change it again.
  2. It will open in the last profile used and if it is the first one, the fingerprint information profile will open.
  3. In setting preferences choose the “Device association Group scan” profile. The device will have to be closed and reopened to display the new profile. If it is the first time it is used, it may be necessary to clear the cache of the app.
  4. By default it starts at group 0 and ends at 10, but you can choose others up to 255. There are devices that do not answer when they do not find more enabled groups, but other devices such as the fibaro FGS-223, always answer with the information of the group 1. Therefore repeated groups can be seen. Then you can repeat the search until the number before the group 1 repeated
  5. Press the execute action button:
    • It gives us information on the maximum nodes allowed and how the nodes are configured.
    • When the node coincides with the Hub node, it marks it " * Hub Node * ". This group should not be touched unless it is wrong.
      We can take a picture of how everyone is.

  • If we already know which group we want to configure:
    1. Select the profile in preferences: “Device association Group configure”. You will have to close the device and reopen it to display the new profile. If it is the first time it is used, it may be necessary to clear the cache of the app.
    2. Enter the Association Group number to configure
    3. Select if you are going to configure to send commands to a single or Multi-Channel device
    4. Select “Get” and press the execute action button
    • Show association group information
    1. Insert the Network Node value of the device to link in Hexadecimal format. (You can see it in the CLI)
    2. If it is a multi-channel device, insert the End point number (0 to 127) to which the command will be sent
    3. Select “Set” and press the action button. It will send it and 2 seconds later it will read it and show the result.

  • To remove One Node from an association group, follow the steps above and select “Remove One Node” and press the action button. It will delete it and 2 seconds later it will read it and show the result.

  • To remove all nodes from an association group, follow the steps above and select “Remove All Nodes” and press the action button. It will delete it and 2 seconds later it will read it and show the result.

This is the new driver version:

┌─────────────┬──────────────────────────────────────┐
│ Name        │ Z-Wave Device Config Mc              │
│ Version     │ 2022-09-06T16:56:35.503994897       │
└─────────────┴──────────────────────────────────────┘

If you find any problem, please tell me

2 Likes

Used this driver the other day to change an option on a Aeon multi 5 and it worked a treat, I told the tec support at Aeon and he was well impressed too.

Quote:

That last tool is really cool, where can i find that driver? (It looks like Z-Wave Tweaker but for Edge drivers). Parameter 5 set to 2 would use Binary Sensor Report which would make sense to me. Definitely keep me in the loop


Cheers,

Field Application Engineer

5 Likes

Hello

Do you have any info for installing this driver in smrtthings?

Miguel

I reply in your PM

Good evening. I am trying to associate a fibaro Keyfob with the fibaro 214. In the Keyfob I insert the driver, then I select the profile device association group, and here I insert the group 2 and the node address (B9) of the fibaro 214, node endp a 0, set single channel device. When I give the set command it executes it and passes in get showing me the association. Finished restoring the keyfob driver. When the button that sends the command to group 2 is pressed, the fibaro 214 does not execute any command. Where am I wrong?

The configuration change might still be queued on the hub. Did you check the user manual for the device to see if there’s something you need to do to wake it up to accept the configuration change?

See the community FAQ:

And from the user manual for this device:

Waking up the device:
The KeyFob needs to be woken up to receive information about the new configuration from the Z-Wave controller, like parameters and associations. Use 1st menu position (white) or click and simulta- neously to wake up the device.

It is a good idea to check the user manual for any batterypowered Z wave device if you are going to make configuration changes to see what steps you need to follow. :sunglasses:

Yes I had already read. To accept the configuration I had to wake up the device. The problem is the fibaro 214 that does not perform the command of open

Hi @GiacomoF

I tried with mine and it doesn’t work either, I don’t know why.

it seems that the keyfob sends commands, since it makes a sequence of yellow led every 1 sec, sending command and at the end 1 red light, no confirmation of the associated hub or device.

I can’t try more, I don’t have

Hello, @GiacomoF

I have managed to get the keyfob to work with association for a fibaro doble switch.

Yesterday’s problem is mainly that I entered the wrong network address. :man_facepalming:

Today I entered it correctly and it worked after several attempts, until it linked into the network. Then it works instantly.
It must be a matter of signal quality and range.

I replaced the Button battery too

I have achieved it with endpoint 0 of the double switch.

Putting endpoint 1 turns on the same switch as endpoint 0.

I have configured endpoint 1 in group 4 button O and it also turns on endpoint 0 instead of 1

i will keep trying

1 Like

Hi @GiacomoF

I managed to control switch 2 with association groups.

You have to put Endpoint 2 instead of endpoint 1

Although the endpoint reading of the device says that it has endpoint 0 and 1, for the association endpoint 0 and 1 correspond to switch 1 and endpoint 2 to switch 2

I don’t know if it will be the same for other manufacturers.

1 Like

Good evening.
I’m stuck. the Keyforb sends the command and receives ok from the fibaro 214 (it is a relay), but this does not go from off to on. If I turn off the fibaro 214 the Keyforb rightly emits first orange then red light. if I turn on the fibaro 214, the Keyforb first emits orange then green light (it sent the command and arrived at its destination)

Hi @GiacomoF

As the fibaro 214 is a single channel device maybe you should delete the multichannel association node and make the association in the single channel association groups.

No endpoint is entered in singleChannel association.

They are independent command classes.

I used the multichannel association because it sends the commands to a double switch.

@GiacomoF

It also didn’t turn on and off on the first try, I had to send several commands until the association had to be established correctly in the zwave network.
Once it worked the first time it was instantly working every time I sent an on or off command.

I also verified that the parameter 29 of the keyFob had the value 4095, which is equivalent to sending all the commands of the 6 buttons in security mode

1 Like