GE 45600 Handheld Remote as SmartThings Scene Controller (Edited: Does not work!)

Edited 01/17/15:

Unfortunately, the method described here does not work. As it turns out, my remote was originally configured as a scene controller using Vera. It’s not possible to do the same using SmartThings hub (not yet at least) :frowning:

Original Post:

There’s been a lot of discussions about using inexpensive GE 45600 Z-Wave handheld remote control with SmartThings.

Up until now it could only be used as a secondary controller to control Z-Wave switches and dimmers. However, it was not possible to send button presses to the smart apps to control other devices, change mode, execute “Hello, Home” actions, etc.

And now you can! This custom device handler provides capability.button and sends button events for each of the 9 remote control buttons.

Note: To send button commands to SmartThings, you must press the “SCENE” button on the remote first (the third button in the top row). To switch back to normal remote control mode, press the “LIGHT” button (the first button in the top row).

In the demo video below I used “Button Controller” smart app found in the Convenience category to kick off “Hello, Home” actions.


I tried this with the button controller smart app, and while it recognizes the remote as a button controller nothing happens after associating button 1 with a light.

Is there also a smart app specific to this remote?

Great work @geko

@geko did you do anything special on your remote to get the scene events to report to SmartThings? When I press a button, when in scene mode, the LED don’t flash on the remote like your video shows and SmartThings never sees the event. I also tried creating a scene on the remote, which activates the LED on a button press, but SmartThings doesn’t see that event either.

I used “Button Controller” app found in the Convenience category. I do have lights associated with the remote, but I don’t think it matters in the Scene mode.

You may have to repeat replication procedure. Can you control and lights with it?

@Geko… You’re a genius!
I’ve always been “up to the challenge” of trying to get this to work, but you beat me to it … perhaps I let the discouraging conclusions from the ST experts hold me back! :-1:

I’ll be taking a closer look at this later; but in the meantime, can I make one feature request?

Per the Enerwave 7-Button controller by @mattjfrank; could you please add a string attribute numButtons (with, I guess, the value “9”, set with a sendEvent())?

His code, for reference:

Adding the numButtons attribute is the first (and perhaps, only?) step required to make your Device Type compatible with my “ButtonsAsPIN” SmartApp – i.e., lets the remote act like a keypad for entering a sequence. Either or both of us can give ButtonsAsPIN a try against your Device Type then!

Thanks! and Congratulations!
…CP / Terry.

1 Like

This is great, I knew it could be done… GE 45600’s will shoot up in price now, better grab one now…

@geko, can you bump up the device type to handle all 18 (9 + 9) button options? Note that when you press Setup button once, it acts like a Shift button to give your the upper 9…

I’m going to try and load it up now… Just install the 45600 normally with the standard “967” code, then go on the IDE site and copy and paste your code, then pull up the device in IDE and change the device type to your’s???

1 Like

When a button is pressed, remote sends Z-Wave Scene Activation Set command which includes scene ID parameter. This parameter is used as a button number, so no change is necessary. Unfortunately, I was not able to generate Scene Activation Set commands for shifted buttons.

I also have the same request, but with a special request: If you do this, I would like those shifted buttons to be transparently handled as Buttons # 10 through 18, rather than using some other shift attribute or qualifier.

I could go into a lot more detail about this – let’s just say I have a pet peeve regarding the current Aeon Minimote Device Handler implementation which uses a pushed or held qualifier instead of just reporting the held-buttons 1 through 4 as 5 through 8. It’s a religious issue. The ambiguity is a result of us entering unclear specifications of “capability.button”.

Anyway. Back to the celebration for now!

Whoops, @geko has it well documented on his GitHub:


  1. Install Custom GE45600 Device Handler

Open SmartThings IDE in your web browser and log into your account.
Click on the “My Device Types” section in the navigation bar.
Click on the green “+ New SmartDevice” button.
On the “New SmartDevice” page, click on the “From Code” tab.
In another browser window, go to the GE45600 source code on GitHub.
Copy the GE45600 source code from GitHub and paste it into the IDE editor window (see Step 4).
Click the blue “Create” button underneath the editor window.
Click the “Publish” button next to it and select “For Me”. You have now self-published your smart device handler.
2. Replace Generic Z-Wave Remote device handler with custom GE45600 device handler

Click on “My Devices” section in the SmartThings IDE navigation bar.
Locate GE 45600 device instance in the installed devices list and click on its name (in the “Display Name” column).
On the device properties page, click the “Edit” button at the bottom of the page.
On the “Edit Device” page, scroll down to the “Type” section and select “GE45600 Remote” from the drop-down list.
Click on the “Update” button at the bottom of the page.

I agree. Actually “pushed” and “held” events are synthetic, i.e. the Minimote actually just transmits button ids ‘1’ through ‘8’ which are converted by the device handler to “push” or “held” events. I think it’s totally unncecessary.

1 Like

Yay! Someone loves me. :blush: (or at least that’s how my ego responds when someone agrees with me).


I loaded up your new device type and changed my currently loaded 45600 device type to yours and updated it on the IDE site, now what do I have to do to actually make something happen? On the Things page, my remote doesn’t have any extra features, can’t find anything to select what to do when a button is pressed?

I tried to do this with a 45601. This remote is slightly different from the 45600 in that it has a 2 line LCD display instead of red and green LEDs. I was able to add it to ST, but I had to find instructions as that part is totally different than the 45600 (if anyone else wants to try, you go into setup, right arrow to Transfer, OK, left arrow to Receive, OK – that’s where ST will see it; same to remove). Once I added it, it did show up as GE45600, so it found your Device Type.

I can add lights to it, so it works as a secondary controller. However, it doesn’t send any button pushes for Scenes. In fact, the display shows Empty for any scene button pushes. Evidently, there is more to this than the 45600. I used the ST Button Controller app, but with no events that won’t work.

1 Like

You can install “Button Controller” smart app, connect it with the remote and assign some actions to buttons 1 - 4 “push” (the app can only handle four buttons).

Also, push some buttons, then tap the ‘Activity’ tile in the device detail view. You should see something like this:

Button 2 Was Pushed                    11:45 AM

Button 1 Was Pushed                    11:45 AM

I also have a 45601 and would like to be able to do this with it.

I found it, With your App, hit the “+” (bottom of dashboard), swipe right to “More”, then pick “Convenience”, 3rd on down is “Use devices with buttons to control SmartThings”, Pick “Install” top right corner, select the red “Button” device, hit the “GE Remote 45600” radio button, “Next” top right of screen, the rest is pretty easy. I was now able to see the Button Control when I select my remote from my things page, then pick smart apps, then button controller. Unfortunatly, the remote is not programmed for scenes, thus not outputting (red/green led) when scenes and a numbered button is selected? Did I miss something on the setup?

I must be missing something easy, no LED response from the remote scenes buttons when pressed and no activity recorded? Do you have to setup the remotes scenes buttons via the remote? ie. Hold Setup, Add, Sceen, Select a button?

Hmm… That’s what @notoriousbdg reported too. I did mess with the remote long time ago, but I don’t recall programming any scenes into it. I do have lights assigned to the buttons that I can control in LIGHTS mode.

After thinking about it, I used this remote as a scene controller with Vera. But when I switched to ST I reset it and included in ST network as secondary controller. So all previous settings should have been wiped out.

One available workaround is to install 9 instances of my App (if I modify the code to allow you to set the PIN Length to 1)… Pushed that change to the HEAD of my “develop” branch at this link: