Rule machine seems to be bugged

If I click on the action below, I get the error message displayed after the image:

An unexpected error has occurred trying to load the app. Check Logs for more information.

Error: No signature of method: java.lang.Long.getAt() is applicable for argument types: (java.lang.Integer) values: [0] Possible solutions: getAt(java.lang.String), next(), putAt(java.lang.String, java.lang.Object), wait(), grep(), getClass()

BTW, this rule has been in operation for years and it is executed daily without problems. I just want to edit it, but I can't.

Looks like a pretty old version of rule machine, prior to v3 I think? Which hub firmware version are you running?

Tagging @bravenel.

1 Like

It displays 'loading app Rule 3.0' momentarily when I click on the app to edit it.

Hubitat Elevation® Platform Version
2.2.4.158
Hardware Version
Rev C-5

Is it recommended to upgrade old rules to the latest version of the rule machine?

No, in general they should continue working as-is. I’m sure it’s possible breaking changes can eventually occur as the rest of the platform is updated. But @bravenel is prob the one that’s most likely to know what the issue could be.

oh... I notice that the error message in the log includes a line number that does not appear on the screen when I try to edit the action. Here's the full logged error message:

groovy.lang.MissingMethodException: No signature of method: java.lang.Long.getAt() is applicable for argument types: (java.lang.Integer) values: [0]
Possible solutions: getAt(java.lang.String), next(), putAt(java.lang.String, java.lang.Object), wait(), grep(), getClass() on line 2282 (selectActionsFalse)

As it is such a small rule, why not just write a new RM4 rule. Not an answer to your question but might be a solution.

1 Like

As someone else said, you shouldn't have to. But in this case, given the error, you should just remove that rule and recreate it.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.