ENVSENSOR: Environmental Sensor
A physical environmental monitoring sensor tracking temperature, humidity, airflow, or leak at a specific location.
ENVSENSOR definition shipped with DemandFlow. Administrators can add, remove, rename, or re-type fields, change which ones are required, and alter the layout from the Definitions screen in Settings. Your tenant's current schema may differ from what is shown here. To read the current definition at any time, GET the DEFINITION object whose id matches ENVSENSOR.Entity properties
| Property | Value |
|---|---|
| Entity code | ENVSENSOR |
| Display name | Environmental Sensor |
| Plural | Environmental Sensors |
| Level | 276 |
Use cases
Environmental Sensor represents a physical monitoring device deployed at a specific location in the infrastructure hierarchy. Sensors can be placed at room level (ambient monitoring), on a rack (inlet/exhaust temperature), on a floor tile (underfloor airflow), or standalone in a corridor. The location model uses an objectLookup to ROOM as the mandatory parent, with optional rack and tile references to pinpoint exact placement - this avoids duplicating the sensor under multiple parent entities and keeps the hierarchy flat. sensorType uses an indexedSelect rather than a lookup entity because the list of sensor types is stable and well-known in the DCIM domain (temperature, humidity, differential pressure, airflow, water leak, power, vibration, smoke/particulate). Each sensor has a measurement configuration section (unit, polling interval, min/max range) that defines what the sensor measures and how often. The Current Readings panel provides readonly fields designed for integration with BMS, SNMP, or IoT platforms - the system would patch these values via API. Threshold fields (warning/critical high/low) drive alerting logic. The calibration and maintenance panel tracks sensor health and accuracy over time, which is essential for compliance in certified data centres. The entity deliberately does NOT store historical time-series data - that belongs in a time-series database or monitoring platform. This entity tracks the sensor asset, its location, configuration, current state, and maintenance lifecycle.
Fields
Sensor Identification
| Field | Type | Required | Notes |
|---|---|---|---|
name | text | Yes | Unique sensor identifier or asset tag |
sensorType | enum | Yes | Valid ids: 1 (Temperature), 2 (Humidity), 3 (Temperature & Humidity), 4 (Differential Pressure), 5 (Airflow), 6 (Water Leak), 7 (Water Leak Rope), 8 (Power Meter), 9 (Vibration), 10 (Smoke / Particulate), 11 (Door Contact), 12 (Dry Contact). |
status | enum | Yes | Valid ids: 1 (Active), 2 (Planned), 3 (Offline), 4 (Fault), 5 (Calibration), 6 (Decommissioned). |
description | text (multi-line) | Description. |
Location
| Field | Type | Required | Notes |
|---|---|---|---|
room | reference → ROOM | Yes | Room. |
rack | reference → RACK | If mounted on or near a specific rack | |
tile | reference → TILE | If monitoring a specific floor tile or underfloor location | |
mountPosition | enum | Valid ids: 1 (Rack Top), 2 (Rack Middle), 3 (Rack Bottom), 4 (Rack Front Inlet), 5 (Rack Rear Exhaust), 6 (Above Rack), 7 (Underfloor), 8 (Ceiling), 9 (Wall), 10 (Cold Aisle), 11 (Hot Aisle), 12 (CRAC/CRAH Unit), 13 (Freestanding). | |
heightAboveFloor | number | Sensor height from raised floor surface | |
xCoordinate | number | X Coordinate. | |
yCoordinate | number | Y Coordinate. |
Hardware Details
| Field | Type | Required | Notes |
|---|---|---|---|
manufacturer | reference → VEN | Manufacturer. | |
model | text | Model. | |
serialNumber | text | Serial Number. | |
firmwareVersion | text | Firmware Version. | |
protocol | enum | Valid ids: 1 (SNMP), 2 (Modbus TCP), 3 (Modbus RTU), 4 (BACnet), 5 (MQTT), 6 (Zigbee), 7 (LoRaWAN), 8 (Proprietary), 9 (API / REST). | |
ipAddress | text | IP Address. | |
pollingIntervalSec | number | How frequently readings are collected |
Current Readings
| Field | Type | Required | Notes |
|---|---|---|---|
currentTemperature | number | Temperature (°F). Read only. | |
currentHumidity | number | Humidity (%RH). Read only. | |
currentDewPoint | number | Dew Point (°F). Read only. | |
currentAirflow | number | Airflow (CFM). Read only. | |
currentDiffPressure | number | Diff. Pressure (Pa). Read only. | |
currentPower | number | Power (kW). Read only. | |
leakDetected | boolean | Leak Detected. Read only. | |
doorOpen | boolean | Door / Contact Open. Read only. | |
lastReadingTime | datetime | Last Reading. Read only. |
Alarm State
| Field | Type | Required | Notes |
|---|---|---|---|
alarmState | enum | Valid ids: 1 (Normal), 2 (Warning Low), 3 (Warning High), 4 (Critical Low), 5 (Critical High), 6 (Leak Alarm), 7 (Sensor Fault), 8 (Communication Loss). | |
alarmSince | datetime | In Alarm Since. Read only. | |
alarmAcknowledged | boolean | Alarm Acknowledged. | |
alarmAcknowledgedBy | reference → user | Acknowledged By. |
Statistics (24hr)
| Field | Type | Required | Notes |
|---|---|---|---|
tempMin24h | number | Temp Min (°F). Read only. | |
tempMax24h | number | Temp Max (°F). Read only. | |
tempAvg24h | number | Temp Avg (°F). Read only. | |
humidMin24h | number | Humidity Min (%). Read only. | |
humidMax24h | number | Humidity Max (%). Read only. | |
humidAvg24h | number | Humidity Avg (%). Read only. |
Temperature Thresholds
| Field | Type | Required | Notes |
|---|---|---|---|
tempWarningHigh | number | ASHRAE recommended upper: 80.6°F | |
tempWarningLow | number | ASHRAE recommended lower: 64.4°F | |
tempCriticalHigh | number | ASHRAE allowable upper: 89.6°F | |
tempCriticalLow | number | ASHRAE allowable lower: 41°F |
Humidity Thresholds
| Field | Type | Required | Notes |
|---|---|---|---|
humidWarningHigh | number | ASHRAE recommended upper: 60% | |
humidWarningLow | number | ASHRAE recommended lower: 20% | |
humidCriticalHigh | number | Critical High (%RH). | |
humidCriticalLow | number | Critical Low (%RH). | |
dewPointWarning | number | ASHRAE max dew point: 59°F |
Calibration
| Field | Type | Required | Notes |
|---|---|---|---|
lastCalibrationDate | date | Last Calibration. | |
nextCalibrationDate | date | Next Calibration Due. | |
calibrationIntervalMonths | number | Calibration Interval (months). | |
calibrationCertificate | text | Certificate Reference. | |
tempOffset | number | Calibration correction applied to raw reading | |
humidOffset | number | Calibration correction applied to raw reading |
Installation & Maintenance
| Field | Type | Required | Notes |
|---|---|---|---|
installDate | date | Installation Date. | |
warrantyExpiry | date | Warranty Expiry. | |
batteryType | text | For wireless sensors | |
batteryReplaceDate | date | Battery Replaced. | |
notes | text (multi-line) | Notes. |
Relationships
- Lookup:
room(reference →ROOM). - Lookup:
rack(reference →RACK). - Lookup:
tile(reference →TILE). - Lookup:
manufacturer(reference →VEN).
Creating a Environmental Sensor via the API
POST /v1/objects
Authorization: Bearer <your-pat>
Content-Type: application/json
{
"entity": "ENVSENSOR",
"level": 276,
"comboKey": "SUB:<your-sub-id>|ENT:",
"name": "Example name",
"sensorType": "1",
"status": "1",
"room": ""
}
Listing Environmental Sensors records
GET /v1/entities/ENVSENSOR/SUB:<your-sub-id>