Space Points
A space in Novant is a physical room or area. The equipment and sensors that describe what’s happening in that space – a wall-mounted temperature sensor, a VAV serving the room, an IAQ monitor – are modeled as assets, not as properties of the space itself. When an application needs to know “what’s the temperature in this room right now?” it has to find the right point across those assets.
Space points solve that lookup. Given a space, the platform returns a single, coherent set of condition points – one per type – drawn from the assets associated with the space. Consumers get space-level state without walking the asset graph or knowing which asset owns which sensor.
Point Types
The resolved set is limited to the following point types:
air_temp_sensor– air temperatureair_humidity_sensor– relative humidityocc_sensor– occupancy state or countco2_sensor– CO2 concentrationpm25_sensor– PM2.5 concentrationpm10_sensor– PM10 concentrationtvoc_sensor– TVOC concentration
For the full point type catalog, see Point Types.
Candidate Assets
Resolution starts from two relationships on the space:
- Child assets – assets located in the space.
- Fed-by assets – assets that supply the space (for example, a VAV box serving the room).
Both sets are combined and deduplicated by id. From this combined set, only assets whose type is one of the following dedicated space-sensor types are kept, listed here in priority order:
mech.occ– occupancy sensormech.tstat– thermostatmech.iaq– indoor air quality sensor
Non-sensor equipment from the fed-by relationship is then appended at the end as a fallback, so equipment-level readings can stand in when no dedicated sensor is present. Non-sensor child assets are not considered – only equipment that explicitly feeds the space qualifies as a fallback.
Point Selection
The platform iterates the ordered candidate list and the points published by each asset’s sources. The first point encountered for a given space point type wins; higher-priority assets override lower-priority ones for the same type.
Example
A conference room has:
- A dedicated temperature/humidity sensor as a child asset.
- A VAV box as a fed-by asset, exposing discharge-air temperature and occupancy.
Resolution yields:
air_temp_sensorandair_humidity_sensorfrom the dedicated sensor (higher priority).occ_sensorfrom the VAV, since the dedicated sensor doesn’t supply it.
The VAV’s discharge-air temperature is not selected –
air_temp_sensor has already been filled by the
higher-priority room sensor.