Rule machine - as per the app developer, this app is no longer available for new installs, distribution, or support

Rule Machine is no longer available.

102 Likes

Rule Machine screen shots:

16 Likes

thanks I think you still need parends
how would you do

(a or b) and c

two separate rules I suppose

a and c

b and c

1 Like

This is cool!! :smile: Great job!

One suggestion. This would be great as a parent/child relational smartapp.

But seriously dude, good work!

5 Likes

Nicely done, Bruce
This is awesome use of smart app. :star: :star: :star: :star: :star:

5 Likes

That would be a single rule, just as you wrote: (a OR b) AND c. You would just define conditions a, b, and c, and then define the rule as you wrote it.

The app does allow parenthesized sub-rules to any depth.

1 Like

Outstanding work @bravenel!

2 Likes

Top notch, Bruce! Can’t wait to try this out.

Bruce, quick question, not sure if it’s just me, but submitOnChange for howMany doesn’t seem to do its job. If I input a number, it doesn’t refresh to display the “sub-sections”. Not sure how to get around it, though
If I click “done”, I get the “not authorized” error, but then if I go back in the “Select Conditions,” the howMany sub-sections are displayed


1 Like

That’s weird! It works fine for me. It should throw up the number of conditions you specify. Which mobile app are you using? I’m testing on iOS, and I don’t have an Android to test on.

Turn on Live Logging and see if it’s throwing an error.

Ah, that’s the problem. Things are different between platforms. I ran into this several of times lately, where code works smooth on IOS but fails on Android


I did
:

error:
java.lang.NullPointerException: Cannot get property ‘value’ on null object @ line 466

Line 466
if(thisCapab.value == “Time of day”) result = "Time between " + timeIntervalLabel()

It would throw that error if you didn’t define any Conditions, which you couldn’t do if you didn’t have the fields to input conditions into. :confused:

If you can’t get past the Number of Conditions input, my suggestion would be to uninstall that instance of the app, and try again. If that still fails, then we need to understand why Android can’t process submitOnChange properly.

@slagle, have you seen this before? This being Android mobile app not handling submitOnChange: true?

Yup, did it several times. It gets even worse if you try to modify the number of conditions. I tried to change from 2 to 3 and the app got stuck running circles. The only way to delete it was to go in IDE


So, it would appear that this doesn’t work at all on Android? Very odd, and disappointing. The app is totally dependent on submitOnChange: true working, because everything it does is dynamically built, especially the rule itself. The app uses recursion both to build the rule and to evaluate it.

No, no, it works! But not as smooth, so people may assume it doesn’t, if they are greeted with errors :slight_smile:

Did you get the input fields for the Conditions?

Very nice!

Just in case anyone stumbles on this and hasn’t used custom code in SmartThings before, here’s the FAQ for how you go about installing something like this to your own account:

FAQ: An Overview of Using Custom Code in SmartThings

1 Like

Submit on change should work on android. This would be new if it doesn’t

1 Like

I’m seeing this behavior on Android as well, but it can be worked around by deleting/recreating the rules. Sub-optimal, but doable at this point.

Great stuff @bravenel! Now, my only other feature request would be ‘timer conditions’, so that I could replace some of the Smart Lighting app conditions for ‘wait x minutes after motion stops’ before firing the lights off rule.

Thanks for doing this app - it get’s closer to what I want to do with my system, and seems to be more stable in execution than some of the stock apps right now. :slight_smile: