Evolve LTM-5 transmitter to LRM-AS association

You will not need it anymore for this task. You might find that after you look at the ST app for it that it’s worth keeping.

Hey @duncan. Firstly, thanks again for posting your code.

I literally have what you have but added the associationGet at the end for debugging. Here’s the gist:


I assigned it to the switch and set the group id to “1” and my network id to “1B” which is the dimmer’s network id. The accessory isn’t responding at all unfortunately.

One thing that has me stumped is whether the device id for associationSet() requires a hex or an integer value. It seems you convert the hex to integer in your code if I understand it correctly.


The way you changed it, it will no longer actually send the associationSet, but I assume it also wasn’t working before you changed the code?

When you send that associationGet, there should be an AssociationReport command that comes back into parse() and, since there’s no zwaveEvent() handler for it, it should make a displayed:false event in the device’s event list. Are you seeing any event like that after you call associate?

With you code as is I get the following after updating the preferences.

8:33:16 PM: debug Accessory switch associate 1B cmd [8501011B]
8:33:16 PM: debug Media Room (Backdoor) updated() settings: ['group':'1', 'deviceId':'1B']
8:33:16 PM: debug Accessory switch associate 1B cmd [8501011B]
8:33:16 PM: debug Media Room (Backdoor) updated() settings: ['group':'1', 'deviceId':'1B']

Ah wait nm it is working but just at the switch (not in smartthings). Sorry wasn’t aware that was the expected behavior… woops.

I may have come to the wrong conclusion as I’m not as experienced in this area as some, but it looks like you guys were able to associate the accessory switch to the main switch without using a minimote? Can you write up a quick set of instructions on how to do this? I’d gladly tip a couple bucks in Bitcoin for your troubles!

1 Like
  1. Go to create a custom device type
  2. Click the “From Code” tab at the top, paste the contents of my gist into the box and hit “Create” and then “Publish”
  3. If you’ve already added your accessory switch or if it doesn’t get recognized as the Accessory Switch type, you have to go into the device details and hit “Edit”, then change the device type to “Accessory Switch”. If that’s not in the list, you may not have published the device type properly.
  4. Find the device network ID of the target switch or switches you want to associate with the accessory. This will be two alphanumeric digits, like 08 or 1A (you can only associate to Z-Wave devices).
  5. Next go into the accessory switch’s preferences in the mobile app. Things > Gear icon on device tile > Preferences. You may have to log out and back into the mobile app after changing the device type to get it to refresh.
  6. Enter the target switch device network ID from step 4 in the input field with that name and tap “Done”. If you are trying to control two switches, enter it like 08,1A
  7. You should generally use group 1. The accessory switch’s manual may list other uses for extra groups.
  8. The accessory switch should now control the target switch. You can’t control it from the accessory switch’s tile in SmartThings – just control the target switch directly in that case.

Sorry it’s so complicated. I hope to get a chance to add a Z-Wave association control panel soon that would let you easily associate any devices with any others.


Very very helpful, thanks for writing this up! I owe you some Bitcoin - private message me a receive address and I’ll send a few bucks your way.

One minor issue I’ve noticed is that the LED indicator light on the Slave doesn’t get updated when the Master switch toggles. I don’t suppose that’s an easy fix?

@duncan two things I noticed as I was pairing another set of accessories that maybe you can lend a hand with.

  1. I think I have a device somehow configured in “group 2/3” as there’s a delay unlike another switch paired to the same dimmer. If you look at the manual for the Linear’s it mentions the delay (http://www.linearcorp.com/pdf/manuals/WT00Z1_manual.pdf) Any thoughts on how to clear out the other association group settings or just reset the whole device entirely?

  2. Something else that we should figure out is how to set the bit to poll the primary dimmer (Parameter: 20 / Bit: 1) and how often (Parameter: 21 / Bit: 1 (mins)) to keep all the switches in sync.

I’ll try to hack together something tonight to add to your device but after installing the switches and that one switch having a delay I’m kind of done fooling with it as I’m sure you guys know the feeling.

  1. zwave.associationV1.associationRemove(groupingIdentifier:2, nodeId:target).format()

  2. zwave.configurationV1.configurationSet(parameterNumber: 20, size: 1, scaledConfigurationValue: 1).format()

How do[quote=“duncan, post:44, topic:1051”]
zwave.associationV1.associationRemove(groupingIdentifier:2, nodeId:target).format()

How would I write the id -> parts for multiple parts? :frowning: Groovy is weird.

if (target instanceof String) {
    def cmds = target.findAll(/[0-9a-fA-F]{2}/) { 
        id -> zwave.associationV1.associationSet(groupingIdentifier:group, nodeId:Integer.parseInt(id, 16)).format()
        id -> zwave.associationV1.associationRemove(groupingIdentifier:2, nodeId:Integer.parseInt(id, 16)).format()
        id -> zwave.associationV1.associationRemove(groupingIdentifier:3, nodeId:Integer.parseInt(id, 16)).format()
    log.debug "Accessory switch associate $target cmd $cmds"
    return delayBetween(cmds)
} else if (target instanceof Integer) {

Oh and for my own curiosity, is this so the accessory can have more than one device in the group?

Well I finally got the delay off that accessory switch. I think i accidentally paired it to it’s own device id in group 1 and it wasn’t until i ran the remove command with itself as a target that it started working without a delay.

Thanks for your help @duncan I still didn’t have any luck with the polling of the master light switch but that’s for yet another day.

I tried a slight variation of your command to set the configuration bits for 20 and 21 just stuffed into the top of the associate() function and didn’t have much luck. zwave.configurationV1.configurationSet(configurationValue: [1], parameterNumber: 20, size: 1).format()

What do you mean by “remove command” cause i have a pretty big delay. I removed the aux switch from smartthings and added it back but it did not help.

If you read the rest of the thread you’ll find that I sent remove assocation commands. If you have a delay its because you either have too many devices (or the device itself) in group 1, or devices in group 2 and/or 3. Run the remove command on the different devices you that may be assigned to groups 1, 2, and 3 then assign the accessory switch again.

Thank You… This is the only way it worked. I was able to associate my evolve switches this way… thanks.

Thank you for your reply but for give me of my Noobness. I dont know which code you used.

This is the code I think you are referring to.

And again forgive me again where do I enter these commands. I figured they would be a smart app but that did not work. Do i enter them into the device type code?

I honestly dont have time to give you a more tailored response. I personally manually plugged in the device ids and ran them in one of the device type functions which I knew ran when I configured the device. All of this stuff is documented and debugable so you can see what commands are running.

This is very helpful.

So for folks on the thread, I guess the next question is advantage or disadvantage to using this method verses using the Minimote method (besides the obvious disadvantage of having to purchase a Minimote just for the pairing).

Once the switch and remotes are paired, is there any functional difference between the two methods in subsequent interaction between the switch and the accessory switches? In other words, if we use the code above, is the hub needed for subsequent switch+accessory use? What about latency? Do remote switch commands have to go to the ST cloud, potentially causing a delay? What about the reliability of the LED status indicator lights on the remote switches of one pairing method vs the other? I understand that the Minimote method creates the pairing directly in the dimmer and the accessory switches.

Right before I saw this thread I purchased a Minimote for the purposes of doing such a pairing, but would return it if pairing in ST directly per the code above is a better solution.

Anyone have any thoughts on this?

This does the same thing that the Minimote does. It’s probably a bit easier to use the Minimote, though.

After using your non Minimote method should the device type be switched back to z-wave dimmer? I got it to work with the Minimote after about a dozen tries then weeks later it was no longer working so I tried the device type method and now all is well.

@duncan - thanks for the advice. I used the Minimote for the pairing and it was indeed straightforward.

Foks - does anyone know whether whether the duncan’s code-method and/or the Minimote pairing method would allow the pairing of a Linear/Evolve accessory switch with a non-Linear/Evolve switch? For example, could a Linear WT00Z1 accessory switch be used to remotely control a GE/Jasco 45637 light switch?