Unable to run driver Action

I want a trigger to activate a command on a driver. From what I have read, this should be done using Set Mode or Variables, Run Custom Command

The problem is that when I select Run Custom Command I have to choose what capability the driver implements. I'm using the following driver code: GitHub - jorhett/hubitat-abode: A Hubitat driver to interface with an Abode alarm system, which implements only the Refresh capability, which is not in the list.

I spent an hour and added Chime to the capabilities... only to find that this isn't available in the list either. I gave up and added Switch, and then could address the device command... but this isn't a switch, and on/off commands on the driver will be confusing for users.

@bravenel How about a menu option that either lists all devices regardless of capability, or one that lists all devices that don't match any other criteria? Or give us some way of ensuring we can choose actions from a driver that doesn't implement the capabilities you have limited this to...

This? https://docs.hubitat.com/index.php?title=Driver_Capability_List#Actuator

It has neither commands nor attributes so it's really unclear what adding that capability would do. Or is the purpose of that capability just so it's available in this menu? If so, it should be written there...

I'm positive there's a mirror in mirror, self-referential catch-22 joke available but I can't seem to pull it up right now.

Yes. You don't want a capability that has attributes or commands that your device doesn't support. Just do what I suggested and it will work.

Didn't realize you were the developer. How do you not know about capabilities and you're releasing a driver for others to use. You should really reconsider that.

I know about capabilities, and use them in the driver. That capability has no documentation, no attributes, and no commands. Why would I have implemented it? There's not a single reference to tell me this should be added, or what it would be used for.

And what's with the personal attack?

The only capability you are using is "Refresh"....why?

It's not personal at all.

Let me get this straight.

Of course not. That's why I raised this as a concern. Rule machine currently requires this to be able to access a command.

I'm sorry, I'm a professional developer for a living. I don't implement random code that doesn't have documentation without understanding it.

Odd that you first say "don't do things that won't work" and then you follow it immediately by saying "just do what we tell you"

Actuator gives access to all commands in a driver without adding any new ones. Just add it to your driver, like Ryan indicated, use that for your custom action and you should be good.

Ok. Well, it isn't documented, at least not anywhere I can point you to, so good luck.

If you're going to twist around my words I'm not going to help you.

There are other capabilities that Abode has which I haven't finished implementing. That's why they are commented out in the driver. (they work in my test copy, but I find the interface a bit klunky so I want to clean it up before publishing it)

Arm/Disarm are in Keypad, but so are a lot of actions that aren't implemented by Abode so I implemented them separately.

Would be great to add that to the documentation saying that.

Sorry, bad phrasing. I meant that I didn't add it before because I had no clue what it did due to lack of docs. Now that the usage has been clarified I'll use it.

FWIW I've added quite a bit of helpful stuff to the developer docs but it remains in moderation... no point in me submitting this change until someone gets around to approving stuff.

Makes sense! I don't like to add random things without understanding the "why" either.

In drivers, both in Hubitat and smart things, actuator is a "catch all", and added to most drivers that have any custom commands.

2 Likes

I never twisted your words, I responded to them on face value. You accused me of not knowing what a capability was so I shouldn't write drivers... when I'm using them in the driver, and my original post was exactly about the concern you accused me of.

My point about "just do it" is that

  • I'd rather gain understanding than accept blind direction
  • I'd rather improve the documentation so others don't fall into the same trap

I do want your help. But you started with ad-hoc insults about being a developer, which were actually obviously untrue if you read my original post. Your help would be appreciated, the insults not so much.

1 Like

Thanks!

I added your wording to the capability page, so you'll be credited if/when approved.

So while I understand the developer-side of the equation now, I do think that the current UI thus requires a developer's knowledge of capabilities for a user to implement a rule.

Is there a better way to present this so that someone could install a driver, see a command on the driver they want to use in a rule, and not have to get into Capability documentation @bravenel?

"You really should consider that" is a personal message. It's a one-on-one direct statement, and further carries an explicit expressed judgment about my work.

I simply cannot imagine a statement more personal, and more insulting, than this. It violates nearly every guidelines for posts here.

  • I would have sent this privately, but Ryan is refusing messages about his posts, and there's apparently no longer any ability to flag a post for attention. So posting my concern here in the forum is the only choice I have.

Click the ellipsis, to the left of Reply, which should open additional menu options.

It's greyed out. Thus my statement no longer having the ability to flag the post for attention...

I don't seem to have that issue.

Before:image
After: image

Your post shows the ellipses. I can expand the ellipses. But when I click the flag, it expands to the window shown. The option to flag the post is greyed out. I can only send a message, and Ryan has turned that off too.

Not sure. This is what comes up for me.

1 Like