Skip to content

Schedule Types

The scheduler supports multiple ways to define when something should happen.

Event (Point in Time)

A single trigger at a specific time.

  • Example: Turn on the lights at 18:00.
  • Output: Sends a payload exactly at the configured time.

Timespan (Duration)

A period with a defined Start and End time.

  • Example: "Active" from 09:00 to 17:00.
  • Output:
    • Sends a "Start" payload at the beginning.
    • Sends an "End" payload when the time is up.

Wrap-Around Schedules

Timespans that cross midnight are fully supported.

  • Example: 22:00 (10 PM) to 06:00 (6 AM).
  • Logic: The scheduler understands this implies the duration spans into the next day.
mermaid
graph LR
    A[Start 22:00] -- Active Overnight --> B[End 06:00]
    B -- Inactive during day --> A

Solar Events

Trigger events based on the sun's position. Requires Latitude and Longitude in node settings.

Event IDEventDescription
nightEndNight EndAstronomical twilight starts (-18°)
nauticalDawnNautical DawnNautical twilight starts (-12°)
civilDawnCivil DawnCivil twilight and golden hour starts (-6°)
sunriseSunriseTop edge of sun appears (-0.833°)
sunriseEndSunrise EndBottom edge of sun touches horizon (-0.3°)
morningGoldenHourEndMorning Golden Hour EndSun is 6° above horizon
solarNoonSolar NoonSun at highest position
eveningGoldenHourStartEvening Golden Hour StartSun is 6° above horizon
sunsetStartSunset StartBottom edge of sun touches horizon (-0.3°)
sunsetSunsetSun disappears below horizon (-0.833°)
civilDuskCivil DuskCivil twilight ends (-6°)
nauticalDuskNautical DuskNautical twilight ends (-12°)
nightStartNight StartAstronomical twilight ends (-18°)
nadirNadirSun at lowest point (solar midnight)

Offsets

Apply +/- offsets to any solar event:

  • Example: "Sunset + 30 mins" (30 minutes after sunset).
  • Example: "Sunrise - 1 hour" (1 hour before sunrise).

Cron Expressions

For complex, recurring patterns, use standard Cron syntax. The UI provides a Cron Builder.

Format

* * * * * * *    Field              Allowed values    Special symbols
| | | | | | |    -----------------  ---------------   ---------------
`-|-|-|-|-|-|->  Second (optional)  0-59              * / , -
  `-|-|-|-|-|->  Minute             0-59              * / , -
    `-|-|-|-|->  Hour               0-23              * / , -
      `-|-|-|->  Day of Month       1-31              * / , - ? L W
        `-|-|->  Month              1-12 or JAN-DEC   * / , -
          `-|->  Day of Week        0-7 or SUN-SAT    * / , - ? L #
            `->  Year (optional)    1970-2099         * / , -

Special Characters

SymbolMeaning
*Matches all values (e.g., every minute).
?No specific value (day-of-month or day-of-week).
-Range (e.g., 10-12 = hours 10, 11, 12).
,List (e.g., MON,WED,FRI).
/Increment (e.g., 0/15 = 0, 15, 30, 45).
LLast (e.g., L in day-of-month = last day; 6L = last Friday).
WNearest weekday (e.g., 15W = nearest weekday to the 15th).
#Nth occurrence (e.g., 6#3 = third Friday of the month).

Examples

ExpressionDescription
* * * * * *Every second
0 * * * * *Every minute
0 */10 * * * *Every 10 minutes
0 0 12 * * *Every day at noon
0 0 7 * * MON#1 *At 07:00 on the first Monday of the month
0 0 2 29 FEB * 2020/4At 02:00 on Feb 29 (leap years)
0 12 * * MONLAt 12:00 on the last Monday of the month

Date Sequences

You can also use fixed dates instead of cron expressions:

  • Single date: 2024-12-25 08:00
  • Multiple dates: 2024-12-25 08:00, 2024-12-31 23:59
  • Timezones: 2024-01-01 00:00 GMT+2