Proper Three-Way switch setup using Associations

Great, thanks! I will give it a whirl and see if it works. Thanks so much @lewis.heidrick.

Support is never a problem when you don't actually provide it...

I'm sure they got TONS of questions and support requests on association behavior - many devices don't report status back to the hub when changed via direct association for instance. "Why does my tile show the wrong status? What's wrong with your hub?". They likely just never answered the support requests. :slight_smile:

1 Like

@lewis.heidrick unfortunately I get an error message related to line 1619:

Not sure if that means anything to you off the bat.

No worries if this is more than you bargained for - thought I'd just ask.

You get that when importing the driver code? Or when executing a command on the device? On my phone and the screenshot is super tiny. Got on my computer now let me take a look.

Sorry, the error is when executing the association. The code imported just fine, and the driver content formats properly in the device. It says "no signature of method....is applicable for argument types: () values: [] on line 1619

the bold part of the code is line 1619 that is returning the error:

// Parse fingerprint for supported command classes:
def ccIds = []
if (getZwaveInfo()?.cc) {
logger("Device has new-style fingerprint: ${device.rawDescription}","info")
ccIds = getZwaveInfo()?.cc + getZwaveInfo()?.sec
}
else {
logger("Device has legacy fingerprint: ${device.rawDescription}","info")
// Look for hexadecimal numbers (0x##) but remove the first one, which will be deviceID.
ccIds = device.rawDescription.findAll(/0x\p{XDigit}+/)
if (ccIds.size() > 0) { ccIds.remove(0) }
}

Seems it's somehow not registering the values properly in HE.

Hubitat performs this function different than ST. I'll have to think about this one a bit.

Here is an associated article with the same issue...

Looks like the original author @codersaur has moved over to Hubitat also. Doesn't look to be active though.

Yup, looks like it's been an issue. That's what I had read. Unfortunately the original author is no longer active here.

Thanks for investigating. If you do come up with anything, please let us know!

@jasonjoel is the driver god around here. I'm just a scriptkiddy. I'll see if I can find anything though.

Hardly. I'm a complete hack.

I'm swamped right now, so I haven't looked at what the app does in addition to setting the association groups.

I'm in the same boat really. I have 3 active projects at work I'm lead on all starting up this week and won't be complete until mid December. It's been asked for a lot though so I'll put in some research time to see if I can find anything.

I use zwave associations. They are great and after set-up do not even require the hub. My switches are GE/Jasco and Inovelli, so I set the associations on the device page of the switch. The GE/Jasco drivers I use are the ones written by @JasonJoel that can be found here: Hubitat/Drivers at master · Botched1/Hubitat · GitHub and I use the Inovelli drivers that they put out themselves. I have not yet tried an association with my inovelli switches (I have way more GE/Jasco), but I see the option on the device page.

I don't think hubitat prevents you from using zwave associations, you just need a driver for your device that supports associations. Does anyone know if it is a general rule for Hubitat device drivers to not implement an interface for the setting of zwave associations?

I don't see association options on any inovelli device page. Where are you seeing that?

I have come to find out there is nothing easy about hubitat.
But once it's setup it just works.

I just tried this on a couple of my GE/Jasco switches and couldn't get it to work. Is there a "trick"?

I put in the DNI number of the device I wanted to control in the Group 2 association box. Nothing happened.

Nope, no trick to it. Just make sure to save preferences. Association group 2 is for on/off associations and group 3 are for doubletap associations. Here is an example of one of mine:


As You can see, after I hit "Save Preferences" the association showed up in the State Variables.

I assumed (could definitely be mistaken) that this is it:
assoc

But, if that doesn't work you could always install this: [HOW-TO] Using the Z-Wave Association Tool in Hubitat - Hubitat - Tips & Tricks - Inovelli Community

I just installed it, appears all the options are there.

1 Like

I do get the association in the State as well, but it has no effect on switch behavior. I'll try again tomorrow.

Can anyone try adding an association between inovelli switches? I have all brand new red series and they won't associate.

In the logs I see this Java exception:

app:612020-10-29 03:48:11.368 pm errorjava.lang.IllegalArgumentException: Command 'setAssociationGroup' is not supported by device. on line 71 (installed)

app:612020-10-29 03:48:11.325 pm debugInstalled with settings: [overrideLabel:false, sCapability:Switch, dSwitch:[Bedroom Switch 2], sSwitch:Bedroom Switch 1, dCapability:Switch, groupNumber:2]

app:612020-10-29 03:48:08.789 pm debugwill set default label of Bedroom Switch 1 Association Group 2

--- Live Log Started, waiting for events ---

7777
Worked, perfectly. I hit "Set Association Group" went to my inovelli switch turned it on and a light that has a GE/Jasco zwave switch turned on simultaneously. Exactly what group 2 is suppose to do.

@Stephan.J what driver did you use to get the SetAssociationGroup? Did you have to switch back to the Inovelli driver after?