Rule Machine Error - NumberFormatExceptoin

I have been working on modifying a driver for a AEON Meter to include attributes for each clamp. After working on this for awhile, I started getting an error when attempting to modify a rule that is testing one of my custom attributes.

I am running C7, version 2.2.8.152. I ended up deleting the rule and am now trying to recreate the rule but still am getting the same error.

I even deleted (unpaired) and repaired the device but still am getting the same error when trying to create the rule.

Steps:
Create a new rule/name
Select Trigger Events
Select Custom Attribute
Select Device
Select attribute

When I select the attribute I get a blank display with a Done button. If I click on Done then the button goes away but there is no other update to the window and I have to exit the application to do anything.

The error that I see in the logs is:

2021-12-21 12:42:16.352 pm [error]java.lang.NumberFormatException: null on line 1902 (method selectTriggers)

In addition to deleting the device I did reload from a automated backup from this morning. This did not help either.

I have tried this with Legacy Rule Machine 4.0 and Rule Machine 5.0

You need to tell us more about the custom attribute. What type is it? Show a screenshot of a device page where it is set (right side Current State display). Show us how it is defined in the driver, again, a screenshot of the code used.

I started with a driver from github that was linked in a post. The power attributes had been defined as string and I defined them as number in order to be able to use them in Rule Machine. I initially had the rule created but have modified the driver since then. Now when I try to use the attribute PowerTwo in rule machine, I get the error as noted.

If there is more information that you need or additional debugging I can do let me know.

If you changed the driver, that's why the rule crapped out. Remove the rule, and recreate it.

I did do that. I deleted the rule after the driver change and then went back to recreate it and that is the error that I currently get. I can select one of the other attributes such as energyOne that does not generate the error, but if I select either powerOne or powerTwo I get the error. Do I have a problem with the last statement where powerTwo is updated that I included above? I am not a groovy or hubitat expert so I am not sure that command is correct.

You need to show where the attribute is defined in the driver metadata.

Here are the attributes as they are defined. I modified powerOne and PowerTwo as noted.

Turn on Event and Trigger logging for the rule. See if anything is logged prior to the error.

Appreciate all of the help yesterday. A fresh set of eyes on the code this morning, I finally (duh) noticed the statement setting the value of the attribute was writing a string to the attribute defined as number. Once I modified the code to write a number to the attribute, I could successfully create the rule.

1 Like