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.

PARENT APP

Hubitat/apps/Advanced Button Controller (ABC)/Advanced_Button_Controller.groovy at master · stephack/Hubitat · GitHub

CHILD APP

Hubitat/apps/Advanced Button Controller (ABC)/ABC_Child_Creator.groovy at master · stephack/Hubitat · GitHub

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.



*CHANGELOG*

**Update 01/09/22 **
ABC Child App updated to v0.2.220109

  • added support for RMv5 rules. Older versions are considered "legacy". Requires Hub v2.2.9 f/w or higher.
  • Thanks to @bertabcd1234 for guidance with the undocumented RMUtils v5 api.

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).

PLEASE NOTE: (IF UPDATING FROM v0.2.190210 OR EARLIER)
THIS UPDATE CHANGES A SIGNIFICANT SECTION OF THE CODE. YOU WILL NEED TO OPEN EACH CHILD APP AND CLICK DONE.


**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).

PLEASE NOTE: (IF UPDATING FROM v0.2.190210 OR EARLIER)
THIS UPDATE CHANGES A SIGNIFICANT SECTION OF THE CODE. YOU WILL NEED TO OPEN EACH CHILD APP AND CLICK DONE.


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

  • added optional input to disable log.info 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).

PLEASE NOTE: (IF UPDATING FROM v0.2.190210 OR EARLIER)
THIS UPDATE CHANGES A SIGNIFICANT SECTION OF THE CODE. YOU WILL NEED TO OPEN EACH CHILD APP AND CLICK DONE.


**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).

PLEASE NOTE: (IF UPDATING FROM v0.2.190210 OR EARLIER)
THIS UPDATE CHANGES A SIGNIFICANT SECTION OF THE CODE. YOU WILL NEED TO OPEN EACH CHILD APP AND CLICK DONE.


**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.

19 Likes

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.

2 Likes

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?

4 Likes

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.

1 Like

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.

2 Likes

@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:

1 Like

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.

3 Likes

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.