I have recently bought the Smartthings hub, and am trying to create a new device type.
The device that I would like to add is the Z-Wave Secure Wall Controller made by ZWave.Me. It is a battery operated device that has 4 buttons. The buttons can be used individually or as part of dimmer sets.
The device doesn’t actually do anything other than have these buttons that can be used either to control zwave devices or scenes.
This is very very similar to the Aeon Minimote which Smartthings comes ready to connect to. The only differences is the modes of operation, the fact that this is a z-wave plus device and the form factor which makes this ideal to place on a wall.
So what I want to do is create a device handler to correctly handle this device so that I can set the buttons to control lights, routines, blinds, and sockets… basically anything that is connected to Smartthings. Probably using the button controller smartapp that comes pre installed.
I have found similar device handlers (I have put in “” as am limited to 2 links as this is my first post!):
Unfortunately thats really as far as I have got - because my coding skills are non existent.
Is there anyone here who can point me in the right direct to get this set up? I’d really appreciate it.
and - as a side note to Smartthings… don’t most modern Z-Wave devices declare their capabilities when they are included in the network? It doesn’t seem right that users should have to go through this to add a device when it is a device that is as simple as containing 4 buttons!! Does Smartthings plan to update the ZWave component to better handle devices generically?
One important aspect here is whether this device is considered a controller and/or secondary controller. If it is, it may simply not be able to communicate the way you want it too.
My understanding is that secondary controllers do not report button presses to the controller. They aren’t designed to communicate with the controller (Hub) except when initially pairing and getting the device list.
For example, I have a couple of Intermatic remotes for my kinds in their rooms. The remote, after initial setup, never talks to my ST hub. Instead if send on/off or dim up/down commands directly to the individual end devices.
The AEON minimote is a bit of a different animal. It can act as a controller, but it also can act as an end device and report when a button is pushed to the controller (hub) vs. sending commands to end devices.
So the question is: Is this device, like the minimote, a hybrid device that can act both ways? That’s definitely a question for support, though I’d guess that it probably only acts as a controller/secondary controller.
[quote]Activation of Central Scenes (parameter 11…14 = 8,Default) Z-Wave Plus introduces a new process for scene activation - the central scene
control. Pushing a button and releasing a button sends a certain command to the central controller using the lifeline association group. This
allows to react both on button push and button release. This mode implements communication patterns 6 but requires a central gateway
supporting Z-Wav Plus.[/quote]
So it appears that Z-wave Plus adds some extra stuff here where “secondary controller like things” can communicate with the primary controller (hub). The v.2 hub is a Z-wave plus devices, so maybe there is some hope here after all.
If i’m reading the manual correctly, a devicetype shouldn’t be required to get it to work. Once it’s paired to the hub you should be able to program each button to control a device similarly to the GE 45631.
Officially zigbee has clusters. Z-wave has command sets. SmartThings tries to mush them together into one paradigm, so it says everything has clusters, but it’s still really important to understand that zwave command sets do matter to the performance of individual devices.
finding out what command sets a device supports
The single most important thing to know about any zwave device is what command sets does it require. You can find this out for any certified zwave device by going to the Z wave alliance products official site and looking up its “conformance statement.”
SmartThings is a zwave controller certified for the “basic” command set. It does not support several of the ZWave command sets, including controller replication.
Consequently, any device which requires those command sets cannot be used as the manufacturer intended with SmartThings.
the “button controller” hack
You may be able to hack it by essentially treating each individual button as a contact sensor but you will only be able to do that if the device reports those button presses to Smartthings. Which not all of them do.
assiciation groups. One works, multiples don’t
When they do report it, it’s almost always through an association group. Then we run into an additional problem which is that the SmartThings hub will only put itself into one association group. However, many recent devices make use of multiple association groups, reserving association group one for one set of functions and association group 2 for a different set of functions, etc.
The minimote works with SmartThings because it uses only one association group and it reports all button presses to the hub in that association group. That’s unusual.
Why do some people report they have GE scene controllers like the 45631 working with SmartThings while other people say it doesn’t work at all?
Scene controllers like the GE 45631 that have limited integration with SmaryThings can be recognized by smartthings as a “thing.” But the scenes have to be set up by a different controller (not SmartThings) which does have support for the scene command sets. When you do it that way, you can have button pushes on the scene controller device control various zwave end devices, typically lightswitches, but SmartThings will be unaware of those status changes. So the people who have it working are usually people who already have the device is working with a different controller, like Vera, before they ever bought SmartThings. Then when they moved it over to smartthings, the scene information was already programmed into the 45631.
However, if you buy the scene control device new and you do not have another controller to use with it, You might not be able to set up control of the end devices.
Also very important if it is this kind of a scene controller, you will not be able to assign the buttons to control zigbee devices or change modes or run routines like you can with the minimote. You will only be able to get local control of other zwave devices.
This is why when you search the forums you see different people reporting different results for the use of zwave scene controllers. Maybe they got it to work by using association. More often they got it to work because it was a device they already owned and they had already set up the scenes in it with their prior primary controller.
I was hoping that because the device can act as a scene controller that those commands would get sent to the gateway (in this case Smartthings) and would capture the button presses.
I am not going to give up on this - simply because if I cant get buttons to register with Smartthings then I can pretty much conclude that that the do-it-yourself smarthome market is just not ready for the primetime.
Am I right in thinking the following:
I need to associate the Smartthings hub with the controller under 1 association?
I have already got the device included in the network - anyone care to explain the difference?
Zwave plus introduced a new kind of scene command set called “central scene IDs” as opposed to the previous “predefined scenes”.
However this is not part of “basic” operation and I’m confused about whether the SmartThings v2 hub supports either of these methods of scene control, although it is a Zwave plus certified controller. None of the scene command sets are listed on the conformance statement for the hub. But they are listed in the developer docs.
If the hub does support zwave scene control, there shouod be some method in the mobile app for setting up scenes and giving them IDs. And that just doesn’t exist. So I’m totally confused.
In the past, the philosophical position was that since Z wave command sets for scenes could only be applied to zwave devices, they didn’t fit the SmartThings approach, which was intended to let the customer mix-and-match Z wave and Zigbee devices without having to keep track of the protocol for each device.
@duncan could verify one or the other whether either “predefined scenes” or “central scene IDs” for Z wave devices are fully supported by the V2 hub.
(@Jim , at some point the explanation about zwave scene controllers should probably be added to the documentation. It confuses a lot of people, not just me. Is the documentation implying that we can create a smart app that will handle central scene IDs, even though they’re not part of the mobile app UI? If so, how would you ever know what scenes you had already set up?)
From my limited understanding - looking at the supported command classes on the z wave alliance site - both the wall controller and smartthings support the multichannel association class - does that that at least this is possible?
Joining the network means that the device is ready to talk to the smart things hub. It has an individual network ID, smartthings knows what type of device it is.
“Association” is a Z wave concept which was originally created to allow a specific subset of Z wave devices on the same network to talk directly to each other without having to go through the hub first. That was back in the days before people looked much at dashboard-type display screens. So it didn’t matter if the hub didn’t know exactly what status light switch was in. It was really intended to reduce lag.
Over time, this evolved to have a number of other uses. For example in a security system there might be something like interconnected alarms where one alarm going off would tell all the other alarms to also go off. All of those alarms would be put into one “association group”.
And then there are “scenes.” Originally used just for lighting, this was how you might have six lamps in a room, have a wall controller with four buttons, and assign different combinations of the lamps to different buttons. Or different dim settings to different buttons.
So basically associations are just communication groups that you set up for specific use cases. All of the devices are on The same Z wave network. If you want the hub to know that A command was sent to a particular group, you include the hub in that group so it gets the message at the same time.
The SmartThings hub automatically adds itself to association group 1 when a device that supports association joins the network. If this is inappropriate for your device type, your device handler can use AssociationRemove to undo it. To associate to a group higher than 1, the device handler can send AssociationSet. The hub’s node ID is provided to device handler code in the variable zwaveHubNodeId.
Following this with interest - i’m getting a bit stuck on how we in the UK/Europe (or anywhere else with 2-wire setup) can get a good setup that controls lights sensibly e.g. my kids and better half can turn lights on manually as well without having to have an app (which doesn’t allow multiple users at the moment)
Part of me is regretting not just going for the LightwareRF set which seems to let you do this with no neutral - hence looking at how I can add remote wall switches as well for manual override. The product set for zwave seems to be very geared to the US and/or 3-wire with neutral setups.
I don’t want to have to rewire the house to get “sensible” lighting control for the family.- hence if we can get these type of wall remotes to work (and control via the hub preferably) then may be a suitable compromise.
This particular device is battery operated, but it does not actually control current to any specific fitting, so it doesn’t solve the problem of not having a neutral at the light switch. It can’t an replace existing light switch; it’s basically the same as taking a handheld remote and sticking it on the wall. It’s just a nice shape for that.
In the OP can get this specific device working as a button controller, then you could use it to control smart bulbs, like Hues or Osram Lightify. But if it can only be made to work as a Z wave scene controller like the GE 45631, then it’s not going to help much as far as the two wire issue.
There are many topics in the forums that discuss what to do when you don’t have a neutral wire at a light switch. I don’t really want to hijack this topic, so let’s continue that discussion in the following topic:
The great thing about this kind of device is that it requires not wiring whatsoever - In theory it should be super versatile and control practically anything.
It solves the problem because the lights can just be LIFX/HUE etc etc the buttons shouldn’t care or know what they control.
It is not unique - I have found other similar devices:
But we need to get the damn thing to talk to Smartthings! Otherwise it’s useless.
So far what I have:
Both devices (Smartthings and ZWave.Me WallC-S) support Multi Channel association
Smartthings can change it’s association in the device hander in the IDE
The ZWave.Me WallC-S supports sending central scenes to the gateway
Anything I should try in the IDE?? - any pointers would be appreciated. If we can just get one button to register it will be a real win. I cant think of any normal user of smartthings who would not benefit from being able to put buttons on the wall to control stuff - and I question the usefulness of the entire platform without this capability!
I personally like the smartenIt 3 toggle switch, which is battery operated and can be wall-mounted or tabletop. It is a Zigbee device, but works just like a minimote with smartthings. But it only has three buttons and a lot of people may want more.
I know at one point @Tyler was looking into multibutton wall-mounted devices, but I don’t know what conclusions he came to. It’s challenging to find devices that will work in a way that makes sense for a multiprotocol installation.
The other option that a lot of people use is a wall-mounted tablet dashboard like http://www.smarttiles.click
I’m not sure what’s available in Europe, but here in the US you can also get a Wi-Fi phone with a touchscreen for under $20 (no activation required to just run it on wifi) and put a simplified version of the dashboard on that. So the Dashboard options fill in the gap for a lot of people.
At this point you need some device handler writer experts to help. Since I use text to speech (i’m quadriparetic with limited hand function), I can’t really help with code specifics. Trust me, you do not want to deal with groovy via text to speech.
@tgauchat is a master coder who’s done a lot with zwave button controller devices, as has @codytruscott , maybe they or others with similar experience can chime in.
That product: smartenIt 3 toggle switch - does it use the 2.4 GHz Zigbee or the localised frequencies? Because if it’s using the worldwide frequency I’d be able to use that in the UK and we’ll be done here!
I’ve looked into mounting the tablet and using the site - the problem is that this is like using a sledgehammer to crack a nut - I’m sure that it would look lovely in the lounge - but what a waste of energy having that on all the time… and what about in say a toilet! - most places just require a button!
@tgauchat & @codytruscott - If you guys know about this - or wha I should do, let me know!
Unfortunately - that’s a no goer - to get one in the UK will be minimum $75. If it works - I’d need maybe 7-9 for the apartment - suddenly I’m spending an awful amount on switches!