Advanced Button Controller (ABC)

Interesting, I see this issue, too (confession: I suspect I wrote of of those "third-party apps" tested above) with a Pico on Rule 4.0. If I get patient enough, I might try rebooting my hub to see if I can reproduce this when I'm actually looking at the logs. Until you looked into this, I really just assumed it was some telnet-initialization issue with the Picos, but lately I've started to wonder if it's a per-app thing (maybe the first time that particular child or possibly child of any parent get run?).

Update to Child App:

  • Forced initialization on hub restart to avoid delays on "first activation". Thank you @ogiewon for the suggestion and thanks to Hubitat support for assisting and providing feedback.

Please note that you will need to open each mapping (child app) and click DONE for this change to take effect.

4 Likes

@yototogblo @timrudd12 Please see update above (and don't forget to open the child apps and hit Done like I did :slightly_smiling_face:).
There is still a small delay on first run but I haven't seen it go above 1s in my testing.

1 Like

Wow. Already an update. Thanks for looking into this and making the change!

NP.
Thanks for taking the time to hunt down this issue. The "fix" was shared with the other dev so it's a 2 for 1.

3 Likes

Thanks for the app! Found what might be a bug: my iBlinds window blind controllers don't show up under "Shades up/down/stop" in the ABC config when I try to configure one of my Pico remotes to control them. My MyControl Garage Door opener, however, does show up (not that I want to use the Pico for it :slight_smile:

In the Rules engine, it's correct - iBlinds shows up as a shade device to be controlled and the garage door opener does not. I'm currently using Rules to configure my Pico however I'd prefer to use ABC as I use it for other stuff, plus I figured you'd want to know. Thanks again for the great app!

Link to iBlinds driver: [RELEASE] Unofficial iBlinds driver

That's because that portion of the driver was written before there was a Window Shade capability (which I didnt know existed till now :slight_smile:)

I could update this but it may break the config for some who use this to control "Door Control" devices. I will definitely update in some way, I just need to think of the best way to avoid disruption of existing configs. Thanks for pointing this out.

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

@brianwilson, @planetix :point_up_2:

4 Likes

Great work, you have single-handedly increased my pico usage dramatically =P

I am curious if there is the ability to set a particular speed on a fan? And or reverse the direction?

This isn't a capability that Hubitat exposes (at least that I'm aware of)...so you won't be able to do this.

I guess I meant is there a way to increase and decrease the speed with a button push, cycle I assume increases until top then starts at lowest again. I expect it isn't something exposed again or you would have done it. I just have to hope they expose that in the drivers/HE like the reverse direction.

Great work on the app, this has solved a number of challenges I have been facing.

Is it possible to cycle through possible values for a device setting using ABC? Specifically, I'm using @dan.t's driver for the Hue Sync Box, and want to use a Pico remote to change inputs. I was thinking I would set pico buttons 2 & 4 to cycle forward or backwards through the various inputs, but I'm not seeing a good way to make that work.

I see an option to cycle through scenes, but hubitat scenes don't offer a way to set a specific setting such as the input, so I don't think that will work. What would be the best (not overly complicated) way to accomplish this?

I'm assuming you are using this driver:

I'm not familiar with it but I skimmed the code and looks like it only exposes a switch capability.
There is a command called setInput but there is no way for my app to access that command directly. I designed it to only utilize built in Hubitat commands and capabilities so it could be device agnostic...except in a couple of rare cases that benefit my personal apps and drivers ;).

@dan.t could probably provide suggestions based on what you are trying to accomplish...or possibly add a non-custom command that other apps can use to cycle the inputs. :man_shrugging:

1 Like

I swear I went out and looked up the repo so I could link it in my post, but somehow forgot to actually include it. Oops!

Thanks for the quick response. I'll keep looking to see if I can find another way to accomplish what I'm looking for.

-Neighborgeek

I'm also wondering if there is a way to utilize Rule Machine to do this. I haven't used it in a LONG time but I know there was a way to execute a custom command. The trick would be in how to get it to cycle through them one at a time.

Theoretically, the driver could be easily extended to provide a cycleInput function. However, I am not sure if it will really work in real life. From what I have seen, the hue box takes it sweet time with responses to request, it is not snappy. Or at least mine isn’t... i think a person would give pretty annoyed with the delay not know if the β€œthree” button presses were accepted and the box is just slow or if a button press was missed....

Fair enough. So dedicated buttons per input then. Hmm...

I haven't used the Hue Sync driver, but from what it looks like and what you're describing, you could probably use RM for this in a way similar to others who have used it to emulate a Hue Dimmer (cycling through scenes, as it can when paired to a Hue network) by tracking presses with a local variable. Something like this: [How to] recreate Philips Hue Dimmer Switch functionality with RuleMachine (look at the button 1 pushed actions, except use the custom command instead of what they're doing with lights).

I added a shade control to the app. It is controlled by Bond controller and the driver for it has a "Stop" function. But in ABC app, under legacy shades, which feature Open/Stop/Close, the shade cannot be found, yet under the new Shade, which only has Open/Close and Set Level, I can find the shade.
Only issue is that I am missing the "stop" function :slightly_frowning_face:

Please share a link to the driver and I will check it against the Hubitat documentation. If it follows Hubitat's driver capabilities I will try to get it added soon.

Edit:
FYI..below is from Hubitat's windowShade capability documentation. If this is the capability in use, you may want to speak with the driver developer for advice on how to use the Stop command. ABC is built to follow Hubitat guidelines.

2 Likes