The intent of this Device Type is to replicate the functionality of the Osram Lightify System, under the SmartThings system, locally; without a slow, difficult to configure, remote SmartApp. While this device type works with the typical Lightify Zigbee commands and fires them directly at the lights you choose, It should also support most other non-lightify Zigbee devices, but dimming will only work with lamps.
The buttons are fully functional. All features and statuses can be accessed within the app, and the web user interface.
See the “coming soon” section for planned features.
Replicated Lightify Device Features:
Tap up for on
Tap down for off
Fades from on to off and back smoothly
Always goes back to last brightness - on and off do not change brightness
Hold up for brightness level up
Hold down for brightness level down
Fades Smoothly when rasing and lowering brightness!
Operates with Zigbee commands, so it’s fast and local, no server involvement!
Tap on, when light is on, for full brightness
Tap off, when light is off, for minimum brightness
Supports SmartThings Low Battery warning
Switches are automatically detected as Lightify Dimming Switches in SmartThings App
Controls up to 5-lights.
SmartThings console features:
Current Battery Level
Commanded brightness level
Current button state
SmartThings app features:
Tap on/Tap off
Level adjustment slider
battery level indicator
Refresh button causes all statuses to update including Zigbee battery command
add a new device from the SmartThings app
place the device into pairing mode
2a. If this is a new switch, pull the tab.
2b. if this is an existing switch, remove the battery, wait 10 seconds, then replace
go through in-app configuration and hit done.
In the Web User Interface, under Device Preferences for your new device, enter the “Device Network ID” and “Data-endpointid” (found within the light/device to be controlled settings)
Thanks so much for doing this. I just upgraded from your previous version of switch, which seemed to be working well. Now, it doesn’t seem to control my devices (Osram bulbs). I even re-added the switch and reassociated the device IDs, but no luck. It does register most commands, but it does not recognize the off command (from either the switch or app).
Also, I believe ‘2b’ in your installation directions should be to hold down both buttons until the switch led flashes blue.
@adamoutler - So I installed your latest update. Now I can control the three bulbs from the ST app. However, now I can’t do anything from the physical switch. Unlike in my last post, button presses do not show up in the device event history. I went ahead and re-paired the switch and reassociated the addresses and endpoints and it is the same thing.
That’s odd. I have deployed 7 switches in my house and I have 3 more to go. I will make sure I have logging enabled appropriately and update you on Wednesday. I am working late tonight so I will likely not have time to play with my smart home.
@adamrouter - So, I tested a bit more, and the issue is definitely with the button presses not registering in SmartThings. I un-paired the device, rolled back to a previous version of your code (release notes say “Added battery support. Added dimming support”), re-paired, and button presses do register in SmartThings. So, I un-paired, reloaded the current code, re-paired, and again, no button presses are logged in SmartThings. Is there a step I am missing?
For debugging, you might want to try un-pairing (hold down both buttons at the same time until blue light flashes), loading different code, and re-pairing. It’s not a big pain since you can see the behavior without the hassle of the device ID associations.
Hopefully, this helps. Thanks a bunch for making this switch even more useful!
As a hacky workaround to me not having time, I added a configure button in the IDE. I was able to cause the device to pair after some combination of button presses (physical and IDE) and battery removal. It’s not ideal, but it works until I have more time which will be tomorrow or the next day.
Please try pairing now. It should configure properly. On a new and unpaired switch, I had to change it manually from a zigbee button power to this device type. Please see if you can reproduce my results.
Ok. So I unpaired the switch and tried pairing it using the new code, but it wouldn’t pair. So I used your old code, paired it, updated to the current code, manually changed the device type from “ZigBee Button” to “Lightify Dimming Switch- Zigbee”. Now everything seems to work great. So that’s good news.
I tried un-pairing and trying to re-pair using the new code, but still couldn’t get it to pair. So the’ load old code, pair, load new code, change device type’ sequence is the only thing that worked for me.
I made some changes over the last few days. Nothing operationally major, but the binding is now fixed. Here’s a change list.
Switched to SmartThings Zigbee initialization routines
Handling all messages which are able to be reproduced (about 6 more than previous)
Created a daemon that will repeatedly initialize the switch until it detects the following messages
**Binding of Network successful
**Binding of buttons successful
**Binding of dimmer successful
Prevention of runaway dimming when both buttons are pressed
Middle button re-performs pairing
I Started on-off tapping sequence work. The code is operational, but performs no operations currently. I need to figure out how to properly implement it. The rest is solid and all issues to-date are handled.
@adamoutler, FYI, your device type fingerprint includes the manufacturer and model parameters and from my testing the switch will not automatically associate with the device type with those parameters specified. I did not do a lot of investigation since commenting those parameters out is what worked for me so thought I would let you know since people seem to be running into that issue.
Hi Motley, that string pretty much worked. I had to adjust from this: model: "Lightify 2.4GHZZB/SWITCH/LFY" to this: model: "LIGHTIFY Dimming Switch" and after that, all is detected properly, but the device wasn’t always picking up the ST bind commands properly. So, I set up a daemon to run every 5-seconds until all binding responses are received.
adamoutler - Thanks for the work. Love everything you were able to do. The is really great what you were able to figure out.
The response is solid for on and off, nice and quick. The dim up and down work good for me about 50% of the time, but sometimes it is delayed too much cuasing it to act weird. The lights brighten or darken too long after I start to hold it at times, so I never now when to release the button to stop the dimming. It usually just turns off or to 100% because I hold it too long since the lights don’t dim fast enough. I assume its because of a sluggish Zigbee network or the hub slow to respond. I wonder if there is a way to add a delay in there so the lights have a chance to catch up? I started to look at the code you wrote, I will have to mess with a bit.
The other problem I keep having is my damn lights fall off the network and come back with a new network ID. I even just updated my Osram bulbs with the latest firmware and it still happens (although much less often). Just this morning the switch I set to use your code had a bulb that stopped working. I had to go in reset the Network ID to its new one. I could never figure it out, but I wish we could find a way to use the Zigbee ID or Name rather than the network ID which never change. I actually went back to using SmartApps to response to pressed/held returns because of this problem.