I would like to fix the edge condition of schedules being skipped because the Indigo server is offline and then restarted.
I noticed that I was doing some system maintenance/upgrading and so Indigo was not running when my daily "Outside lighting" schedule usually runs. That schedule uses a condition of "Sunset + 15 minutes".
I noticed that I can set a trigger of type "Indigo Startup" that will run when the server is started.
I'm wondering what the best strategy is to have this trigger execute any applicable scheduled activities that may have been missed. Because this is a trigger and not a schedule, it has "condition" and "actions", but the condition syntax is not the same as the "schedule" tab. Thus, it is not trivial to replace a missed schedule as the "conditions" syntax doesn't directly allow for "If Sunset + 15 minutes or later" type of conditional test.
I know I can get close to that by just using the time or system variables, but I was wondering how other people are doing this?
I also don't like the idea of replicating existing scheduled tasks as triggers. Philosophically it violates the "DRY" programming as I would have to remember to change something in two places.
Does Indigo have a "run skipped schedules" capability or does that even make sense to consider a feature like that?
What is the best/simplest way to achieve this? Obviously, this occurs rarely, but for completeness I would like to handle this situation.