I received a request to develop a SmartThings Device Handler for the Nexia NX1000 One Touch Z-Wave Control, and frankly was a little intrigued. I had heard of the device, but I had my doubts regarding how well it would work with the SmartThings Hub. I had never written a device handler that was capable of updating the display properties of a device (and as it turns out, quite possibly for good reason), so I decided to give the device handler a shot.
After receiving the One Touch Controller, I was actually pleasantly surprised with its look and feel. Although, as I expected, it has nothing close to the build quality of your standard Apple or Android mobile device, the One Touch will be quite at home on your coffee table or mounted on your wall. When held in your hand, the cover has a little play in it, but it was not extremely bothersome to me. The buttons are easy to push and battery life appears to be quite good.
The One Touch comes with two AAA batteries and hardware for optionall wall mounting. Thanks to the simple LED displays and customizable auto-backlight timeout, my device was only down to 93% battery level after several weeks of fairly heavy use testing and driver development.
Since I do not currently have a Nexia controller, I was unable to evaluate all of its capabilities.
The SmartThings Device Handler
This device handler simply supports using the Nexia One Touch as a simple 15 button controller. Both pushed and held states are supported for all 15 buttons. To make use of the buttons, you’ll also need a SmartThings SmartApp, such as Rule Machine, the newly developed (actually developing) CoRE (Community’s Own Rule Engine), or a Button Controller app.
Edit 15, December 2016: Thanks to SmartThings community member @Tiejaeger, you can now update the labels for the device using this device handler. To set the device labels that you’ve defined in the mobile app preferences, ensure that the Nexia controller is awake, and then apply by pressing the mobile UI configure button for the One Touch. The labels don’t appear to get set correctly every time in my testing, so if there is an issue, you may need to hit configure again. I’ll continue to do more testing, but regardless, since this update to add button labels makes the device so much more valuable for SmartThings users, I wanted to get this out ASAP. Thanks @Tiejaeger! Great work.
When pairing with the SmartThings Hub, you can save a step by first installing this custom device handler per the steps below before pairing. If you’ve already paired the SmartThings Hub with the One Touch before installing the Device Handler, you can change the device type in the SmartThings IDE to the Nexia One Touch Controller after pairing, and it should work fine.
Per the device instructions, to bring up the One Touch Z-Wave menu to access include/exclude functions press and hold the middle page button on the bottom of the controller. If button presses are not working after pairing the One Touch with the Smarthings Hub, access the Z-Wave page on the One Touch again after pairing. This only needs to be done once and has always corrected the issue in my testing.
Device Handler Download Location:
The initial 0.1 beta Nexia NX1000 One Touch Controller Device Handler for the SmartThings Hub can be downloaded from GitHub at:
Installing the Device Handler:
- Login at https://account.smartthings.com/
- Select “My Device Handlers” and select “Create New SmartDevice”.
- On the “Create New Device Handler” page, select the tab “From Code”, and paste in the code from the above link into the IDE editor window.
- Click the “Create” button at the bottom.
- Click the “Save” button above the editor window.
- Click the “Publish” button and select “For Me”.
The Controller device handler is now ready for use.
If it weren’t for the SmartTiles SmartThings web app, I think the SmartThings community would have been clamoring to make this device compatible with the SmartThings Hub. As it stands, I would generally recommend running the (currently free) SmartTiles web client on a spare phone or tablet device or even purchasing a $50 7″ Kindle Fire for SmartTiles use. Even though the capabilities of the One Touch may be much more limited compared to running SmartTiles on a mobile device, there may still be valid reasons to get the One Touch in addition to – or instead of using SmartTiles. Potential One Touch advantages include:
- Extended battery life
- Replaceable batteries
- Easily wall mountable
- Dedicated single-purpose device
Interestingly, the flexibility limitations of the device may actually contribute to one of its strongest selling points. Being a dedicated home automation and control device, there is no confusion about how to bring up the controls, and maybe more importantly, you don’t have to worry about the device growing legs and being repurposed by other family members.
Visit the DarwinsDen.com reference pages for an overview of which controller hubs and devices may be best for your specific system needs:
Hi, is there any chance to use this NX1000 device on my Logitech Harmony z-wave network? (is there an API to integrate others devices to the Harmony Hub Extender)?
You’re awesome! The CoRE app works great. Thanks so much for your help.
What button controller should I use?? I can include the device and use the button controller app to program the buttons but it only lets me program commands for the first 4 buttons. I am assuming the button controller app is build for the minimotes. How do I add functions to buttons 5-15??
Hi Doug. I recommend installing and using CoRE if you haven’t already. It’s very powerful and is fairly simple to use for basic operations. SmartThings recently updated their stock SmartLighting app to listen to the advertised number of device buttons so you can also use SmartLighting now for many switch or lighting operations. Unfortunately, it looks like they still need to update their stock Button Controller app.
Hello, are there any updates to this? Are you able to change the names on the keypad yet? Please let me know. Thanks
Hi Jeremy. Sorry, I have no updates for the device. I have yet to hear back from SmartThings on if and how the Hub supports the Screen Metadata Z-Wave command set. I’ll try pinging again. The last time I checked, the SmartThings Screen Metadata documentation was either incomplete or was not very well supported. I have not been actively using the device while I’ve been waiting for additional documentation on the button labels – so I don’t have any additional data on device performance. I would appreciate feedback on reliability if anyone here has been using the One Touch with SmartThings.
EDIT 15, December 2016:
I’ve updated the Nexia One Touch device handler at the link above to include the code updates from SmartThings community member @Tiejaeger that sets the button labels on the device. Fantastic work @Tiejaeger in figuring out the Screen Metadata command.
To set the device labels that you’ve defined in the mobile app preferences, ensure that the Nexia controller is awake, and then apply by pressing the mobile UI configure button for the One Touch. The labels don’t appear to get set correctly every time in my testing, so if there is an issue, you may need to hit configure again.
I’ll continue to do more testing, but regardless, this update to add button labels makes the device so much more valuable for SmartThings users and I wanted to get this out ASAP. Thanks @Tiejaeger! Great work.