Novant

Documentation

Sign in

Mock Sources

Mock sources simulate live and trend data without a physical device. Each mock point is assigned a simulation pattern that generates realistic values on the fly. The patterns are modeled on real commercial-building schedules and typical weather, so trends show believable weekday/weekend operation, morning warmup, seasonal variation, and day-to-day differences — no two days are identical. They’re ideal for demos, dashboards, testing rules and alarms, and mocking up an integration before hardware is available.

Sources

The address format for Mock sources is:

mock:<suffix>

Where suffix is an opaque identifier. Mock sources are not bound to a node.

Examples:

mock:88502
mock:10.0.1.5
mock:ahu-1

Points

The point address selects which simulation pattern to generate, with an optional variant and an optional condition:

<prefix> "." <pattern> [ "." <variant> ] [ "." <condition> ]

Examples:

av.temp          # zone temperature
av.temp.2        # zone temperature, variant 2
bv.run           # fan / equipment run status
ai.temp.stuck    # a temperature sensor with a "stuck" condition

prefix is the standard point type prefix (ai, av, bv, …) and sets the point kind, so match it to the reading (ai/av for analog, bi/bv for binary). The optional variant is an integer that de-correlates identical patterns so points don’t move in lockstep. For example, you can give each of several zone temperatures a different variant and they’ll each read slightly differently.

Simulation patterns

Temperatures

Pattern Simulates Example points
temp Zone/space air temperature — held near setpoint when occupied, drifts to setback overnight Zone Temp, Space Temp, Return Air Temp, Mixed Air Temp
dat Discharge/supply air temperature — warm during morning warmup, cold supply while cooling Discharge Air Temp, Supply Air Temp
oat Outdoor air temperature — realistic diurnal and seasonal weather Outside Air Temp

Setpoints

Pattern Simulates Example points
sp Cooling setpoint on an optimum-start schedule Zone Cooling Setpoint, Supply Air Temp Setpoint
htgsp Heating setpoint on an optimum-start schedule Zone Heating Setpoint

Air quality & humidity

Pattern Simulates Example points
co2 Zone CO₂ — rises with occupancy, decays overnight Zone CO₂, Space CO₂
humidity Indoor relative humidity Space Humidity, Zone Humidity
oarh Outdoor relative humidity (seasonal) Outdoor Humidity
pm Particulate / air quality PM2.5, PM10, TVOC

Airflow & pressure

Pattern Simulates Example points
flow Supply air flow — minimum flow plus cooling demand Supply Air Flow, Discharge Air Flow, Air Flow Setpoint
pressure Duct static pressure Discharge Air Pressure, Duct Static Pressure

Equipment

Pattern Simulates Example points
run Binary on/off following the equipment schedule (warmup start, weekend operation) Fan Status, Enable Command
pct Modulating output driven by cooling demand (0–100%) Cooling %, Cooling Valve, Damper Position
heat Heating output — weather driven, opposite of cooling (active in winter, off in summer) Heating %, Reheat
econ Economizer / outside-air damper — minimum outside air plus free cooling when mild Outside Air Damper Position

Energy

Pattern Simulates Example points
power Whole-building electrical power — lighting + plug + fan + cooling, higher in summer Real Power, kW Demand
energy Cumulative electrical energy kWh Consumption

Other

Pattern Simulates Example points
occ Occupancy fraction (0–1) with a lunch dip; never fully empty Occupancy Sensor
steady A constant baseline (0); pair with a condition to model a status point Alarm/Leak/Tamper status (with a condition)
sine A clean sine wave with no noise Reference / test signal

Most patterns include a small amount of natural variation so trended data looks realistic; setpoints and sine are clean by design.

Conditions

Append a condition to a point address to have it produce a specific abnormal pattern — a sensor fault or a real event — in a repeatable way. Conditions are passive — there’s nothing to trigger. Each condition occurs once a day at a time that varies from day to day, not pinned to the same clock time (it lands somewhere in business hours). The schedule is deterministic for any given day — so it’s fully repeatable and shows up identically in both live and trend data — but across days the timing moves around, which is what you want when exercising fault-detection rules, alarms, and device-health handling end to end.

Condition Behavior Example use
stuck Value flatlines for the whole day Failed / frozen sensor
oor Value pushed outside its normal range for a window Out-of-range / threshold breach
drift Value slowly drifts out of range through the day Calibration drift, low battery
spike Brief transient excursions a few times a day Air-quality / VOC spikes
event Momentarily trips on for a window, then clears Momentary alarm — smoke, tamper
latch Trips on and stays on for the rest of the day Sustained alarm — a leak
dropout Value drops out (no data) for a window Comms loss / device offline
shortcycle Binary output toggles rapidly during operation Equipment short-cycling

Examples:

ai.temp.stuck      # a zone temperature sensor that flatlines
ai.temp.oor        # a zone temperature that goes out of range
ai.co2.drift       # a CO₂ sensor drifting out of calibration
bi.steady.event    # a momentary alarm that trips then clears
bi.steady.latch    # a leak that trips and stays on all day
ai.temp.dropout    # a sensor that goes offline for a window
bv.run.shortcycle  # a fan that short-cycles

The analog conditions (stuck, oor, drift, spike) work on any sensor pattern — swap temp for co2, humidity, flow, and so on. event and dropout work on any point; use steady as the base pattern for status/alarm points.