Homey Community Forum

How to run a flow only once a day?

Hi,

I would like to have my vacuum cleaners only run once a day when nobody is at home.

Is there an easy way to ensure that a flow is only executed once a day and then go to pause mode until a new day starts?
I can of course ensure this behavior with multiple flows and pause/unpause flows with it but I’m searching for an easy method with not so much helper flows needed. :wink:

I would think of making a conditional logic which resets everyday to 0 and when the vacuum cleaner starts updates to 1. Then check IF conditional logic = 0 THEN start vacuum cleaner ELSE do nothing

You can use timer functionality (Countdown) that will last 24 hours and will start as soon as flow will start. Until it will run, flow will not start again (use it in then condition).

Yes, this would work. I thought about this already, but also thought that maybe there is a helper app or something which does exactly this. I have some more such scenarios (like only report once a day when the battery is low or similar stuff) and I think that more people hat the requirements like I have. :wink:

  • Within your vacuum cleaner flow (flow 1), end the flow by disabling itself.
  • The second flow is run daily on a specific time, which enables flow 1 again.
1 Like

Hm, let’s say on Monday I leave the house at 8 o’clock and the vacuums are started. The next day I leave at 7 o’clock, but the cleaning would not be started cause the countdown time is still greater than 0. What could work is, I set the countdown timer to 24h - $current_time => 24h - 8 o'clock = 16h. This would ensure that the earliest time the flow could run again would be at midnight.
This sounds okay - I will try that!

Flow 1;

When;
last person left home

then;

start cleanup
Disable flow (after 5 seconds)

Flow 2;
Every night at 2 AM enable flow

1 Like

see my answer here: I really would like to only have one flow per scenario: How to run a flow only once a day?

You’re making your life harder than needed :slight_smile:

——
When;

Last person left

And;
Logic “vacuum countdown” IS LESS THEN 100

Then;
Start vacuum
Start countdown timer “vacuum countdown“ to 36000

——
Just noticed this was already mentioned, nvm :slight_smile:

Would for sure not use a timer, thats runs for hours. So i would go for the option mention by @Hannes85

Ofcourse it wouldnt be a problem to have 1 timer running, but if you would have several timers running at the same time… homey performens could be getting worse as normal

I’ve made a feature request once for a condition card:
“When this flow had not run today”
But never heard again.

I’ve use a variabele and better logic for that.

Come on, its just a timer, not a moon landing calculation :wink:

1 Like

Like i said 1 wouldnt be a problem :wink: but its also my personal thought about it. If people want a timer running for hours and hours, i really dont care.

Its just to often that i think that lot of problems with slowly homeys is a part of wrong flows, like that flows running when not needed, etc etc

But ey thats my thoughts :grinning:

I had a similar question where I wanted a text and voice reminder to get the trash outside. Made a movement alarm that checks a logic where the day is not the current day. It will flip the logic card at the end of the flow.

2 Likes

That is a nice trick! Will definitely try this out

Nope, but Homey has to keep counting for 24 hours. Thus use processor capacity and memory to keep track. If you make several flows with such a long timer… Fill in the blanks. But don’t expect to get them filled in very fast…

Then the Countdown is buggy. Countdown timers should not use much cpu power, and even less memory. Though I found the way to use the current date much more elegant.

1 Like