Proper Three-Way switch setup using Associations

I found the app and will try to convert it tonight. Keep in mind the code is 2700 or so lines so it may take me a bit and no guarantee it will work but I'll try.

2 Likes

I installed the inovelli association took just fine and did all the steps within the app for creating the associations but then nothing happens when actually trying to operate the switches. Nada.

Nothing.

Guessing you already posted about this in the inovelli support forum? I know users here have used it successfully but I'm not adept at troubleshooting that application or know much about what steps you've tried already.

@lewis.heidrick, that would be AMAZING! Note however that there is definitely an issue with that app, because it would only work with the original Smartthings App. It dot port properly to the new Smartthings app. I think a few people have talked about a challenge getting it working in Hubitat, but it would be amazing if you could have a look!

Ok, I've ported the code. Open up driver code and paste this in there hit save and assign it to your device. Make whatever changes you need then put back the original driver. Don't forget to hit configure after driver changes.

I'll let you take a whack at it as I haven't used this before and didn't bother to read the documentation about it.

just note that on some drivers when you hit configure it resets the association groups... Almost all of my drivers do that.

so after you set the associations, and then switch back to your regular driver, you may or may not lose associations when you hit configure.

2 Likes

Good catch... didn't think about that. That's really dependent on the device driver though so ymmv.

1 Like

Interesting. Was never a problem in Smartthings.

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?