It seems like with the latest release of HE, using custom attribute in rule machine is broken. When I select a custom attribute, at times it doesn't give the option of *changed, "=" etc. The screen just stays stuck. If I change the custom attribute a bunch of times, it might then give the wrong option (like showing ">" for a string). Seems very buggy right now. Anyone else experiencing this? I'm on release 2.2.6.140.
Are you using a custom driver and if so, which one?
This might be an issue with the driver you are using. There are some attributes that are sometimes used in drivers that donāt play well with Rule Machine.
I had this issue in the past and this is the information that I got from the Hubitat team.
Thanks for responding. Looks like you're right. I tried another custom driver that I have rules set up for and didn't experience this issue. How did you resolve it in case?
Ah, you're fast... I just changed my response completely. I thought I was using custom attributes previously for that driver but I was using it for a different driver and turning things on for the Logitech driver.
I'm trying to use custom attribute "bulb1Level". However, I'm experiencing the issue with every custom attribute so you can try any other one also.
Would you mind taking a screenshot of the rule, specifically the point where you are having an issue? I tried to reproduce, but I think Iām missing something...
Actually, I think I figured out the issue. The developer used "Integer" to define the type of the attribute (for bulb1Level, bulb2Level, socket1Level and socket2Level). Looks like Hubitat doesn't recognize that and requires it to be "Number" or "Decimal". I just changed it to "Number" and it seems to be working fine now!
The Logitech Harmony Hub Parent driver has been updated in my GitHub repository. I guess I need to review community pull requests more carefully. Thank you for the feedback!
dataType - String: The type of data that is stored in this attribute, possible values are (ENUM, STRING, DYNAMIC_ENUM, JSON_OBJECT, NUMBER, DATE, VECTOR3).
But definitely no boolean, integer, or decimal listed.
OK, I was avoiding being pedantic before. But, to honor your sentiment:
Rule-4.1 also recognizes STRING_ENUM, JSON_OBJECT and VECTOR3. These are treated as ENUM, STRING and VECTOR3 respectively. It does not presently recognize DYNAMIC_ENUM or DATE.
I should spend a few minutes to make Rule more gracefully deal with non-supported attribute types, although my passive aggressive side likes throwing an error at those who tempt the fates with unsupported attribute types. It's a good mechanism for getting driver devs to be notified they have an issue.
For the sake of users, would be great if there was a way to identify the issue quickly (like an error message when selecting the attribute) as opposed to having to investigate it.
I'm responding to your comment above. It'd be nice if an error was thrown in rule machine that made it clear that the custom attribute had the wrong type set. Otherwise, anyone would think it's an issue with rule machine itself.