Office CO₂ Air Quality Alarm
Monitor office CO₂ levels and alarm when air quality goes out of range — too low (too much fresh air) or too high (too many people) — offices, classrooms, conference rooms.
Who it’s for
Office building managers, HVAC engineers, and greenhouse or grow-room operators asking “is too much fresh air being pulled in and wasting energy?”, “is a conference room or classroom running too high because it’s overcrowded?”, “is the grow-room range too wide for the yield we expect?” — when CO₂ should stay inside a tight comfort or yield range and either edge deserves an alarm.
What it does
Reads the device’s co2 telemetry and raises a Major alarm when
CO₂ goes too high or too low and stays out of range long enough. The
alarm auto-clears once CO₂ returns to a tighter safe range and stays
steady there.
How to set up
The rule has default values for every threshold, so it works as soon as it is installed. Install on a device or asset profile so the alarm covers every entity of that type at once and automatically picks up any new entity added later. Single-device or single-asset installs are also supported.
How to customize
-
To monitor a different telemetry — change the Time series key on the
metricargument (e.g.co2→humidityfor indoor humidity ranges,co2→pm25for particulate ranges). -
To use different threshold attribute names — change the Attribute key on the threshold arguments to match what your devices or assets already use (e.g.
co2WarningHigh→airQualityMax). -
To change the trigger and clear thresholds used when no per-entity attribute is set — change the Default value on the
warningHigh,warningLow,clearHigh, andclearLowarguments. -
To change how long a reading must stay out of range before firing or clearing — change the Default value on the
holdMinutesorclearHoldMinutesarguments. -
To tune thresholds and hold durations at runtime without editing the rule — set the value on the entity as a regular server-side attribute. It can be edited directly from a dashboard using Update Multiple Attributes input widget:
- Per device or asset — set the attribute (e.g.
co2WarningHigh,co2HoldMinutes) on the device or asset itself. The per-entity value overrides the Default value. - Per customer (in deployments that use customers) — change Entity type on the relevant argument to Current owner, then set the attribute on the customer. Every device that customer owns picks up that value.
- Tenant-wide — change Entity type to Current tenant, then set the attribute on the tenant. The value applies across every device.
- Per device or asset — set the attribute (e.g.
-
To make the alarm manual-clear-only — remove the Clear condition. The alarm then stays active until an operator clears it.
-
To restrict firing to occupied hours — in the trigger condition’s Schedule, choose Active at a specific time range (or Custom schedule for different intervals per day). For per-entity schedules — e.g. different rooms with different hours — switch to Dynamic mode and source the schedule JSON from an attribute on the entity.
-
To control where the alarm shows up — toggle the propagation flags under Advanced settings.
Share Your Alarm Rule with the Community
Built a reliable alarm rule? Export it as a JSON from ThingsBoard and publish it to the IoT Hub. Share it with thousands of ThingsBoard developers and help the community react to incidents faster.