Basic Rules / SAR feature request - "Run once per day"

This is admittedly a first-world issue that can be compensated for by mish-mashing other restrictions together, but could a "Run this just once per day" option please be added sometime down the road (perhaps as a Restriction option)?

I'm sure this can be done in RM, but when I switched over from ST, I pledged to myself that I would avoid going down any more advanced-rule-app rabbit holes in an effort to purposefully keep things simple.

Thanks for your consideration!

So you need a Restriction that is "Only once per day" ??

That's not an unreasonable request at first blush...

2 Likes

That would be nice maybe?

For example, I have a light at the bottom of my basement stairs. It stays on all day when anyone is home (every days these days!), but gets turned off at night.

I trigger it on each morning via a kitchen motion sensor. But it just needs to happen once a day... Right now, I accomplish that by restricting the rule's time window in the morning and disabling the rule if the bsmt stairs light is already on...

Well, heck, maybe that's the answer right there (the disable-if-already-on restriction)... I guess as long as that doesn't unnecessarily take up hub resources every time the kitchen motion sensor triggers, it's no big deal. Just trying to think of ways to keep hub traffic/resources down when possible...

Thanks again for your time and consideration!

Haven’t tried this but just thinking out loud. couldn’t you just make two rules. One basic rule for example would turn a virtual switch off every day at midnight.

Then your basic rule you want to limit to once a day would do whatever you want plus turn that switch on when it runs. So then the rule would not run again because you would also select that as the disable switch. Then midnight would roll around and the other rule would turn the switch off for the next day so it could run one time again.

This is very easy to add.

I have over 100 rules and my hub is very fast.

1 Like

So the question is this: is this use case something that a lot of users need? I don't recall running into it before.

2 Likes

This is not a real concern. Don't worry about it unless you put hundreds of devices on your hub that bash the heck out of it.

2 Likes

Those mockup screenshots are exactly what I was picturing!

It's a feature ST added to their (new at the time) basic automations app when they moved to the new app a while ago... I forget the name of it - it was not Smart Lighting, but soemthing new in additon to that.

Anyway, they had a Once A Day toggle option similar to your screenshot... I found it useful, but I realize it's probably not going to be gangbusters popular -- it's a pretty niche restriction!

It's all just food for thought - it's not like not having it is hindering my goals at all :slight_smile:

Thanks again!

Hey, there is a very easy way to do this already. You don't need a new feature or two rules.

Using Basic Rule, the When X happens is set to a certain time early in the morning, way before whenever you would have this run. Say 1:00 AM. For the action, any do-nothing action would work, say Wait 1 minute.

Then, use Wait Until... with what you would have trigger your actions, followed by the actions.

Every day, this will run once and only once.

5 Likes

Genius - I love it - I'll hook that up!

Thank you!!

1 Like

Was this ever added? I'm looking to make a light turn on when the lux drops below a certain level, however I don't want it to trigger every time my lux sensor reports a new lower level. For example if the light turns on when lux is below 500, and I manually turn it off, I don't want the rule to fire for every level below 500 over and over.

Follow what I said above on Mar 24. It is implemented and should work to do something only one time per day, when triggered by whatever.

Hello, I just wanted to check if this is still the best way to go about implementing a "Once per Day" automation. Is there any issue if the trigger event is skipped on a day or goes multiple days without triggering?

I converted the Basic Rule to Rule Machine and this is what I came up with:

Does that look right for accomplishing once per day restriction?

You might as well delete the delay, and just make it trigger at 2:01 AM instead of 2:00 AM with a 1 minute delay as the first thing.

It will trigger every day, and it doesn't matter if it doesn't run on any given day. It starts over each day at 2:00 AM, ending the previous Wait if it hasn't happened.

2 Likes