True universal timer system (with examples)

Hello,

I’m writing this because it’s the one thing that has really held me back from using HomeAssistant consistently.

Every time I’ve tried HA in the past, I’ve found the way timers are handled a bit frustrating. Currently, my shutters are managed by a Gira Homeserver, and I really like how it handles timers.

A timer event there can:

  • Have a static time
  • Include a positive or negative random offset (e.g., +15 means the event will happen at the set time with a random offset between 0 and 15 minutes)
  • Be based on sunrise and sunset, with either a static or random offset
  • Filter events by type of day (workday, weekend, holiday)
  • Apply only within or outside a specified time range
  • Be constrained by “earliest” and “latest” times

Here’s what the UI for this looks like for better understanding:

So, how could we achieve this in HA?

Fortunately, there’s a very good Python-based, open-source plugin that already handles most of these features for SmartHomeNG.

https://github.com/smarthomeNG/plugins/tree/master/uzsu

There’s also a user interface implementation that might serve as a useful template:

And here’s an impressive implementation for light control based on it.

From what I’ve seen in HA’s architecture documentation, the concepts seem quite similar.

I can code, but I’m only just beginning to understand HomeAssistant’s architecture, and I don’t have enough time to fully take this on right now.

That’s why I’m sharing this here—maybe someone with more HA development experience could tackle it. I’d be happy to support within my time constraints.

I do plan to work on this eventually, but I believe someone with more experience and availability could get a prototype up and running relatively quickly.

Looking forward to the discussion!

Adding the screenshot from the light integration separately since I can only add one media item per post:

ah

So what is the actual request?
All of what you listed above is possible with HA, not with a UI but with yaml and templates.

If you want a UI then the closest is probably the schedule integration where you could trigger on this and have random time added with a delay.

The problem with this is that it is too much for some and too little for others and only a few want it precisely like that.
You could say that it is missing the possibility to only act on a certain date, take a light sensor into account, react to the sun angle instead of just sunset/sunrise, react to a weather sensor, take other light sources into account and so on.

I’m guessing that you did not find what you need because you call this a timer, but in fact it is called a scheduler. So if you look for schedulers that work with Home Assistent, you’ll likely find more suitable candidates, such as:

For lights based on sun, there are also dedicated integrations such as:

Or for covers:

But there’s so much more. Because possibilities are endless, there’s no one stop shop that covers all (pun intended).