Excellent, then you have 3 options to synchronize the switches.
- use a regular SmartThings routine and just have switch A turn on when switch B turns on, etc. And then make a second set of routines going the other direction. And obviously you have to do this for each accessory switch.
Pros: each individual routine is straightforward.
Works in all regions.
works for all protocols, and any mix of protocols. So you could have a Z wave master switch and a Zigbee accessory switch. Or vice versa.
This should work locally, depending on the exact options you choose for the routine.
Because you are doing a routine, you can change up exactly when the switches are synchronized. But in a typical three-way, that wouldn’t matter.
As long as your hub is connected to the SmartThings cloud, the SmartThings app should have the correct status for both the master and the accessory.
Cons: it’s tedious to have to set up so many different routines.
- if you are in a region that supports it, use the “sync with switch“ option in the Smart lighting feature.
Pros: all the same pros as option one, but requires fewer routines, basically just One for each accessory.
Cons: not available in all regions.
- zwave direct association. Now we come to it.
this option is only available between 2 zwave devices.
The device which is going to be the “trigger” must support association, which, in this case it does.
Direct association gives permission to the trigger device to send a “basic“ (basic has a specific meaning in this context, basically on, off, or dim) zwave instruction directly to the Target device without going through the hub.
In the case of a three-way, the accessory switch is the trigger switch, and the master switch is the target switch. So when you turn on the accessory switch, it will send a message to the master switch to turn the light on. Note that this will always happen, even if you unplug your hub. It is very fast.
In order for this to work without the hub, the trigger device will keep a little list of the device IDs of the devices that it is allowed to talk directly to. That is what “setting up an association“ means: you are just giving the trigger device the list of devices for it to talk to directly. Note that you don’t need to do anything with the Target device, it doesn’t care. It will receive an appropriate radio instruction and then follow it.
So… how do you tell the trigger device which target devices it can talk to?
Unfortunately, this is where SmartThings falls down, compared to pretty much every other certified zwave platform. It doesn’t give us an easy way to do this. But it is still possible. So you have to go through a couple of steps.
First, you will need to go to the advanced page of the official web interface to your SmartThings account and find the network ID of the Target device.
Now you need to find a way to give that information to the trigger device. So you are going to do the next part of each process once for each of your accessory switches.
Ideally, you will be using an edge driver which includes the fields you need to set up a Z wave association. None of the standard official edge drivers do, unfortunately. But there are quite a few custom edge drivers that do for different devices. So you’ll need to see if there is one that exists for your particular model that exposes the associations. I’m tired today, so I’m going to leave that research for you to do yourself. Try the edge_lighting list and see if there’s one there
FAQ: Using the quick browse lists without the community wiki
If there isn’t one, @Mariano_Colmenarejo Does have a Z wave utility that will allow you to do this for any zwave device. You will temporarily assign the trigger switch (the accessory, not the master) to that edge driver, update the direct association list that that device keeps for itself, And then switch back to your regular everyday edge driver.
(EDGE Driver-Mc): Z-Wave Device Config Mc - #149 by David_Johns
But how do you know which association groups to use? You will have to go to the official Z wave alliance site, look in the catalog of certified devices, find the trigger device (in this case, the Eaton, RF9617) and see what associations it supports.
https://products.z-wavealliance.org/
In this case, it’s quite simple. Put the hub’s device ID in group one if it’s not already there, and put the Target Device’s device ID in group 2.
Again, you have to do this once for each of the accessory switches that you want to have permission to send messages to the master.
And that’s it. It’s much harder to do this in smartthings than it should be, but it is doable.
Pros: once you have this set up, it should be fast, easy, and reliable.
Cons: it’s way more work to set up than it should be.
It can only work between 2 zwave devices, and only if the trigger device supports association.
In some cases, the smartthings app may not correctly reflect the state of the trigger device (because the request didn’t go through the hub.)
Also, once you have it set up, it works the same way every time: you can’t break the association with other filters. But again, for a virtual three-way, that probably doesn’t matter.