Rule Engine Feature Requests

Not really a complaint thread, more of a general feature request and explanation as to why I haven’t really gotten involved with SharpTools in spite of using it for quite a while.

Come to think of it, I’d have to go way back in my purchase history to find out when I actually decided to bite, but I really didn’t log into this website until very recently.

Regardless, I’m relying heavily on WebCore (as I’m sure a lot of people are), but dealing with the presence bits and Tasker make me realize that it just seems like duplicate functionality that could / should be available in SharpTools. The reasons why I don’t, in no particular order appear to be:

  • Lack of global variables. I know this is in the works, but they really are a game-changer. Being able to track items across rules / pistons would make the system significantly more powerful.

  • Item state history. Maybe I’m missing something, but from what I can see so far, the rules are limited to “device is / is not” without being able to reference recent states. So for example while I can say “if the door is open” but not “if the door has been open for x minutes”

  • Need more options for timers. Right now you can do “do x every day at a particular time” but that seems to be about it. I’m not sure if you’re able to say “do x every Saturday and Sunday”

Some of these are tied together of course. Some of the bigger flexibility (for me) comes from being able to daisy-chain some of these things to automate things in WebCore.

For example…

I have the “GCal Search” SmartApp installed, which checks our family calendar and sets a virtual sensor based on events – like there’s school tomorrow as an example.

I have a subscription to this device that sets a global “school day” boolean. If I put an item in the family calendar that says “no school”, the app changes the device, and the piston sets the boolean.

Then my morning routine says “if there’s school today, fire up the whole wake-up song and dance at 7:15am. If not, then delay that until 9am.”

You can even see how to enhance this by saying “if it’s a school day / work day, and it’s a weekday, and it’s after a wake-up time, and the motion sensor in the bedroom hasn’t seen motion in the last 5 minutes, it’s time to start getting serious about waking people up.”

Or I can snooze this whole thing with another virtual device that I can click on that sets another global variable to disable all automations – in case you’re taking a personal day or you forgot to set the calendar entry or who knows what.

Or have another timer that runs every hour and says “remember you snoozed everything this morning” if this variable is set.

Again, not a critique of the current state because it’s a solid product and serves its purpose when it comes to dashboard and some integrations, but I think it would be much better if some of these things were possible, even if they’re possible with other options already like WebCore.

3 Likes

Thanks for the feedback, Amauri! We’re always open to hearing feedback, feature requests, and ways to improve! The specific examples for are particularly helpful! :smiley:

As you noted, ‘global variables’ is on our hitlist - we’ve done some internal proof of concepts on this, but they aren’t ready for primetime yet. We’ve also been thinking about ‘state history’, so I appreciate the examples you provided!

Regarding the additional options for timers, we’ve made some changes behind the scenes with timer structures to support this. We went through a surprising number of iterations on this as the potential variations and options for timers can get surprisingly complex! There’s still the effort left to actually implement it, but just wanted you to know we’re thinking about it too!

5 Likes

Day of the week and a run once a day option would be nice.

4 Likes

Hi @Amauri_Viguera and @Automated_House, we have rolled out the “Day of Week” option and “State stays…” as trigger and condition in Rule Engine in beta last week. Are you interested in joining the beta group and trying out the new features.

2 Likes

In case someone hasn’t seen the announcement yet. :slight_smile:

We have rolled out the “Day of Week” along with other features/enhancements to production today. You can find more details here.