[Released] Rule Machine 3.0

OK, bug found and fixed. Sorry about that. I had actually run into this a few days ago, but the fix fell in a crack. It will be in the next release.

3 Likes

Sorry fellas, I interupted this lesson on rule machine with a potential bug.

1 Like

No problem. Glad you found it. Damn thing was a typo.

3 Likes

I blame Mike anyway. :smile:

4 Likes

I got a “2 for 1” deal with the above lesson.
Brilliant guys, thx

4 Likes

@bravenel

I know this isnt a RM3.0 query, but keeping up the theme of lessons. What's the difference in putting "cancel on truth change" in the true or false section?
Scenario One
Say, conditions and rule definition have motion sensor active
True:

  • Action 1: Turn lights on.
  • Action 2: Turn lights off, cancel on truth change (5 mins).

Scenario Two
Say, conditions and rule definition have motion sensor active
True:

  • Action 1: Turn lights on.

False:

  • Actions 1: Turn lights off, cancel on truth change (5 mins)

I understand, I think, Scenario 2. But confused with scenario 1. I'm not sure which truth change it subscribes to (because it's already true). For, with movement, scenario 1 rule goes true, and is then subscribed to turn off the lights in 5 mins. Say no more movement in that 5 minutes, lights turns off. But if there is more movement, I presume it also keeps lights on.

Is there any point in having 'cancel on truth change' in the true part of a rule, because wont it already be true by virtue of the rule itself?

Hi Bruce.
I can confirm that latest hotfix has fixed the issue.
1 rule instead of 5 to achieve the same thing.
Winner, winner chicken dinner!!
Thanks again. :smile:

1 Like

@bravenel

This rule hasn't worked for two nights now.

The GV was set correctly.

The difference is which change of truth will cause the cancel. In the case of of cancel in the true part, the rule becoming false would cancel that delay. In the case of cancel in the false part, the rule turning true will cancel. In both cases it was the change in truth that cancelled.

Consider a simple motion lighting rule. In the true part we turn on the light. In the false part, we turn it off after a delay with cancel. So, motion starts, light turns on. Motion stops, we start a timer at the end of which the light will be turned off. Before the timer runs out, someone re-enters the room, the rule becomes true again, so the delayed off is canceled and the light doesn't turn off. It won't turn off until there is no motion for the full duration of the delay.

1 Like

Look at the logs.

Nothing in logs. Action logging turned on.

The actions are not running in this rule. @bravenel

Thanks. I did find this bug, and it's fixed. Next release...

2 Likes

After the latest update, my light rules are working correctly, thanks for the fix!
But now I have another issue that has plagued me for a while when using RM.

I have three rules,

Outside-Sunset ( Sunset +15 minutes - fade outside Homeseer WD switch from 0 to 100 over 10 minutes) Works perfectly every time.

Outside-930 (9:30 PM - fade outside Homeseer WD switch from 100 to 50 over 15 minutes) Works perfectly every time.

Outside-Sunrise (Sunrise -15 minutes - fade outside Homeseer WD switches to 0 over 10 minutes) Does not work, ever.

I don't understand why if I go into the rule (RM3) and hit "run this trigger" it kicks off and runs the rule, but if I leave it to run at the desired time it will not run no matter what I do.

The weird thing is this has been a problem since RM2.5, i opened a ticket for it but never got an answer back, if I use the simple lighting App and set a rule for it to turn off the lights at -15 before sunrise it works every time, which is my workaround. But then i dont get the desired fade i am looking for over a time period.

Any thoughts?



Logs seem to show it's working

Just rough calcs - starts around 7:13:39 by reducing from the previous 50% to 49%. Then, about 42 seconds (7:14:21) later it's down to 45%. So, about 4% every 40 seconds, or 1% every 10 seconds. That makes it 50% to 0% over 500 seconds - 10 minutes would be 600 seconds, Close enough.

Please show the Scheduled Jobs section of the app status page. Is it scheduled to run?

When I try to use an ecobee motion sensor in a if statement in action to be inactive I get this error and tye nested actions fail to run.

No signature of method: ruleApp30.ifThenAction() is applicable for argument types: (java.util.LinkedHashMap) values: [[trufal:True.6, cancel:false]] (doDelayActionsGo)

Need to see the rule. Also, what release build are you on?

Hubitat Elevation™ Platform Version

2.0.9.129

This was a bug, that's been fixed in the latest release. Announcing Rule Machine 3.0: Hub Update 2.0.9 is available

Thank you