Unable to run driver Action

What browser are you using? I'm not aware of any browser issues with the site but who knows? Try Chrome.

Same in Chrome.

I can't find that option which @bertabcd1234 told me about. Is there some way to split this conversation up from the driver/actuator/rule machine one? Sorry for derailing it.

I have no idea. Your trust level is 'member' so you should be allowed to flag.

I don't have a clue what you're talking about. How about some detail as to the context and need that you have?

Sorry for the confusion. What I'm talking about is really simple, but I struggled with it even when using only Hubitat-provided devices.

I am writing a rule. I know what I want to do: turn on a sprinkler, disarm an alarm, whatever... the goal is clear to me. And then I reach this menu:

Even in cases where the action was simple and well supports: turn on the lights, I found myself going in and then back out, trying another path trying to find a way to make the action that was perfectly clear in my mind, visible/actionable on the device page... but wasn't as clear from this screen.

To me, IMHO, the ability to have simply selected the device I wanted to act on and then see a list of the actions that device can take would have been much much simpler to use.

That said, I understand this is a hard problem. I can grasp that many users with simple needs might prefer this menu, so I'm sympathetic. But I'm curious if the "choose by device" escape hatch would be plausible.

1 Like

Perhaps you should be using Simple Lighting instead of Rule Machine. It allows you to select the device, asks you what you want to do with it, how you want to cause that to happen, and then what to do later (like turn it off again). Simple Lighting will be renamed in the upcoming release to be Simple Automation Rules to make it clearer that it does more than just lights.

In the meantime, if you want to use Rule Machine you should spend the time to learn the app. It's not that difficult to learn. Play with it, explore it, become its master.

3 Likes

In related news, the "List of Actions" in the Rule 4.0 docs is helpful to the poster's specific issue of knowing which commands are accessible from which sub-menus. See: https://docs.hubitat.com/index.php?title=Rule-4.0#List_of_Actions. You'll eventually get used to it, and it's usually easy to guess where what you want is based on the category. Dimming, color, and CT actions are, unsurprisingly, all under "Set dimmers and bulbs"--but if you only want on/off, check "Control Switches, Push Buttons" instead. (BTW, I've submitted a change to this wiki page recently so the list matches up with the actions as listed in the current firmware, but it's been pending approval for a while).

The forum thread for Rule 4.0 docs--pretty much the same content at the time of release (and only minor changes since)--is also good (and has inline screenshots). It took me a while to get the hang of earlier versions of RM and a bit of adjustment when 4.0 was released, but this was a big help.

I have spent the time... my entire house runs off Rule Machine. And I still struggle with it. Sometimes everything is right there where you'd expect it. But sometimes the language used is completely different than what's in the driver or whatever I'm using, and so I have to dance around trying to figure out what RM wants to call that feature. (and I'm talking about Hubitat-provided device drivers)

Part of the problem is the "whoops, wrong direction" often leaves me with a corrupted rule. You go into an area, don't find what you need, and there's no way to leave that area. The only choice is to hit back, and at least 50% of the time that corrupts the rule.

Thanks for calling my attention to that. I didn't ever get far enough down that page to discover those. It would be really helpful if the popup help on that page linked to this, rather than to https://docs.hubitat.com/index.php?title=Rule_Machine because honestly if you start there I seriously doubt you'll find your way to this list because it's buried underneath a long section that only makes sense if you were an Rule Machine 3.0 expert.

I think that's the confusion here-- I'm not speaking from the perspective of a newbie. I bought my evolution a year ago. I struggled with RM3 but never got comfortable with it, so when RM4 shipped in early July I immediately went and converted all my rules over to that. 9 months later, my entire house runs off RM4 rules. Not a newbie.

...and yet, I routinely find myself creating and recreating and recreating one rule that I know what I want, but each wrong step in RM4 corrupts something, and I get invalid method on null object again.

I know what I want to do. I know that the driver supports it... but finding my way to the right screen in RM4 is 100% learned knowledge that never seems to help the next time I face it.

This is perhaps one of the most obvious confusions and sources of recreated rules. I want to make a rule to turn on the lights. So I choose switches. Then halfway through the rule creation I realize that I need to tune the color too... trash the rule, recreate a different one that goes into dimmers.

Again, a UI that let me choose the device and then choose any action that device supports would not have this difficulty.

Don't know if this will change in the new release, but the Actuator device doesn't show up here in the list of devices. It's named "Abode Iota" for me, and yet...

Screen Shot 2020-03-13 at 1.20.39 AM

I just had an example of this. I went into a rule and started to add a new action. I clicked on Set Mode, then chose Set Mode... then realized actually I needed a conditional. So I changed the pulldown to Conditionals... and immediately got this error:

[app:465] 2020-03-13 01:37:15.670 am [error] java.lang.NullPointerException: Cannot invoke method tokenize() on null object on line 2547 (selectActions)

There was no browser navigation here. I never left that screen. But now I cannot enter the actions of that rule without getting this error. So I have to rebuild a fairly complex rule from scratch again :frowning:

When I find myself in the wrong area, I finish that option, pick whatever is quickest, then delete that action and start over. Never hit the browser back button.

  1. Yes, but this shouldn't the UI handle this? Not necessarily browser back, but the ability to return

  2. See the post directly above yours, where going back to a previous selection on the same screen corrupts a rule.

I agree things shouldn't be so fragile, but that's the nature of HTML. I must be luckier than you, as I frequently change that first command to something else, like 'Dimmer and Bulb' to 'Switch' without a problem. Browsers can make a difference too. When they get the engine and application structure where they need it to be, maybe they'll be able to build a better front end. Until then we're in an HTML world.

I've been engineering in an HTML world since 1993. There's nothing about HTML that would cause corruption in a back-end's ruleset. Pure HTML has no state :wink:

It's probably limitations of state management in whatever platform the UI is built on. That said, (as many have said) it's the worst thing about using Hubitat. Hopefully someday they can give it some love.

I just deleted a paragraph of advice, but then I realized you just want to state your displeasure with the status quo. Totally your right.

Sorry, that wasn't my intent. If you have advice please share it.

If you're trying to instruct me on the limitations of web technologies, be aware it's been my day job for 25+ years so I know quite a bit--especially in how front-end technologies interface with backend technologies (my part of the stack) etc blah blah. That said, I actually know NOTHING about the underlying platform in use here. I really wish they would speak more about the groovy runtime in use because that would open up a lot of avenues for me... but I understand we who use custom apps are in the 2% of their user base, and playing with the groovy runtime directly would probably put me in 1% of that 2% so this really has not much benefit for them.

Exactly! I thought you were asking questions about why you had to delete and re-enter rules. But you know that answer because you have 25+ years experience. That means you're looking for something deeper. That's not what I signed on for, when replying to your initial post.

Not knowing anything about the underlying platform, if someone had advice about how to deal with it I'd gladly accept it.

Knowing of HTML, asynchronous javascript, websockets, et al doesn't explain why changing focus between selections on the screen causes rule corruption. There are many HTML interfaces which don't have that problem, including a few I've designed which are even more dynamic than the Hubitat UI. (and I really don't do front-end UI work often) I don't feel that this is an unavoidable limitation of using HTML or any of the technologies that are used to make it dynamic (AJAX calls, websockets, etc).

But unless @bravenel or @chuck.schwer want to share a bit about the backing framework being used, there's not much I could contribute.

Just had the same error when I went into make a change to a rule that I have had running for a long time.
Luckily it's a short rule but still annoying.