Scheduler

Scheduler

ID: uniflow.plugin.scheduler  •  Category: Timer / Logic  •  Version: v1.0.8

Scheduler Plugin Reference Manual

1. Overview

Plugin Name: Scheduler

Type: Automation / System

Identifier: uniflow.plugin.scheduler

Description

Provides automated date-, time-, interval-, and Cron-based trigger evaluation for Uniflow industrial rule execution. Evaluates configured schedules across system or IANA timezones and emits multi-format timestamp data (ISO 8601 string, Unix Time in seconds, Unix Time in milliseconds, booleans, and custom values) into the Uniflow telemetry catalog to fire rules on exact schedules.


2. Configuration Parameters

The following configuration fields are available in the User Interface for this plugin:

Configuration SettingDescription
Source NameFriendly display name of the Scheduler source instance (e.g., Shift Event Scheduler).
Time ZoneTarget timezone used for schedule evaluation (Local, UTC, or system/IANA timezone ID e.g., UTC, Eastern Standard Time, Europe/London).
Check Tick (sec)Evaluation check tick frequency in seconds (default 1 second, minimum 1).
EnabledBoolean flag (True/False) specifying if the scheduler engine is active.

3. Scheduled Points & Trigger Configuration

Each configured Scheduler source manages a collection of scheduled points. Points can be added, edited, or removed using the dedicated Schedule Point Editor Dialog.

Point ParameterDescription
Trigger NameFriendly display name of the scheduled trigger point (e.g., Morning Shift Start, Daily Report Generation).
Schedule TypeSchedule timing strategy: DailyTime, OneTime, Cron, or Interval.
Time of Day (HH:mm:ss)Time of day target for DailyTime and OneTime schedules (formatted as HH:mm:ss, e.g., 08:30:00).
Target DateSpecific calendar date target for OneTime schedules.
Active Days of WeekDay-of-week active flags (Mon, Tue, Wed, Thu, Fri, Sat, Sun) for DailyTime schedules.
Cron ExpressionStandard 5-field Cron expression (e.g., 0 8 * * 1-5 for Mon-Fri at 8:00 AM) with live preview validation.
Interval SecondsRecurrence period in seconds for Interval schedules (e.g., 60 for every minute).
Output Payload FormatPayload format emitted upon trigger: DateTime, UnixTimeSeconds, UnixTimeMilliseconds, Bool, CustomString, Int32.
Custom String ValueText payload value emitted when PayloadType is CustomString.
Custom Int ValueInteger payload value emitted when PayloadType is Int32.
EnabledBoolean flag indicating whether the individual point trigger is enabled.
Auto-disable (OneTime)Automatically disables the trigger point after firing once (OneTime schedules).

4. Key Features & Dialogs

Timezone-Aware Schedule Evaluation

  • Supports global timezones (Local, UTC, and all operating system / IANA timezones).
  • Handles daylight saving time transitions and timezone offsets seamlessly.
  • Flexible Trigger Strategies

  • DailyTime: Triggers every day or on selected active days of the week at a specific HH:mm:ss timestamp.
  • OneTime: Fires once on a specific target date and time, with optional auto-disabling.
  • Cron Expressions: Parses standard 5-field cron syntax (minute hour day-of-month month day-of-week) using the Cronos engine, with real-time expression validation and next-occurrence preview in the UI.
  • Interval: Fires periodically at fixed second intervals (e.g., every 30 seconds).
  • Multi-Port Output Data Stream

    When a schedule fires, the source adapter populates all available output representation ports on the Rule Integration node:

  • ISO 8601 String: e.g., "2026-08-01T08:30:00.0000000+00:00"
  • Unix Time (s): 64-bit integer seconds since Epoch (1785573000)
  • Unix Time (ms): 64-bit integer milliseconds since Epoch (1785573000000)

  • 5. Exposed Routes & Data Types

    The following routes are available in the Uniflow catalog for this plugin:

    Display NameRoute IDKindCategoryAccessData Type
    point.Namepoint.Id (GUID)ValueSchedulerReadWriteString / Int32 / Double / Bool

    6. Usage Examples

    Scenario A: Triggering Daily Shift Reports at 08:30 AM (Mon-Fri)

    1. In the Scheduler Source Editor, create a new source named Shift Scheduler with Time Zone = Local.

    2. Click Add Schedule and configure:

  • Name: Morning Shift Start
  • Schedule Type: DailyTime
  • Time of Day: 08:30:00
  • Active Days: Check Mon, Tue, Wed, Thu, Fri (Uncheck Sat, Sun)
  • Output Format: DateTime
  • 3. In the Rule Editor, place a Source Input graph node select Shift Scheduler -> Morning Shift Start.

    4. Connect the ISO 8601 (String) output port or Unix Time (s) output port to downstream notification nodes (e.g., Email, MQTT, Database logger).

    Scenario B: Periodic Clean-up Task Using Cron

    1. In the Scheduler Source Editor, click Add Schedule.

    2. Configure:

  • Name: Hourly Backup Trigger
  • Schedule Type: Cron
  • Cron Expression: 0 * * * * (Fires at minute 0 of every hour)
  • Output Format: UnixTimeSeconds
  • 3. In the Rule Editor, link the trigger port to execute database export or file cleanup rules.

    Scenario C: One-Time Maintenance Event

    1. Configure:

  • Name: Scheduled Maintenance Reboot
  • Schedule Type: OneTime
  • Target Date: 2026-12-31
  • Time of Day: 23:00:00
  • Auto-disable after firing: Checked (True)
  • 2. Upon reaching the target date and time, the scheduler fires the rule and automatically disables the point.