Advanced Button Controller (ABC)

@stephack have you been busy improving this ABC over the ST version or what?! Awesome man. Got a quick question. Been setting up another Pico controller (5 button) and wanted to cycle through the 3 fan speeds on a GE Fan Switch (Dimmer style) just using button 3. I am getting this error so I am thinking I must not be understanding how to set up the action correctly in ABC. I thought that was what Cycle Speed (Legacy) did but I am getting this error.

Which driver are you using for the GE fan switch? The native one?

I believe so... I will check

UPDATE: I think it picked this device driver when it was included. Don't know what the difference is between it and the Generic z-Wave Dimmer

I don't think the driver is the issue (it might be but I doubt it). I don't have a legacy zwave fan to test with...so I guess you are the first person in HE to try one with ABC. Welcome to the beta club :wink:

I also don't think you are using the latest version of my app but I haven't changed that section of code since I ported to HE.....I just don't have the exact line numbers to give you.

Try this...in the adjustFan() method, a couple lines above at line 428 there should a a line that reads
def currentLevel = device.currentLevel

Change that line to
def currentLevel = device.currentLevel.toInteger()

If that fixes it, I will update the app sometime this week and include that change.

Cool I can help ya man! FYI: I haven't updated to the latest because I wasn't sure what it meant for me to have to redo the child devices. Does that mean I will have to re-create all automatons for the child devices if I update?

Here is what I changed and saved in the older version:

Here is the new Log resulting error:

Not getting any level changes at the device. FYI: I set the level: 33 manually in the device using the Set Level command in the driver.

Ok, I found the issue by looking at my other methods. I never updated this section to match the others. Replace the entire adjust fan method() with the following:

def adjustFan(device) {
	log.info "Adjusting: $device"
	def currentLevel = device.currentLevel[0]
	if(device.currentSwitch[0] == 'off') device.setLevel(15)
	else if (currentLevel < 34) device.setLevel(50)
  	else if (currentLevel < 67) device.setLevel(90)
	else device.off()
}

BINGO! That fixed it. :grin:

One of the best things for my wife acceptance factor was to replace my Aeon Minimotes with the Lutron Pico system. Using Pico's and your ABC app on HE is simply a killer combo of ease of use, speed and reliability. I am so glad you and @csteele use cases convinced me to upgrade. It was a little steep initial cost but has more than paid for itself in increased wife acceptance factor.

2 Likes

@stephack

Just wanted to let you know I have finally gotten around to installing your app as I have (2) Samsung buttons that I finally figured out how to use them. Your app is incredible and makes it VERY easy to associate the button to some sort of actions. Much appreciated!

1 Like

where can I get the latest released version of this app and child? @stephack your groovy links in the original post are showing last updated on 1/14/19 but I'm seeing newer versions since then?

Only the Child App portion is newer..

https://raw.githubusercontent.com/stephack/Hubitat/master/apps/Advanced%20Button%20Controller%20(ABC)/ABC_Child_Creator.groovy

Use the Import feature with that URL and get the latest. Read the release notes though, because you have to click done on each instance. :slight_smile:

2 Likes

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

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

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.

Thanks for finding the UI bug @csteele.
@dcoffing The updated adjustFan code I sent you previously has been added to this update.

1 Like

Any chance that the Random Message function could be added to this?

I don't know what this is?

Sorry I should have been clearer. In RM there is an option of sending random messages with the choices separated by ; this is what I am interested in.

I'm not sure I see the use case for this?

I currently have two uses for this, although not sure if they would be useful to anyone else.

  1. I have a button in each of my spare rooms for when the grandkids stay over. At night when pressed, it uses ABC to set scenes, fans, etc. It also speaks an inspirational good night message to the grandkids, and I would love to be able to randomize this.

  2. I also have aspirations of digitally recreating something we currently do in an analog fashion. When I was growing up, we had game night. Usually we played games that required a roll of the dice to determine the moves. Only dad had a twist. You could roll the dice like normal, or, you could pick a question out of the hat. These would be spelling or math questions. If you got it wrong, you loose your roll. But if you got it right, you doubled your dice roll.

I have an Aeon MiniMote and figured I could set a button up for the dice roll, as well as random questions. And, since my grandkids are a few years apart in age, one buttons questions could be for the younger ones and another button for the older ones.

I am sure the someone smarter than me could make this work in RM, but I don't think I would have the chops for that.

I have no idea how hard it is to do something like this, so I certainly understand if you want to pass on this.

Thanks for taking the time to consider my request and have a great day.

But couldn't you still have this function fire from RM via a virtual button or switch? Change the trigger for the random message to being a virtual switch turning on. Then in ABC, turn on that Switch.

2 Likes

I may have found a quick and easy solution for this with ABC. @pabney123 will test and if good enough, I will post an update this week.

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

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.


2 Likes

I'm still running an older version of ABC. Did you add HTTP Get or Post in the recent revisions?