[OBSOLETE] GoControl Smart Wireless Light Switch Cover WA00Z-1 (see post #135 for 2023 Edge Driver)

Hi and thanks for your help in here.

When I try to add your code as a new smart app from code I get the following:

No signature of method: script_app_metadata_da4c9eae_4ead_48ca_a444_aa7f44937562.metadata() is applicable for argument types: (script_app_metadata_da4c9eae_4ead_48ca_a444_aa7f44937562$_run_closure1) values: [script_app_metadata_da4c9eae_4ead_48ca_a444_aa7f44937562$_run_closure1@69259229] Possible solutions: getMetadata(), getState(), setState(java.lang.Object), metaClass(groovy.lang.Closure)

Any ideas?

Thanks

I’ve had that happen. Try different web browsers or even different computers and that should get it to work.

Also make sure you add as a device handler, not a smartapp

Thanks yet again Tim.
Now I have control for top (button 1 and 3) and bottom (button 2 and 4) with functions (on 100%, on 50%, off, not used).
Is there any way to get the continuous dimming up with top button and continuous down with bottom button?
Jay

If you do a direct association with another zwave device, the controller supports continuous dimming (in holding either button to dim or brighten, or double tap hold for group 3)

If not using direct association, its trickier. I haven’t tried it, but believe it’s possible only in Webcore. That’s because Smartthings doesn’t capture the button release event easily, with pushed and held as defaults. It was discussed here Help with released button -- GoControl Wireless Remote Switch

Basically, you need to program a piston to try and capture the “holdRelease” event, ie when you let go of the button. So, I’d imagine you would program a piston to keep dimming until you let go. Per the other thread, you would capture the release in webcore by “doing a compare to value, using a compare to expression and enter “holdRelease” as the expression (in quotes)”. This is pretty advanced programming though.

2 Likes

Sorry Tim, I’m pretty new at this, how do I do a “direct association”?

First, is the other dimmer a zwave device? If not this method won’t work. Also, if it’s a newer zwave device that uses “s2 encryption” association probably won’t work either.

Take a look at this thread for a good overview of associations . There are advantages and disadvantages to it. FAQ: Zwave Association between 2 devices

See this post higher in the thread for how to program it if you want to give it a try. [RELEASE] GoControl Smart Wireless Light Switch WA00Z-1

Thanks to suggestions from @bradlee_s, I was able to make changes to this device handler to now work with the native automations screen in the new Smartthings app. This means you can now setup automations with this button controler without needing to use the smartlighting app or webcore, so this is a much simpler option for people who don’t want to use webcore or a smartapp, especially for where smartlighting is not available . This is done by programming all the presses either up or down, to “button 1”, and using the new button values of “up, down, up_2x, down 2_x etc” which will be recognized by the new app. I was also able to add a new optional preference that will stop the “single tap” event from always triggering with the “double tap”. This is done by creating an optional delay where before the single press event triggers, the handler checks if there was a double tap.

A couple things though before upgrading, it is a “breaking” change for anyone that was using the two separate buttons, so any automation would have to be updated after applying the code update to use button one and either up, down, up_2x, down_2x etc. There also is no “double tap and hold”, so to capture that I used “up_3x” and “down_3x”. One other minor thing I noticed is webcore is behind the times and only lists pushed and held in its default drop downs, so you would need to do an “expression” and the new values ie up, down, “up_2x” or “down_2x” etc to continue using the DTH in webcore. Screenshots below showing the change. Code available from importing from my github mwav3 smartthingscode master or this link - https://github.com/mwav3/smartthingscode/blob/master/devicetypes/mwav3/gocontrol-wireless-remote-switch.src/gocontrol-wireless-remote-switch.groovy

4 Likes

Down to only 11.99 on Amazon. Just ordered two more.

1 Like

@mwav3 Hi Tim, hoping you can help. I’ve tried everything. I am using your latest (Nov) device handler. I can’t get it to work with either automations, smart lighting, or a button controller. When I look at the device I see battery level and button says standby. If I click the top or bottom button I get a battery refresh but button stays at standby. Nothing shows in the device history. When I look at live logging I do see the scene command coming through but nothing in device history. Any thoughts? I have removed and reinstalled multiple times. When I click a button the device flashes a green light twice, not sure if that is normal. Thanks, Tim

That is really stumping me. If the scene command is coming through your device is definitely included in the zwave network, connected, and in range. I’m not sure why the button events wouldn’t capture. Do you have issues with any other devices? Which hub are you using? I checked my history and all the presseS are definitely there. So the buttons from my screenshot show up as options under automations, but they don’t trigger? You can try first clicking a button on the controller to wake it up, then go to settings, then toggle “force settings refresh/update”. Also make sure control mode is “both” and create delay is set to no. The device handler may have been corrupted somehow. You can try deleting it (will temporarily need to assign a different one to device) then import direct from mwav3 smartthingscode master. If that doesnt work, you might need to exclude the device and then add it back again, but it sounds like you did that. Flashing green twice is also normal. If that doesnt work you can PM me screenshots of the live logs when you press and device page on your IDE to try and troubleshoot more

2 Likes

@mwav3 So I changed the handler to a generic zwave button and the presses were showing. I switched back to your handler and toggled through all of the settings and it started to work. Not sure which setting was the culprit but toggling them all at least once seemed to do the trick. Thanks for your time putting this handler together and helping me today.

2 Likes

It’s probably related to the device caching issue that’s the cause of a lot of different problems lately. https://community.smartthings.com/search?context=topic&context_id=44984&q=Device%20caching%20issues%20order%3Alatest&skip_context=true Thanks your advice how to get around it, I’m sure it will help others.

2 Likes

[EDIT - I FIXED BY ASSOCIATING THE OUTLET PLUG WITH THE SWITCH BY ADDING THE DEVICE NETWORK ID TO ASSOCIATED GROUP 2]
Apologies, I’m a little confused. I’ve configured top button for lights on, bottom button for light off. It doesn’t register an event for a single up or down press. It does register (and change the light state) for double taps.

What am I missing, here?

I had a bug with an if else statement in the code that was causing this issue and fixed it. Latest update should have all buttons working without needing to toggle the preferences. Also added an ocf type to get this to show all the buttons as actions to set right in the device. To get that working you would need to change the device to the generic handler, then change back.

2 Likes

Following this. I updated the DTH. While SmartThing still sees the button presses in history neither button is triggering events. I deleted the SmartLighting activations and redid them and still nothing.

Actually, while typing this I thought of something. I turned off SmartLighting and added an automation on button press to turn light on. Device history of the GoControl shows the button press but the light did not turn on. I am wondering if some update happened to the GoControl.

Does your device history update the events, like in the screenshot below? If not, try to go to settings and toggle “create delay for separate double tap”. You can also try “force settings update/refresh”. Also try assigning the device a stock zwave remote handler, then change it back to the custom one with the code linked above .

Zwave firmware updates are being piloted, but this device has no new firmware so there’s no update possible of the device itself. It has to be an issue with the handler or it caching an old version. Hopefully doing the things above gets it working again.

I get the device updates. I have toggles the settings. Those didn’t change anything. I am not familiar with how to change the handler, I will look into that.

You’ll have to go into the IDE. Go to your remote device, then edit, then under “type” change it to the stock zwave remote and save. Then change it back to the go control remote custom handler. This should hopefully flush out the cache issue

You may also need to exclude the remote and add it back again.

Changing the device handler worked. I like how I can set actions within the button instead of through SmartLighting.

1 Like

I can get rid of the flic buttons now. With the update top button does kitchen. Bottom button does living room.

2 Likes