Advanced Button Controller (ABC)

Thanks for confirming. The ABC app is still my weapon of choice, though, as I'm using the Dimmer Increase Level and Dimmer Decrease Level options rather than the scenes. I think it will actually work better for my wife's use-case, so ABC win again. :smiley:

2 Likes

I've got kind of an odd issue. I just bought some Hue Dimmer Switches, and they pair reporting a state of "numberOfButtons : 1". I presume ABC takes this state to determine how many buttons to show, but the device has 4 buttons accessible through the current built-in Philips Dimmer Button Controller driver. These are registered totally normally in Rule Machine, but seem to be completely inaccessible in ABC. Am I missing something? Is there a way to force ABC to show more buttons than it thinks a device has to map?

Yes, in the Advanced Section at the bottom...

2 Likes

You're my hero! I'm not sure if that was there in the old app version I was running until about 2 minutes ago, but it's there after the update. Thank you!

2 Likes

For shade control can you add support for either..

  1. Allowing set position to accept -1 as a position to fake a stop, which may work with the default Z Wave shade driver in some cases
  2. Support stop as a command for shades

This will allow a manual stop to occur for the likes of a button that is held.

I did a quick hack for #2 for the child driver

[id:'newShadeAdjust_', sOrder:29, desc:'Adjust: ', comm:adjustNewShade, sub:"valShadeAction", sub2:"valSposition", type:"hasSub", subType:"enum", sub2Type:"number", subOpt:['Open','Close', 'Set Position', 'Stop'], secLabel: getFormat("section", "Shades (Open/Close/Position/Stop)"), cap: "capability.windowShade", sTitle: "Action", s2Title:"Position", sDesc:"", s2Desc:"(0 to 100) *applies to Set Position Only", s2Initial: " ", mul: true, s2NotReq: true],

def adjustNewShade(devices, action, position){
log.info "Sending ${action} to: $devices"
if(action=='Open'){devices.open()}
if(action=='Close'){devices.close()}
if(action=='Set Position'){devices.setPosition(position)}
// WB Added this for the Springs Window Fashions shades driver
if(action=='Stop'){devices.stop()}
}

Thanks

stop() appears to be a custom command on the Springs Windows driver you are using. It isn't listed as part of the windowShade capability. I'm willing to update the shade section of the app but only to be compliant with the capability. As you can see below, there are startPositionChange() and stopPositionChange() commands available. I can add these but it won't do anything for you if it's not implemented in the driver. Let me know if the author of the driver is willing to add this to the driver and PM with a link to the driver after it has been updated. I will then update the ABC app to support it but I'll need you to test it out for me before I post it officially. I don't have any shades to test myself.

WindowShade

Device Selector

capability.windowShade

Driver Definition

capability "WindowShade"

Attributes

position - NUMBER, unit:%

windowShade - ENUM ["opening", "partially open", "closed", "open", "closing", "unknown"]

Commands

close()

open()

setPosition(position)

position required (NUMBER) - Shade position (0 to 100)

startPositionChange(direction)

direction required (ENUM) - Direction for position change request ["open", "close"]

stopPositionChange()

1 Like

Let me ask them if they could add the stopPositionChange as a clone of the stop command.

Thread for that is here [RELEASE] Springs Window Fashions Sheer Shade Driver - #10 by wbevan

I will try to add sometime this week and PM you to test.

Sounds good

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

1 Like

I have used the ABC with Legacy Rule Machine and works fine. However I can't configure ABC to use the new Rule Machine. Help needed.

I quickly skimmed the post about the RM 5.0 but saw nothing regarding API changes. Can you be more specific as to what your issue is or what errors you are seeing in the logs if any?

Here's the screen capture on the Rule and Actions section. There is NO option to select in the drop down list.

FYI when I was using Rule Machine Legacy (which I have now removed), I used to be able to find the Rules in the drop down list here. With Rule 5.0 now, there is nothing on this drop down list (see screen capture).

@stephack I see what he is saying. I just fired it up and the app is only populating the RM 4.1 rules and I do not see any of my RM 5.0 rules.

It doesn't look like RMUtils.getRuleList() is grabbing them. Maybe a new 5.0 API that is not documented yet????

Possibly. @bravenel thoughts?

RMUtils has not been updated for new Rule Machine. We will get that done shortly.

2 Likes

@taysnet @spalexander68 :point_up_2:

3 Likes

Is it possible to push a specific button on another device? I can't seem to find it. I'm trying to push buttons on my lutron bridge for setting preset light options.

**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
2 Likes

Did anything more ever become of this? I have 2 GoControls and just got a LiftMaster/MyQ and from most other apps virtual switches etc I get the individual directions that I choose Up/Down (don't think I get stop) everything functions individually as macdenewf says including the lost state or function when I hit any button too many times) Is there a way to add an option like what was done with locks (Lock/Unlock) and add the ability to select open/close

But this ABC app is amazing and has simplified so many things.. thank you
PS I know there is reasoning for the button naming convention eg all being labeled pushed but is it possible to add custom labels? I have a fibaro FOB and its great but with 30 different button combinations its hard to remember what function they do when setting up.. lol.. no biggie just a thought

thanks