Schedules are the
programming logic used to manage the time-based operation of HVAC equipment (VAVs, AHUs, FCUs) and
other devices, ensuring they run only when needed.
The
following guide details how to discover and manage schedules within the KODE OS
platform.
Discovering Existing Schedules
Schedules
in KODE OS are usually pulled from a connected Data Source, such as a Niagara
BMS or another building control system.
Schedule Discovery
is how KODE OS
pulls schedules that are already set up in a connected Data Source (BMS), so you can manage them centrally in the
platform. This process gives users a single, centralized place to manage all
building schedules without losing any data or having to recreate schedules
manually.
To
initiate the discovery of schedules, follow these steps:
Navigate to
the Data Sources module on the
left navigation menu.
Find the desired Data Source and click the
three-dot menu (...) at the end of the row.
Select Discover Schedules.

An Activity Log pop-up will appear at
the bottom right, confirming when the discovery process is Completed.
Clicking on the blue arrow will navigate you
to the Schedule Discovery page.
Here, you will see a list of schedules available on the data source.
Select the desired schedules from
the list (you can select all using the header checkbox or select
individual rows).
Click the Add to Database button in the bottom right corner. You'll
receive a confirmation message that the schedule was saved successfully.
Click Complete Discovery at the top right corner to finalize the
discovery session.
Once this
process is complete, you can navigate back to the Schedules module on the left navigation menu. All the schedules you discovered are now listed here.
Creating New Schedules
To create
a new schedule in KODE OS:
Navigate to the Schedules module through the left-hand menu.
Click the Create Schedule button in the top right corner.
In the Create New Schedule pop-up, enter
the Name, select the Folder, and choose the Data Source.
Type: Choose Weekly Schedule
(for regular weekly usage) or Calendar
Schedule (for special events and holidays).
Kind
(applicable to Weekly Schedules):
Select the data type that matches the points you'll command:
○ Boolean Schedule: For true/false commands (most common for Occupied/Unoccupied).
○ Numeric Schedule: For setpoint
values (outputs a number).
○ Enum Schedule: For multi-state
points.
Click Save, and you’re done.
Main
Features After Schedule Creation
Once a
schedule is created, the Schedule
Details & Properties page displays some key settings, as shown below.
● Schedule Details & Properties: This top section contains configuration settings:
○ Schedule Name/Display Name
○ Data Source
○ Kind
○ Effective Period & Default Output:
- Effective Start/End: Defines the date
range during which the schedule is active.
- Default Value: The output value
that the point receives when there are no active scheduled events. The Key/Value pairs (e.g., falseText/false, trueText/true) define the schedule's available command outputs.
● Weekly Schedule Tab: Here, you define
repeating events for each day of the week, setting the start time, end time,
and the corresponding output value (e.g., true
for occupied).
● Special Events Tab: This section is
used to manage exceptions to the regular Weekly Schedule, such as holidays or
specific overrides.
Weekly Schedules and Special Events
Weekly Schedules Tab
The Weekly Schedule Tab is where you define
routine operating times. The schedule controls must be set here for the control
logic to take effect.
Creating Events
In the Weekly Schedule tab, when clicking
anywhere on an empty slot (e.g., for Monday),
a pop-up menu appears, offering the following options for creating or managing
events:
● Create Event: Define a custom
start/end time and select the output
value (True or False).
● All Day Event: Quickly sets a
single state for 24 hours. By default,
the value will be true (occupied).
● Clear Week: Removes all events from the entire schedule
week.
Managing Existing Events
When
clicking on an existing event, a
separate menu provides options for management, such as editing the event, deleting
the event, applying it from Monday
to Friday, applying it to every day
of the week, or clearing the whole
week’s slot.
Special Events Tab
The Special Events tab is used to add
exceptions or overrides to the regular Weekly Schedule, such as holidays or
specific shutdowns.
To create
a new Special Event:
In the
Weekly Schedule's Special Events
tab, click + New Event.
This opens
the Add Special Event pop-up,
where you provide the event a Name
and select its Type. You will
then configure the date parameters for the special event.
Lastly, hit Save, and the new Special Event
will be created.
Using the
Reference Type
Selecting
the Reference type is the most
efficient and scalable way to manage recurring, global exceptions like
holidays.
When
selected, the system prompts you to choose an existing Calendar Schedule. This creates a centralized link; the Weekly Schedule automatically inherits all
exception dates from the referenced Calendar Schedule, ensuring consistency and
saving time.
After
linking the reference, you must define the time
and command value (e.g., All Day
Event set to False) that should
apply on those referenced dates.
Calendar Schedules
Calendar Schedules
define central
lists of specific exception dates (like holidays or maintenance days). They do not command equipment directly;
instead, they serve as a master list
that can be referenced by multiple Weekly Schedules. This allows for
centralized management of exceptions.
How to Create a Calendar Schedule
Navigate to Schedules and click the Create Schedule button.
In
the pop-up, give the schedule a Name
and select the schedule Type as
Calendar Schedule.
Click
Save.
In the new schedule's
details, click + New Event.
In the Add Special Event pop-up, provide a name, and select a date Type.
Configure the date settings
(e.g., set Year - Any for a
recurring holiday) and save.
Click
Save on the main page to
finalize the Calendar Schedule.
Linking Points to a Schedule (Point Referencing)
Schedules
most commonly target points on devices such as: VAVs (occupancy), AHUs
(fan status), and FCUs (zone
control).
After
creating a schedule, you must link it to the specific points on the devices
that the schedule will control. The Point
References section is where the schedule's logic is applied to devices.
To add
point references to a schedule, follow these steps:
Open the schedule’s details by clicking on
its name.
Navigate to the Point References button on the top right corner.
Click on the edit button (indicated by the
pencil symbol) and then click the "Add
Point Reference" option.
Use the filters (Data Source, Area, Device Type, Point
Kind, and Field) to quickly
narrow down the specific points you want to command.
On the next
screen, select the points you want to link to the schedule.
Click Apply Point Reference, then hit Save on the top right corner of
the main page.
Point Reference Type Relation (Direct vs. Indirect):
The Type defines whether KODE OS controls
the schedule link in the underlying Building Management System (BMS):
● Direct: KODE OS is in Charge.
KODE OS actively tells the BMS to create the schedule link. It writes
the connection directly into the BMS so the schedule works everywhere.
● Indirect: BMS is in Charge.
The schedule link already exists in the BMS. KODE OS only tracks and monitors this link but does
not try to send or write any control information back to the BMS.
How to View if a Point is
Being Commanded (Occ Cmd Command Window)
To verify
the schedule's live command:
From the schedule's Point References page, click on the specific point link (e.g.,
an Occupancy Cmd point).
This takes you to the Point Details page. Locate the Occ Cmd (Occupancy Command) or Command section.
Check the command
hierarchy. If the schedule is running in an active time slot, its output value
(e.g., true) will be visible at its
dedicated priority level, confirming it is currently sending the command.