New App Features in 2.2.8

Not really, only superficially. The BIG difference of Predicate Conditions is that they are set before the rule is triggered. With Rule-3.0, a Condition was tested when the rule was triggered by anything happening that would affect the rule, and then actions for true and false followed. For a Predicate Condition, nothing happens because of it changing from true to false or false to true -- that does not cause actions to run.

That's why they are called "Predicate Conditions". These conditions must already be true for the rule to be triggered.

5 Likes

Thanks, the error has gone after a reboot :+1:

2 Likes

(I haven't updated yet so asking before updating) but I'm assuming the above statement also means that the predicate conditions only apply to the rule being "true" and not having them to also run the rule based on the predicate condition being "false" as well like RM 3.0 could do. If so this would be a big difference as well.

The error is gone after deleting my 3.1 instance of Button Controllers, rebooting, and installing the 5.0 instance.

Right. Nothing runs because of changes to the Predicate Conditions, neither for true or false.

The easiest way to wrap your head around this is to think about restrictions: "Only run this rule if its Wednesday". A restriction in 3.0 wouldn't in and of itself cause anything to happen, it just was a pre-condition that had to be true for the rule to run at all. Predicate Condition = Pre-Condition. When it became Wednesday, the rule wouldn't say "Restricted" anymore, and it would run whenever it was supposed to run -- but it didn't run when the day changed from Tuesday to Wednesday. You will see something similar with Predicate Conditions: if they are false, the rule will show "Predicate Condition False" -- meaning, it isn't going to run.

As it says in the writeup above, Predicate Conditions are essentially Restrictions on steroids. They have other uses too, but that's probably the easiest way to explain how they function.

6 Likes

Just came here to say this is awesome! Didn't fully realize what this was until I updated and see the libraries code section. Now I can take some of the common stuff from my drivers that works really well and combine it for not only easier updates but also to share as a library for others to build drivers off of.

image

3 Likes

I did after a removal.. reboot Re-install. no reboot after that. I worked for me.

2 posts were merged into an existing topic: How to use library code

Wow. This is an incredible jump.

3 Likes

3 posts were merged into an existing topic: How to use library code

I'm certainly in no position to quibble about how it works under the hood, but from a user perspective, it seems like what was old is new again.

From 2016;

Not that I'm complaining. I missed conditions. (Will we be revisiting Rule Truth again? )

Thanks @bravenel

Ha, sure. But now it's Predicate truth, right? And, it gets displayed when its false.

1 Like

FWIW, I took the advice when RM 3.0 was retiring and created "Master" triggers/rules/triggered rules/etc and have ever since created a RM 3.0 clone for any
new rule I created as I personally liked it better than the new 4.0 and 4.1. I'm glad to see these (in a slight way) return and happy to play around with the new 5.0.

Almost an implementation of a state machine @jwetzel1492

Nice feature. Any way to make the list of grandchildren collapsable? Imagine several 6 button seeTouch keypads or even a 100 button Main Repeater. That's manageable in the old button controller, but now the whole list shows up on the main Apps page.

It is collapsable.

Before

After

Thanks, I missed it.

Predicates on button controller button events would be nice. So, when button is pressed, perform actions 1-3 based on the state of a device.

This would be good for enabling a fan speed controller from a button controller. Press up, increment the speed, press down, decrement the speed, and be able to avoid all the conditionals to make it happen. Anxious to start playing with the new apps.

Thanks!

1 Like

Love the ability to add comments to rules. :grinning:

4 Likes

@bravenel I have found an issue with variable comparison in Rule Machine 5.
Selecting the second variable from the dropdown also changes the first variable to the same.

Fixed in 2.2.8.136