RM 5 and Hub variables problems - not ready for prime

Hi to all,
I wanted to migrate from RM legacy to RM5. I didn't want to simply copy my rules over but to profit to optimize my rules with new ideas and by using new possibilities like Hub variables. Relatively confident in my acquired skills I began to write a long and complex rule for the heating of my living, cloned it for my kitchen and modified the necessary things, and continued to clone it and to adopt it for other rooms, wrote some side rules and so on. My rule use about 15 hub variables.

Then when I started running the rules, nothing really worked and I hab plenty of java exception errors in my logs. By reviewing my rules I was not able to detect an error. So I started to go to the rules and to run the rule actions by the corresponding button. The first rule that I wrote for the living worked like a charm, but every cloned rule didn't.

I tried to clone the living rule again and saw that sometimes I got a '**broken action' and sometimes not. Trying to modify the cloned rule sometimes ended in a '**broken action' AND a stuck rule. I had one popup menu to select the group of actions, but regardless what I selected, no other popup menu or buttons appeared. The only way I saw is to remove the rule and to start over. Sometimes the modification went well, but the rule still ended up in a java exception error. Rewriting the rule from hand ended in a working rule (every time). So cloning does not work and I think that the rule representation does not correspond with the internal rule.

To make my day perfect, at one moment, I got an error that a variable does not exist. Returning to the hub variables, one had a value of 'null'. For me as programmer this means 'not existent', but I was not sure what it means for Hubitat. So I clicked on the connector and got a nice error screen. But the best was that from there on, every time I tried to access the hub variables in the settings I got this screen and no way at all to go to my variables. A restart didn't help. The only way I saw was restoring a backup and loosing work.

Sorry guys, but these are experiences a user should not make. A released feature may need some error correction, but not so heavy things like this. Hubitat is not perfect, and no system is, but for me it was the best, most powerful and most reliable system on the market. With these experiences I will stroke 'reliable'. I don't know what a lambda user would do in these situations.

Any way, I still believe in Hubitat and hope that these problems will be solved rapidly and that Hubitat finds a way back to the best system on the market. I'm still testing and adopting, but I think that I will get everything running again, but with a lot of stress and a large overhead of work.

The broken rule thing is a known bug, and according to @bravenel it is fixed in the upcoming release.

Like you I have found editing rules right now in RM5 is hit or miss. If you delete certain lines, especially wait for events it will cause broken actions. I have found, once you get those you might as well start over, because even if you delete the broken action and correct the rule, the rule will never run and you get the Java exception errors you mention.

Hopefully all this will be worked out in 2.2.9

4 Likes

I ran into an actions problem which resulted in a broken rule. I was never able to update/modify the actions without deleting the rule and starting over, but I never broke the hub variables page. In that case I was able to build a partial rule, then clone it, so that I did not have to fully start over during future attempts. In the end I broke the rule each time, and had to find an alternate method.

Concur that is not something you want to release to the general public, I feel your pain!

I migrated a complex set of rules from RM4 to RM5 for a garage door keypad, including global to hub variables, and ultimately ended up with a more streamlined set of rules. Some of that was simply due to improving the logic flow during the process, something I didn't do under RM4 once I had them more or less working.

Easy to describe, but far more complex to implement: It would be nice to have a means to remove the offending element when something results in a broken rule, Hub variables, etc. Even if this was a forced 'back-door' to list the current variables/elements/etc associated with a rule or variables, then simply delete the portions that were broken, with all associated warnings, may result in broken app, etc. Not for the faint of heart, but it may provide a recovery option. Alternatively, maybe there is a way to simply 'back-up' and 'undo the last action' from a higher level app page...

Food for thought!