Advanced Button Controller (ABC)

For changelog, please scroll to the the bottom of this post.

This is a port of my smartThings app. If you have used the ST version then this should be very familiar. Of course all the devices options listed have not been tested since they are not yet available with Hubitat.

This app takes advantage of the new doubleTap events available for button controllers as well.



See a few screenshots below.

Main Page (if **NOT** running latest version..notice **UPDATE** text with link back these update notes)

Main Page (if running latest)

Child Setup Page

The rest are the Button Config Page.


**Update 09/03/21 **
ABC Child App updated to v0.2.210903

  • added new garageDoorControl capability with distinct open/close actions
  • original Garage Door section is now Legacy Garage Door

As of v0.2.201002 - If you have previously configured any locks, you will need to edit that button and chose the action you would like performed (lock or unlock).


**Update 08/15/21 **
ABC Child App updated to v0.2.210812

  • added optional input to disable statements to reduce Hubitat Log traffic (Dan Ogorchock)
    Thanks @ogiewon

As of v0.2.201002 - If you have previously configured any locks, you will need to edit that button and chose the action you would like performed (lock or unlock).


**Update 06/17/21 **
ABC Child App updated to v0.2.210617

  • added support for stopPositionChange() and startPositionChange(direction) to comply with windowShade capability

As of v0.2.201002 - If you have previously configured any locks, you will need to edit that button and chose the action you would like performed (lock or unlock).


**Update 10/02/20 **
ABC Child App updated to v0.2.201002

  • split Ramp section in 2. Original is now called Ramp(Auto Stop on Release) and there is also a new option called Ramp (Manual Stop) allowing start and stop via different buttons.
  • added the ability to unlock locks since this was added as an option to the HE built-in apps.

If you have previously configured any locks, you will need to edit that button and chose the action you would like performed (lock or unlock).

**Update 03/01/20 **
ABC Child App updated to v0.2.200301

  • added ability to control windowShade devices under "Shades" menu option)
  • original shade control (doorControl) moved to "Garage Doors/Legacy Shades" menu option

**Update 02/26/20 **
ABC Child App updated to v0.2.200226

  • Forced initialization on hub restart to avoid delays on "first activation". Thank you @ogiewon for the suggestion.

**Update 11/05/19 **
ABC Child App updated to v0.2.191105

  • Added Previous Track option for Speakers

**Update 10/06/19 **
ABC Child App updated to v0.2.191006

  • Added Auto as option under Set Fan Speed

**Update 08/14/19 **
ABC Child App updated to v0.2.190814

  • Send simple Http Requests (POST or GET - form encoded)

**Update 05/18/19 **
ABC Child App updated to v0.2.190518

  • Speech notifications now allow random messages to be sent (Use ; to separate options)
  • cycleFan modified to no longer use numeric setSpeed values as this may be deprecated by HE for future fan devices

**Update 04/29/19 **
ABC Child App updated to v0.2.190429

  • fixed small UI bug handling '0' level values
  • updated adjustFans method

**Update 02/19/19 **
ABC Child App updated to v0.2.190219

  • rules api bug squashed

**Update 02/18/19 **
ABC Child App updated to v0.2.190218

  • fixed minor error retrieving Rule Name

**Update 02/17/19 **
ABC Child App updated to v0.2.190217

  • updated Button Description for rules to show Rule name instead of Rule number
  • Button Descriptions device list will now be surrounded by [ ] for better visibility
  • Action details are now stored in a state value to allow for better efficiency

**Update 02/10/19 **
ABC Child App updated to v0.2.190210

  • Set Color level field is now optional (can be left blank to retain current level setting)

**Update 02/07/19 **
ABC Child App updated to v0.2.190207

  • fixed Set Color bug (missing "level" input)

**Update 01/14/19 **
Both ABC Parent and Child Apps updated to v0.2.190114

  • updated logging output to appropriate type (info vs debug)
  • added input to enable/disable debug logging in child apps (under Advanced Config)
  • added Hubitat Import URL to the top of the parent/child apps
    (Thanks for the feedback and suggestions @csteele)
  • update checking code is now done through json files (Thanks to @Cobra for his guidance)

**Update 12/19/18 **
ABC Child App updated to v0.2.181215

  • added support for the new Rules Machine API (Run,Stop,Pause, Resume, Evaluate, Set Boolean True/False)
  • Gui refinements - changed color scheme to match Hubitat 2.0 changes.

**Update 10/12/18 **
ABC Child App updated to v0.2.181024

  • added the ability to cycle through Scenes (done using push() command and cycles in alphabetical order only)
  • Gui refinements

**Update 10/12/18 **
ABC Child App updated to v0.2.181012

  • adjusted "Set Mode" to comply with mode related updates in firmware 1.1.5

**Update 8/01/18 **
ABC Child App updated to v0.2.180801

  • added Hubitat Safety Monitor Control (created new MODES section for Set Mode and Set HSM)***
  • added level to setColor() for full HSL compliance***
  • removed ability to choose multiple modes in Set Mode
  • minor display bug fixes

**Update 7/03/18 **
Please note that the ABC Controller Parent App has also been updated this go round.
It is a cosmetic update that adds icons and I have readded the version checker that was available previously in Smartthings. (If a new version is available the Main ABC Icon will change to an UPDATE Icon.

ABC Child App is now v1.0.20180703

  • code cleanup
  • Added pictures enhancements and reordered options for better flow
  • Corrected default child app label (previously defaulted to "ABC Button Mapping" on first save)

Update 7/01/18:
v1.0.20180701 of ABC Button Mapping Child App

  • added Released actions for all control sections
  • pushed/Held/DoubleTapped/Released hidden from Dimmer Ramp section based on devices capabilities

Update 6/30/18:
v1.0.20180630 of ABC Button Mapping child app

  • adapted fan cycle to be compliant with fanControl capability (removed cycle support for custom driver)
  • added ability to set specific fan speed.
  • added support for ramping (graceful dimming) - switch/bulb needs changeLevel capability and button device needs releaseableButton capability.

Update 6/02/18:
v1.0.20180602 of ABC Button Mapping child app

  • added support to cycle fan speeds using my custom Hampton Bay Zigbee Fan Controller driver.

Update 4/21/18:

  • Added playback control support of new Sonos Player devices.

Update 3/28/18:

  • Added ability to set color (h,s) and color temperature.
  • Tested with Lifx using my driver and the built in Hue driver.

**Update 2/12/18: **

  • App updated with 2 parts. Please install the parent app first..then the child.

How to use double tap and hold switch capabilities?
Quick Demo of Lutron Pico and Hue Groups, All Local Connections
Lutron Pico
Homeseer 200 Dimmer doubletap
First Item - Ceiling Fan
Cycle through Scenes with Pico
Bulb Color and Color Temp App and psuedo Devices
Samsung Buttons
Turn off debugging? How?
Turn On & Set Color Missing?
Why was Button Controller Deprecated
Button Controller Hue Remote Dim Setting
Lutron Pico remote toggle light issues when light dimmed
Embarrassing lighting question
Lutron integration - Pico Pushed/Held vs Pico Pushed/Released option at setup
Button Controllers throwing Javascript error (Zigbee Button + Zigbee dimmer)
Pico 5 Button remote - button 5 doesn't show "Pushed"
Hubitat App/Driver Awards 2020 - Candidate List
Pico Favorite Button - Cycle Through
Lutron Caseta Pico Remote issue
Fan control via Lutron Pico for non Caseta fan switches
Can we please get the (re)new button manager?
Any use cases for "Start Level Change" and "Stop Level Change" functions?
Button Controller app appears to be retired
Ecomsmart Remote with zigbee2mqtt
Slow Pico
Bad Button Device Mapping in abc (Unexpected Error)
Ikea Symfonisk remote! On French Ikea. Zigbee!
Lightify 2 Button Dimmer Switch Model 73743
Cycle Speed on Hampton Bay Fan Controller
Cycle Fan Speed on Hampton Bay Fan Wink Controller with Pico Remote
Philips dimmer switch
How do you combine commands in RM?
Using Pico with Sengled Bulbs
Xiaomi / Aqara ZigBee device drivers (possibly may no longer be maintained)
Problem adjusting Lutron Fan Control speed via Pico w/ Button Controller
Community Apps
Cube mode
Maker API and Shortcuts app for iOS
Remotec ZRC-90
New to Hubitat, Coming from SmartThings, Confused o.O
Two HB Fans Synched By One Pico Remote
Lutron question
Lutron question
What are you doing with Lutron Picos
Replacing light with fan
Does Button Controller support more than 5 buttons?
Build 702, "Fast Pico driver"
Remotec ZRC-90US
Quick Demo of Lutron Pico and Hue Groups, All Local Connections
Quick Demo of Lutron Pico and Hue Groups, All Local Connections
Smart Switch that doesn't require a neutral?
Button Controller Issues - Aeotec NanoMote Quad
New Philips Hue Dimmer Switch
Button Controller not letting me create an Action
Logs say on, device says off, bulb is actually off
Controlling Zigbee Lights with Pico Remote via Lutron Pro Bridge
Button Controller 3.1 - Error
NullPointerException using ButtonController (
Sengled button giving no options in button controller app
Problem Mixing Zooz and Inovelli Actions in Rule Machine
Lutron RA2 Select - HE C7 -Picos - getting started?
Getting fed up with hubitat
Several beginner questions: Remote access, Scenes, Buttons, Schedules, etc
Recommend a clicky/tactile button or switch
Ability to edit actions in RM without having to erase the entire expression
Wallmote quad
Problems with Button Controller
CoControl Wall Switch control
SmartBulbs in lamp - Button Suggestions
[Release] Logitech Harmony Hub Driver v0.1.20210725

Doh if you had only posted this 2 hours ago as I just removed a minimote from ST and used the stock Hubitat app. Will definitely set it up again as I like your app.

1 Like

I’m really amazed how much development has been going on here. It’s exciting. Now I just have to get my hubitat delivered so I can start playing with stuff! Does this work with the pico remotes for caseta too?


The picos are supported natively by Hubitat and work with any button controller app including this one…and the response time is fantastic compared to Smartthings.

The Lutron Integration was the deciding factor for me with this hub. While Nate did a great job with his smartApp, it wad a bit if a pain to troubleshoot. It works out of the gate here :sunglasses:

EDIT: as patrick stated below…I forgot to add that the Lutron Pro hub is needed for the integration to work.

Right now you would need to load a new instance of the App for every remote you configure. Hopefully they release details on how to setup parent/child smartApps soon.

EDIT: DISREGARD ABOVE. Parent/Child Apps are supported…ABC App updated with Parent/Child setup

1 Like

Picos will work just fine if you use the smart bridge pro integration we have built in (or Radio RA2).

Depending on the Pico, it has up to 5 buttons. I use them in several locations in my house to turn on groups of lights, and other things.

I got my smart bridge pro on Fri. :slight_smile: Good on that front.

1 Like

Apparently I misunderstood a previous post. Parent/child apps are supported. I will be updating this app shortly to allow creating multiple instances under one parent app.


@stephack Did you update your code to leverage parent/child apps? I was about to give your code a try, but happy to wait.

I did but I’m not at home and want to test it before posting. One of the small drawbacks of local system :). It should be up in an hour or two and I’ll update this thread when it’s ready.

1 Like

See if your router has a VPN option. My Asus does and it has been a savior on many occasions especially when I forget a work file while traveling!

Not yet…I have an Eero and this has been on their feature request list from day 1.
I also don’t plan to open outside access to my home network till I can do my research and do it safely and securely. If this hub becomes my primary HA solution I might have to escalate that research :slight_smile:

I tested the new parent/child apps and it works but found that there is at least one difference with how this hub initially creates the parent app. While it’s far from a deal breaker, I reached out to @bravenel to see if this is by design or if there is some tweeking needed.

App updated with parent/child format. Please let me know if you find any bugs

1 Like

So far it’s working for me! SMS’s notifications work, they didn’t with the built in controller app.


So far so good, thanks! One issue which is unrelated to your code is one of my v1 minimotes works fine for a day and then no longer works. I never upgraded the firmware on this remote. Have you had any similar issues? This remote worked fine for years on ST.

1 Like

I have my minimotes packed away in a box somewhere. They were replaced with Picos and actionTile tablets.

I’ll dig one out and test it. I’m pretty sure I upgraded the firmware on these when I first got them so I would recommend you do that as a test as well.

Thanks for the feedback. I just updated one of the remotes and will try it over the next few days to figure out if its firmware related.

I have the V1 with the new firmware and it’s working but you have to press the button a couple of times to wake it up after a long idle.

Unfortunately my upgraded minimote doesn’t work this morning. :disappointed_relieved:.

@JDRoberts, since the minimotes can be a second Zwave controller, do they have to be directly connected to hub versus connecting through Zwave repeaters? I have a U shaped home and my hub is dead center under the front stairs and my bedroom is on the same floor at the end of the U. I have many GE switches between the hub and the minimote that support the mesh. This remote worked fine in ST. Only difference is not every device has been moved to Hubitat yet, but again everything between the hub and my bedroom has.

Download the Hubitat app