Also, just to clarify for those not as familiar with the smartthings architecture:
The SmartThings lightify smart switch can be set up three different ways in SmartThings depending on the device type handler you select. Which one you select will depend on the specifics of your own use case.
One) as a zigbee remote. This is the manufacturer’s intended design. The switch is directly bound to individual ZLL light bulbs, and controls them directly without communicating what it has done to the zigbee Coordinator (in this case, the smart things hub). This can work well, but the status will be out of sync until smart things polls the individual bulbs again. And the device cannot be used to control z wave devices, run routines, change modes, etc.
Two) as what SmartThings calls a “button controller.” The Aeon minimote is probably the most popular of these, but there are a number of devices in this class. A button controller has multiple numbered buttons, each with a value of “held” or “pressed.” ( short and long press)
A button controller can be used in the built-in smart things features like smart lighting and can also be used with routines to change modes, activate an SHM alarm state, etc,
The button press information is sent to the hub and the hub then sends out the appropriate commands based on the smartapp/routine being used, which means a button press can control a device of any protocol that can be controlled by smartthings. So you could have a group that included a Z wave outlet, a zigbee bulb, and a WeMo outlet and they could all turn on and off together with one button press.
The button controller device itself is not turned on or off by SmartThings. Like a handheld television remote, the buttons are used to send commands out, but it does not generally receive commands in.
The original device handler in this thread set up the lightify smart switch cover as a button controller.
- as a regular zigbee dimmer switch. The information about on/off/dim would be sent to the hub, and again there would be some smartapp or routine that would cause the hub to send the appropriate commands to whatever device you wanted to use. Normally a zigbee dimmer switch would also actually control the current load to a light fixture. Also, unlike a button controller, a switch can be turned on or off by the hub.
Your use case is not my use case
So why would you define this device as a button controller instead of a switch? Well, the technical reason is that this “switch” doesn’t actually control any current load. Consequently, if the hub sends an on command to it, nothing is going to happen. So technically it’s not a switch. It’s a button remote. In fact, I’m not even sure it can receive an off command from the hub.
But if you do define it as a switch there are a few smartapps where you could then just use it directly without needing additional code. Which might Be useful for some cases.
That brings us back to the issue of A persistent hold to set the dimming level. This should work great with the first method, where this device is directly controlling zigbee bulbs.
As has been noted in this thread, it won’t work with the second method, because button controllers typically only have two durations for each button: short and long press.
As to whether you can make it work with the third method, where you’ve defined the device as a zigbee switch, to be honest I just don’t know. It might work. It comes down to the exact information that the device sends to the hub.
Anyway, I just thought that might be helpful to some people who wondered why this device is set up different ways by different people. 