Energy Efficiency Classification (ISO 52120-1)
Overview
ISO 52120-1 defines standards for how Building Automation and Control Systems (BACS) affect building energy use. See also Building Automation - Impact on Energy Efficiency. This guide explains the ISO 52120-1 model basics for evaluating and classifying building automation controls, showing developers how to:
- Map functions to Control Applications
- Assign Control Function Types
- Set energy levels
Examples come from ETS (KNX Engineering Tool) export formats. This document explains how to add new Control Functions to the model. It supports the Smart Linking initiative.
Purpose and Scope
The primary goal of ISO 52120-1 is to rate building energy performance based on the features of installed automation and control systems. The standard notes that building automation affects energy use across several technical domains (trades):
- Heating Systems: Control of heat sources, piping networks, emission devices, and thermal energy storage.
- Cooling Systems: Control of chillers, chilled water piping, cooling emission, and cold thermal storage.
- Ventilation/Air Handling Units (AHU): Control of air flow, temperature, humidity, pressure, and heat recovery systems.
- Domestic Hot Water (DHW): Control of DHW storage charging, pumps, and temperature.
- Lighting Systems: Occupancy-based and daylight-based lighting control.
- Blinds/Shading: Solar shielding, glare control, and thermal and visual comfort tuning.
Beyond trade-specific control functions, the standard also covers advanced Technical Building Management (TBM) features that provide cross-cutting gains across all building systems:
- Setpoint Management: Adapting control setpoints based on modes and occupancy patterns.
- Runtime Management: Scheduling system runs by calendars and time plans.
- Fault Detection: Ongoing monitoring and diagnosis of building systems.
- Energy Reporting: Collecting and showing energy use data and indoor conditions.
- Local Energy Production: Managing onsite renewable energy sources such as solar and CHP.
- Waste Heat Recovery: Use of waste heat and thermal energy shifting.
- Smart Grid Integration: Demand-side control and grid interaction.
Energy Efficiency Classification System
ISO 52120-1 defines an energy efficiency grading scheme ranging from Class D (non-energy efficient BACS) to Class A (high energy performance BACS and TBM). This system enables:
- Systematic Evaluation: Scores each control function based on its level and control strategy.
- Quantitative Assessment: Assigns points based on control features in place.
- Performance Benchmarking: Compares control strategies and shows their impact on energy use.
- Improvement Guidance: Finds ways to boost building energy performance.
Classification Criteria and Control Levels
The standard defines control levels, typically 0 to 4, for each building automation function. Higher numbers mean more advanced features:
- Level 0: No automatic control or manual only - the baseline with minimal energy savings
- Level 1: Basic automatic control - simple on/off, time-based, or fixed setpoint control
- Level 2: Control with external feedback - uses external sensors (for example, outside temperature offset) or multi-stage runs
- Level 3: Adaptive control - variable control based on internal estimates, load-based runs, or tuned algorithms
- Level 4: Demand-driven control - uses external demand signals, occupancy sensing, or predictive methods
Different control functions may use subsets of these levels. For example:
- Emission Control progresses from no automatic control (0), to central control (1), and individual room control (2). It continues to individual room with communication (3), and individual room with communication and occupancy detection (4).
- Distribution Pump Control advances from no automatic control (0), to on/off (1), and multi-stage (2). It continues to variable speed with internal estimations (3), and variable speed with external demand signals (4).
- Generator Control ranges from constant temperature (0), to outside temperature compensation (1), and variable control depending on load or demand (2)
Each level maps to a specific ISO 52120-1 efficiency class (A, B, C, or D). The standard defines this mapping for each control function. The level-to-class assignment varies by function, reflecting the control depth needed to reach each performance class. Higher levels mean more advanced control and more points toward the overall building energy score.
Energy Flow Integration
The diagram below shows how different building automation trades connect in terms of energy flow and control. These links are key to tuning overall building energy performance:

The energy flow view shows that good building automation needs coordinated control across all trades. For instance, emission control for heating interacts with ventilation. This in turn affects cooling needs. Blind control changes both heating and cooling loads through solar gain. DHW systems may tie into heating through combined heat production.
Energy Level Evaluation Examples
The ISO 52120-1 standard enables automated energy efficiency grading by analyzing semantic building models. The following examples show how to evaluate Application Functions (as defined in Application Functions) using ISO 52120-1 criteria and their ontological form.
The following Application Function examples have descriptive semantic properties. These describe the control features: sensors, actuators, and states used by the control logic. These properties list what quality kinds the system observes or actuates. Communication interfaces may or may not expose these values. While devices may hold many internal values for sensors and actuators, the Application Function model abstracts these details. It focuses on the functional control features.
When control logic exposes and accesses datapoints, added core:groups links can tie the Application Function to specific datapoints (Points). For ISO 52120-1 grading, the examples focus on the feature-level view. This view holds whether the system exposes datapoints publicly or keeps them internal.
Lighting Control Energy Efficiency
The following energy efficiency matrix defines the ISO 52120-1 levels for lighting control based on occupancy and daylight control.

Example 1: Simple On/Off Lighting Control
This example shows a basic manual lighting control without automation. The semantic model enables grading by analyzing the Application Function derived from lightingCtrl with minimal control features.
Application Function Classification (Simple Lighting)
The model classifies the SimpleLightingCtrl_101 Application Function as:
lightingCtrl(subclass ofequipmentCtrl)
This reflects the baseline lighting control strategy with manual on/off switching only and no automated control, occupancy sensing, daylight sensing, or dimming.
Semantic Model Representation (Simple Lighting)
A simple manual lighting control Application Function without occupancy detection or daylight control includes:
{
"@id": "prj:SimpleLightingCtrl_101",
"@type": [
"func:lightingCtrl",
"iso52120:light-5-1-OccupancyControl"
],
"dct:title": "Simple On/Off Lighting Control",
"iso52120:isControlFunctionType": ["5.1.0"],
"tag:operatesForTrade": [
"tag:lighting"
],
"tag:measuresEquipmentQualityKind": {
"@id": "tag:qk_eq_switch_room"
},
"tag:actsOnPhenomenonQualityKind": {
"@id": "tag:qk_ph_light_illuminance_room"
},
"tag:adjustsEquipmentQualityKind": {
"@id": "tag:qk_eq_luminaire_energy"
},
"tag:hasOperationKind": [
{"@id": "prj:ok_activation_user_on_off_eq_switch_room"},
{"@id": "prj:ok_situation_automatic_on_off_eq_luminaire_energy"}
],
"loc:isApplicationFunctionOf": {
"@id": "prj:Room_101"
},
"knx:hasFunctionPoint": [
{ "@id": "prj:GA-1"},
{ "@id": "prj:GA-2"}
]
}
Semantic Relationship Interpretation:
- operatesForTrade: Names the lighting trade for ISO 52120-1 section 5 (Lighting Control) scoring
- measuresEquipmentQualityKind: Measures the manual switch state
tag:qk_eq_switch_room. This lets the system detect manual wall switch use for on/off control. - actsOnPhenomenonQualityKind: Defines the controlled item
tag:qk_ph_light_illuminance_room(room light level). This is without sensor feedback for closed-loop control. - adjustsEquipmentQualityKind: Sets luminaire energy control
tag:qk_eq_luminaire_energy. This means simple on/off switching of the luminaire's power state, not dimmable control. - hasOperationKind: Lists two operation kind entries:
prj:ok_activation_user_on_off_eq_switch_room- User action through manual switch with on/off statesprj:ok_situation_automatic_on_off_eq_luminaire_energy- Status tracking of luminaire energy state (on/off)
- isApplicationFunctionOf: Links to the specific room, enabling zone-based lighting control review
- hasFunctionPoint: Links to the Function Point with group addresses that KNX uses. Examples include light switch and status data. The objects via KNX may be only a subset of the setpoints, sensors, and actuators on the device.
Energy Classification Assessment (Simple Lighting)
The semantic model enables automated ISO 52120-1 classification by analyzing:
- Application Function Types: Query all
func:lightingCtrlinstances to find lighting control systems - Sensor Absence: Verify no
observesPhenomenonQualityKind, showing no automated sensing - Actuator Type: Check
adjustsEquipmentQualityKindfortag:qk_eq_luminaire_switch_room, showing on/off switching vs. dimming - Control Loop Absence: Confirm no closed-loop control due to missing sensor feedback
- Zone Coverage: Use
isApplicationFunctionOfto assess room-by-room lighting control - State-Based Control Absence: Confirm no
tag:hasOperationKind, showing manual use without automated modes
ISO 52120-1 Type Assignment:
Based on the detected features, reasoning engines do not add special ISO 52120-1 types to the Application Function's @type array for this basic setup. The lack of occupancy and daylight control types means baseline (Class D) performance.
ISO 52120-1 Section 5.1 (Occupancy Control) - Level 0 + Section 5.2 (Daylight Control) - Level 0:
This is the baseline (lowest) level with no automatic control, including manual on/off switching only, no occupancy sensing, no daylight sensing, and no dimming. This setup needs full manual action and provides no automated energy-saving features.
Example 2: Lighting Control with Occupancy and Daylight
This example shows a lighting control with occupancy sensing and daylight-based control. The semantic model enables automated scoring by analyzing the Application Function derived from lightingCtrl and its linked operation kind.
Application Function Classification (Lighting with Occupancy and Daylight)
The model classifies the OfficeLightingCtrl_215 Application Function as:
lightingCtrl(subclass ofequipmentCtrl)
This reflects a lighting control strategy that blends occupancy-based control through presence sensing and daylight-based control using an external daylight sensor. Interior light sensing for closed-loop control and dimmable luminaire action enable smooth light level tuning.
Semantic Model Representation (Lighting with Occupancy and Daylight)
Consider a simple lighting switch control example (detailed in application-functions.md - Light w/ Scene Control). Without an occupancy sensor Function Point, the system gets Class C or D. The system lacks automated occupancy-based control. However, if the system includes occupancy sensing with proper semantic modeling, it qualifies for higher classes.
The ontology models state types (like tag:presenceOccupied) via tag:hasStateType on tag:OperationKind. This example shows the Application Function with an operation kind that includes presence state types, enabling occupancy-based lighting control for ISO 52120-1 section 5.1 grading. It also includes manual on/off switching.
A complete lighting control Application Function with occupancy and daylight control capabilities includes:
{
"@id": "prj:OfficeLightingCtrl_215",
"@type": [
"func:lightingOccupancyCtrl",
"func:lightingDaylightCtrl",
"iso52120:light-5-1-OccupancyControl",
"iso52120:light-5-2-DaylightControl"
],
"dct:title": "Office Lighting Control with Occupancy and Daylight",
"iso52120:isControlFunctionType": ["5.1.2", "5.2.1"],
"tag:operatesForTrade": [
"tag:lighting"
],
"tag:measuresEquipmentQualityKind": {
"@id": "tag:qk_eq_switch_room"
},
"tag:observesPhenomenonQualityKind": [
{"@id": "tag:qk_ph_light_illuminance_room"},
{"@id": "tag:qk_ph_light_illuminance_outside"},
{"@id": "tag:qk_ph_person_positionvector_room"}
],
"tag:actsOnPhenomenonQualityKind": {
"@id": "tag:qk_ph_light_illuminance_room"
},
"tag:adjustsEquipmentQualityKind": [
{"@id": "tag:qk_eq_luminaire_dimmlevel"},
{"@id": "tag:qk_eq_luminaire_energy"}
],
"tag:hasOperationKind": [
{"@id": "prj:ok_activation_user_on_off_eq_switch_room"},
{"@id": "prj:ok_activation_automatic_occupied_unoccupied_ph_person_positionvector_room"},
{"@id": "prj:ok_activation_automatic_off_ph_temporal_delay_luminaire_energy"},
{"@id": "prj:ok_sp_user_on_eq_luminaire_dimmlevel"}
],
"loc:isApplicationFunctionOf": {
"@id": "prj:Office_215"
},
"knx:hasFunctionPoint": [
{ "@id": "prj:GA-11"},
{ "@id": "prj:GA-12"},
{ "@id": "prj:GA-13"}
]
}
Semantic Relationship Interpretation:
- operatesForTrade: Names the lighting trade for ISO 52120-1 section 5 (Lighting Control) scoring
- measuresEquipmentQualityKind: Measures the manual switch pressure state
tag:qk_eq_switch_Pressure. This enables sensing of manual input through wall switch use. - observesPhenomenonQualityKind: Captures three sensor inputs:
tag:qk_ph_light_illuminance_room(interior light level) for closed-loop controltag:qk_ph_light_illuminance_outside(daylight sensor) for daylight-based controltag:qk_ph_person_positionvector_room(occupancy sensing) for presence-based lighting control
- actsOnPhenomenonQualityKind: Defines the controlled item
tag:qk_ph_light_illuminance_room(room light level). This enables automated scoring of closed-loop lighting control. - adjustsEquipmentQualityKind: Sets luminaire dimming level control
tag:qk_eq_luminaire_dimmlevel. This means dimmable lighting, not simple on/off switching. - hasOperationKind: Defines an operation kind for the function with:
tag:hasStateTypelistingtag:presenceOccupiedandtag:presenceUnoccupiedfor binary occupancy statestag:hasPointFunctionType: "tag:situation"meaning this is a current state valuecore:refersTo: "tag:qk_ph_person_positionvector_room"to link to the observed quality kind
- isApplicationFunctionOf: Links to the specific office space for zone-based lighting review
- hasFunctionPoint: Links to the Function Point with group addresses that KNX uses, for example, from a light switch, occupancy and daylight sensor. The objects via KNX may be only a subset of the setpoints, sensors, and actuators on the device.
Energy Classification Assessment (Lighting with Occupancy and Daylight)
The semantic model enables automated ISO 52120-1 grading by checking:
- Application Function Types: Query all
func:lightingCtrlinstances to find lighting control systems - Daylight Sensor: Check
observesPhenomenonQualityKindfortag:qk_ph_light_illuminance_outsideto verify daylight sensing (section 5.2) - Control Loop Check: Confirm closed-loop control by verifying both
observesPhenomenonQualityKind(room light input) andactsOnPhenomenonQualityKind(room light target) usetag:qk_ph_light_illuminance_room - Actuator Type: Check
adjustsEquipmentQualityKindfortag:qk_eq_luminaire_dimmlevel, showing dimmable lighting vs. simple on/off - Zone Coverage: Use
isApplicationFunctionOfto assess room-by-room lighting control - State-Based Control: Check Application Functions with
tag:hasOperationKindhavingtag:hasStateTypeto detect: tag:presenceOccupied/tag:presenceUnoccupied- Occupancy-based control for ISO 52120-1 section 5.1- Operating mode states that change lighting control behavior
ISO 52120-1 Type Assignment:
Based on the detected features, reasoning engines add ISO 52120-1 types to the Application Function's @type array:
-
Adds
iso52120:light-5-1-OccupancyControlwhen:observesPhenomenonQualityKindcontainstag:qk_ph_person_positionvector_room(occupancy sensing)tag:hasOperationKindincludestag:hasStateTypewith presence states (tag:presenceOccupied,tag:presenceUnoccupied)- This means the system can control lighting based on room occupancy, qualifying for ISO 52120-1 section 5.1.
-
Adds
iso52120:light-5-2-DaylightControlwhen:observesPhenomenonQualityKindcontainstag:qk_ph_light_illuminance_outside(external daylight sensor)adjustsEquipmentQualityKindcontainstag:qk_eq_luminaire_dimmlevel(dimmable lighting)- This means the system can adjust lighting based on daylight, qualifying for ISO 52120-1 section 5.2.
ISO 52120-1 Section 5.1 (Occupancy Control) - Level 4 + Section 5.2 (Daylight Control) - Level 4:
This reaches the highest levels by combining key features:
- Automatic occupancy sensing with presence states for on/off control
- Daylight sensing with exterior light level readings
- Closed-loop dimming control based on interior light feedback
- Dimmable luminaires for smooth light output tuning
The mix of both occupancy-based and daylight-based control yields Level 4 for both control functions.
Heating Emission Control Energy Efficiency
The following energy efficiency matrix applies to both the Fan Coil Unit (Example 3) and Convector Radiator (Example 4) control systems. This matrix defines the ISO 52120-1 levels for heating emission control based on control depth.

Example 3: Fan Coil Unit Individual Room Control
Individual room control is a higher energy efficiency class for HVAC systems. It enables zone-specific temperature control instead of central control for entire building sections. The two-pipe fan coil unit example (detailed in application-functions.md - Fan Coil Control) shows a typical individual room control setup.
System Diagram (Fan Coil Unit)

Application Function Classification (Fan Coil Unit)
The model classifies the 2PipeFanCoilCtrl_142 Application Function as:
airTemperatureCtrl(subclass ofairCtrl)fanCoilCtrl(subclass offanCtrl→flowMovingCtrl→equipmentCtrl)scheduler(subclass ofplantMngmtCtrl)
This reflects the heating control strategy of a fan coil unit. The unit has a fan and a heating coil with a modulating valve. The system provides room-level temperature control through valve action, which controls hot water flow to the heating coil. The fan ensures good air flow and rapid thermal response. The time-based scheduler adjusts setpoints and modes.
Semantic Model Representation (Fan Coil Unit)
The JSON-LD form (shown in application-functions.md) includes semantic tags that directly map to ISO 52120-1 criteria.
The Application Function includes an operation kind that can take on different HVAC mode states via tag:hasStateType. The ontology defines these state types. They directly map to ISO 52120-1 intermittent control features (sections 1.5/3.5), key for Class A energy efficiency.
A complete Application Function includes many semantic links:
{
"@id": "prj:2PipeFanCoilCtrl_142",
"@type": [
"func:airTemperatureCtrl",
"func:scheduler",
"func:fanCoilCtrl",
"iso52120:heat-1-1-EmissionControlHeating"
],
"dct:title": "Fan Coil Control",
"iso52120:isControlFunctionType": ["1.1.4"],
"tag:operatesForTrade": [
"tag:heating",
"tag:ventilation"
],
"tag:observesPhenomenonQualityKind": [
{"@id": "tag:qk_ph_air_temperature_room"},
{"@id": "tag:qk_ph_person_positionvector_room"}
],
"tag:actsOnPhenomenonQualityKind": {
"@id": "tag:qk_ph_air_temperature_room"
},
"tag:adjustsEquipmentQualityKind": [
{"@id": "tag:qk_eq_fanmotor_angularvelocity_room"},
{"@id": "tag:qk_eq_valveactuator_positionvector"}
],
"tag:hasOperationKind": [
{"@id": "prj:ok_sp_user_air_temperature_room"},
{"@id": "prj:ok_activation_automatic_occupied_unoccupied_ph_person_positionvector_room"},
{"@id": "prj:ok_situation_automatic_hvacmode_comfort_standby_economy_protection"},
{"@id": "prj:ok_situation_automatic_eq_fanmotor_angularvelocity"},
{"@id": "prj:ok_situation_automatic_eq_valveactuator_positionvector"}
],
"loc:isApplicationFunctionOf": {
"@id": "prj:Room_142"
},
"core:demands": {
"@id": "prj:ValveCtrl_A"
},
"knx:hasFunctionPoint": [
{ "@id": "prj:GA-21"},
{ "@id": "prj:GA-22"}
]
}
{
"@id": "prj:ValveCtrl_A",
"@type": [
"func:valveCtrl",
"func:distributionCtrl",
"func:waterTemperatureCtrl",
"iso52120:heat-1-5-IntermittentControlHeating"
],
"dct:title": "Valve Distribution Control",
"iso52120:isControlFunctionType": ["1.5.3"],
"tag:operatesForTrade": ["tag:heating"],
"tag:actsOnPhenomenonQualityKind": {
"@id": "tag:qk_ph_water_volumeflowrate_pipesection"
},
"tag:adjustsEquipmentQualityKind": {
"@id": "tag:qk_eq_valveactuator_positionvector"
},
"tag:hasOperationKind": [
{"@id": "prj:ok_situation_automatic_eq_valveactuator_positionvector"}
],
"knx:hasFunctionPoint": [
{ "@id": "prj:GA-21"}
]
}
{
"@id": "prj:Room_142",
"@type": "loc:Room",
"dct:title": "Office Room 443",
"tag:hasLocationUsage": ["tag:office"],
"loc:hasApplicationFunction": {
"@id": "prj:2PipeFanCoilCtrl_142"
},
"loc:isLocationOf": {
"@id": "prj:Floor_1"
}
}
Semantic Relationship Interpretation:
- @type includes func:scheduler: Shows time-based scheduling, enabling intermittent control that adapts to operating hours. Scheduler use supports ISO 52120-1 sections 1.5 (heating) and 3.5 (cooling) by cutting energy use
- operatesForTrade: Names the building trades (heating, ventilation) this function serves, needed for ISO 52120-1 category assignment
- observesPhenomenonQualityKind: Lists two quality kinds:
tag:qk_ph_air_temperature_room(room air temperature sensor), confirming closed-loop control with external sensingtag:qk_ph_person_positionvector_room(occupancy/presence sensing), enabling occupancy-based and intermittent control
- actsOnPhenomenonQualityKind: Defines the primary control target
tag:qk_ph_air_temperature_room, which maps to emission or room control categories - adjustsEquipmentQualityKind: Lists two actuated equipment quality kinds:
tag:qk_eq_fanmotor_angularvelocity_room- Variable speed fan control for air flowtag:qk_eq_valveactuator_positionvector- Valve position control for thermal energy delivery to the heating coil
- hasOperationKind: Defines an operation kind with
tag:hasStateTypestates (tag:hvacModeComfort,tag:hvacModeStandby,tag:hvacModeEconomy,tag:hvacModeProtection) andtag:hasPointFunctionType: "tag:situation", enabling intermittent and occupancy-based setpoint control - demands: Links the emission control (fan coil) to the distribution control (
prj:ValveCtrl_142), modeling demand-based thermal energy delivery - isApplicationFunctionOf: Links the function to its physical location (Room_142) for location-based energy review
- hasFunctionPoint: Links to the Function Point with group addresses that KNX uses; for example, the demand signal from the fan coil to the valve actuator (both share the same Function Point) and a setpoint. The objects via KNX may be only a subset of the setpoints, sensors, and actuators on the device.
Energy Classification Assessment (Fan Coil Unit)
Using the semantic model, automated grading tools can:
- Query all Application Functions of type
individualRoomCtrlor its subclasses - Check Tags and TagSet to find:
- Temperature sensor presence
- Occupancy sensor via
tag:qk_ph_person_positionvector_roominobservesPhenomenonQualityKind - Valve actuator precision (on/off vs. modulating)
- Fan speed control type (fixed, multi-stage, or variable)
- Check for
schedulerlinks or built-in scheduling - Review
actsOnPhenomenonQualityKindandadjustsEquipmentQualityKindto map control loops - Check
core:demandslinks to find energy flow ties between emission and distribution control functions - Check HVAC Mode State Types: Look at
tag:hasOperationKindwithtag:hasStateTypeto find operating modes that affect energy use: tag:hvacModeComfort- Highest comfort for occupied rooms (optimal control, more energy)tag:hvacModeStandby- Pre-comfort mode for quick comfort switch (moderate savings)tag:hvacModeEconomy- Unoccupied periods (night mode, strong savings)tag:hvacModeProtection- Building protection mode (frost guard, holidays, minimal energy)- These state types show advanced intermittent control (ISO 52120-1 sections 1.5/3.5), qualifying for higher classes
- Check Heating/Cooling Stage Control: Look for
tag:hcStagePrimaryandtag:hcStageSecondarystate types showing multi-stage HVAC control - Assign ISO 52120-1 points based on detected features
ISO 52120-1 Type Assignment:
Based on the detected features, reasoning engines add ISO 52120-1 types to the Application Function's @type array:
-
Adds
iso52120:heat-1-1-EmissionControlHeatingwhen:- The function uses
func:individualRoomCtrlor similar emission control types tag:operatesForTradecontainstag:heatingactsOnPhenomenonQualityKindpoints totag:qk_ph_air_temperature_room(room-level temperature control)adjustsEquipmentQualityKindcontains equipment actuators (for example,tag:qk_eq_valveactuator_positionvector,tag:qk_eq_fanmotor_angularvelocity_room)- This means the system controls heat emission at room level, qualifying for ISO 52120-1 section 1.1
- The function uses
-
Adds
iso52120:heat-1-5-IntermittentControlHeatingwhen:observesPhenomenonQualityKindcontainstag:qk_ph_person_positionvector_room(occupancy sensing)tag:hasOperationKindincludestag:hasStateTypewith HVAC mode states (tag:hvacModeComfort,tag:hvacModeStandby,tag:hvacModeEconomy,tag:hvacModeProtection)- Application Function has
schedulertype or link showing time-based control - This means the system can run intermittent heating based on occupancy patterns and schedules, qualifying for ISO 52120-1 section 1.5
ISO 52120-1 Section 1.1 (Emission Control Heating) - Level 4 + Section 1.5 (Intermittent Control Heating) - Level 4:
This setup reaches the highest levels through several advanced features. It combines individual room control with an external temperature sensor for precise closed-loop control. Communication enables demand-based distribution for coordinated energy delivery.
Added features include occupancy sensing for presence-based adaptive control. The system provides variable speed fan control and a built-in scheduler. It supports multiple HVAC operating modes. The variable fan sets this apart from passive systems by providing active thermal distribution with tunable airflow rates.
The prj:ValveCtrl_A distribution control function manages water flow and temperature from the heating source to the fan coil unit. The actsOnPhenomenonQualityKind property points to tag:qk_ph_water_volumeflowrate_pipesection, showing control over water flow in the pipe section, while adjustsEquipmentQualityKind sets the valve actuator position control. This distribution control gets demand signals from the emission control (fan coil) through core:demands, enabling coordinated energy delivery based on actual room heating needs.
Example 4: Convector Radiator Individual Room Control
A simpler example is the convector radiator control (detailed in application-functions.md - Convector Radiator), which shows basic individual room control with fewer parts than the fan coil unit.
System Diagram (Convector Radiator)

Application Function Classification (Convector Radiator)
The model classifies the RadiatorCtrl_305 Application Function as:
airTemperatureCtrl(subclass ofairCtrl) - Primary control type for room temperature regulationconvectorRadiatorCtrl(subclass ofenergyConversionCtrl→equipmentCtrl) - Specific radiator equipment controlscheduler(subclass ofplantMngmtCtrl) - Integrated or external scheduling capability
This reflects the heating control strategy compared to fan coil units, focusing on valve control to regulate room temperature with built-in time-based scheduling for intermittent control.
Semantic Model Representation (Convector Radiator)
The semantic model for radiator control focuses on valve action and temperature sensing, with simpler equipment control than fan coil units. A complete radiator control function includes:
{
"@id": "prj:RadiatorCtrl_305",
"@type": [
"func:airTemperatureCtrl",
"func:scheduler",
"func:convectorRadiatorCtrl",
"iso52120:heat-1-1-EmissionControlHeating"
],
"dct:title": "Convector Radiator Room Control",
"iso52120:isControlFunctionType": ["1.1.4"],
"tag:operatesForTrade": [
"tag:heating"
],
"tag:observesPhenomenonQualityKind": [
{"@id": "tag:qk_ph_air_temperature_room"},
{"@id": "tag:qk_ph_person_positionvector_room"}
],
"tag:actsOnPhenomenonQualityKind": {
"@id": "tag:qk_ph_air_temperature_room"
},
"tag:adjustsEquipmentQualityKind": [
{"@id": "tag:qk_eq_valveactuator_positionvector"},
{"@id": "tag:qk_eq_radiator_temperature_room"}
],
"tag:hasOperationKind": {
"tag:hasStateType": [
"tag:hvacModeComfort",
"tag:hvacModeEconomy",
"tag:hvacModeProtection"
],
"tag:hasPointFunctionType": "tag:situation"
},
"loc:isApplicationFunctionOf": {
"@id": "prj:Room_305"
},
"core:demands": {
"@id": "prj:ValveCtrl_A"
},
"knx:hasFunctionPoint": [
{ "@id": "prj:GA-31"},
{ "@id": "prj:GA-32"}
]
}
Semantic Relationship Interpretation:
- @type includes func:scheduler: Shows time-based scheduling, enabling intermittent control that adapts to operating hours. Scheduler use supports ISO 52120-1 section 1.5 (Intermittent Control Heating) by cutting energy use
- operatesForTrade: Names the heating trade for ISO 52120-1 section 1 (Heating Control) scoring
- observesPhenomenonQualityKind: Lists two quality kinds:
tag:qk_ph_air_temperature_room(room air temperature sensor input), confirming external temperature sensingtag:qk_ph_person_positionvector_room(occupancy/presence sensing), enabling occupancy-based and intermittent control
- actsOnPhenomenonQualityKind: Room air temperature
tag:qk_ph_air_temperature_roomas the control target, mapping to emission or room control - adjustsEquipmentQualityKind: Lists two equipment quality kinds:
tag:qk_eq_valveactuator_positionvector- modulating valve actuator position control, showing motorized valve (higher class than thermostatic valve)tag:qk_eq_radiator_temperature_room- radiator temperature control, acting as the convector radiator equipment for heat emission. The valve position directly controls thermal energy from the heating system to adjust the radiator temperature
- hasOperationKind: Defines an operation kind with
tag:hasStateTypeHVAC mode states (tag:hvacModeComfort,tag:hvacModeEconomy,tag:hvacModeProtection) andtag:hasPointFunctionType: "tag:situation", enabling intermittent heating control - demands: Links the emission control (radiator) to the distribution control (
prj:ValveCtrl_A), modeling demand-based thermal energy delivery - isApplicationFunctionOf: Room-level control link, confirming individual room control
- hasFunctionPoint: Links to the Function Point with group addresses that KNX uses; for example, a demand signal and a setpoint.
Energy Classification Assessment (Convector Radiator)
Using the semantic model, automated grading tools can:
- Query all Application Functions of type
func:airTemperatureCtrlwithfunc:convectorRadiatorCtrlto find radiator control systems - Check Tags and TagSet to find:
- Temperature sensor via
tag:qk_ph_air_temperature_roominobservesPhenomenonQualityKind - Occupancy sensor via
tag:qk_ph_person_positionvector_room - Valve actuator precision (on/off vs. modulating)
- Check for
schedulertype showing built-in scheduling - Review
actsOnPhenomenonQualityKindandadjustsEquipmentQualityKindto map control loops - Check
core:demandslinks to find energy flow ties between emission and distribution control functions - Check HVAC Mode State Types: Look at
tag:hasOperationKindwithtag:hasStateTypeto find operating modes: tag:hvacModeComfort- Highest comfort for occupied roomstag:hvacModeEconomy- Reduced setpoint for vacant periodstag:hvacModeProtection- Building protection mode (frost guard)- Assign ISO 52120-1 points based on detected features
ISO 52120-1 Type Assignment:
Based on the detected features, reasoning engines add ISO 52120-1 types to the Application Function's @type array:
- Adds
iso52120:heat-1-1-EmissionControlHeatingwhen:- The function controls heating at room level (
func:airTemperatureCtrlwithfunc:convectorRadiatorCtrl) tag:operatesForTradecontainstag:heatingactsOnPhenomenonQualityKindpoints totag:qk_ph_air_temperature_room(room temperature as control target)adjustsEquipmentQualityKindcontainstag:qk_eq_valveactuator_positionvector(valve actuator control)- This means the system controls heat emission through radiator valve action, qualifying for ISO 52120-1 section 1.1
- The function controls heating at room level (
ISO 52120-1 Section 1.1 (Emission Control Heating) - Level 3:
For emission control (Section 1.1), this reaches Level 3 ("Individual room control with communication"). The system includes individual room control with an external temperature sensor. It uses a modulating motorized valve for precise thermal energy delivery. Communication enables demand-based distribution for coordinated runs.
The system includes occupancy sensing and scheduler features. These support emission control tuning rather than separate intermittent control grading.
QualityKind Reference
This section provides JSON-LD forms of all Quality Kinds used in the energy efficiency examples. Quality Kinds describe specific types of measurable quantities. The model groups them as Phenomenon Quality Kinds (physical events to observe) or Equipment Quality Kinds (equipment settings to adjust).
Phenomenon Quality Kinds
Phenomenon Quality Kinds are physical events in the building, such as temperature, light level, or air quality readings.
Outside Light Illuminance
The daylight level outside the building. This quality kind is key for daylight-based lighting control systems that adjust artificial lighting based on natural light. It enables ISO 52120-1 Class A for daylight control (section 5.2).
{
"@id": "tag:qk_ph_light_illuminance_outside",
"@type": "tag:PhenomenonQualityKind",
"tag:hasPhenomenonType": "tag:light",
"tag:hasQuantityKind": "quantitykind:Illuminance",
"tag:hasLocality": "tag:outside"
}
Room Light Illuminance
The light level within a room. This quality kind enables closed-loop lighting control by tracking the actual light level and adjusting luminaires to maintain desired lighting while cutting energy use.
{
"@id": "tag:qk_ph_light_illuminance_room",
"@type": "tag:PhenomenonQualityKind",
"tag:hasPhenomenonType": "tag:light",
"tag:hasQuantityKind": "quantitykind:Illuminance",
"tag:hasLocality": "tag:room"
}
Person Position Vector (Room)
The position of a person within a room, allowing occupancy and presence sensing. This quality kind enables occupancy-based lighting control that switches lights on/off or adjusts dimming based on room occupancy. These systems reach ISO 52120-1 Class A for occupancy control (section 5.1).
{
"@id": "tag:qk_ph_person_positionvector_room",
"@type": "tag:PhenomenonQualityKind",
"tag:hasPhenomenonType": "tag:person",
"tag:hasQuantityKind": "quantitykind:PositionVector",
"tag:hasLocality": "tag:room"
}
Room Air Temperature
The air temperature within a room. This quality kind is key for HVAC control that monitors and regulates room temperature for thermal comfort and energy savings.
{
"@id": "tag:qk_ph_air_temperature_room",
"@type": "tag:PhenomenonQualityKind",
"tag:hasPhenomenonType": "tag:air",
"tag:hasQuantityKind": "quantitykind:Temperature",
"tag:hasLocality": "tag:room"
}
Water Volume Flow Rate (Pipe Section)
The water volume flow rate in a pipe section. Distribution control systems use this quality kind to track and regulate water flow through heating or cooling networks. This enables demand-based control and efficient runs.
{
"@id": "tag:qk_ph_water_volumeflowrate_pipesection",
"@type": "tag:PhenomenonQualityKind",
"tag:hasPhenomenonType": "tag:water",
"tag:hasQuantityKind": "quantitykind:VolumeFlowRate",
"tag:hasLocality": "tag:pipeSection"
}
Equipment Quality Kinds
Equipment Quality Kinds are device settings that control equipment, such as actuator positions, motor speeds, or dimming levels.
Fan Motor Angular Velocity (Room)
The rotation speed of a fan motor in room-level HVAC equipment such as fan coil units. Variable speed fan control enables efficient airflow by adapting to actual demand rather than running at fixed speeds.
{
"@id": "tag:qk_eq_fanmotor_angularvelocity_room",
"@type": "tag:EquipmentQualityKind",
"tag:hasEquipmentType": "tag:fanMotor",
"tag:hasQuantityKind": "quantitykind:AngularVelocity",
"tag:hasLocality": "tag:room"
}
Luminaire Dimming Level (Room)
The dimming level of luminaires within a room. This quality kind shows variable lighting control (as opposed to simple on/off switching). It is key for higher ISO 52120-1 energy efficiency classes in lighting control.
{
"@id": "tag:qk_eq_luminaire_dimmlevel",
"@type": "tag:EquipmentQualityKind",
"tag:hasEquipmentType": "tag:luminaire",
"tag:hasQuantityKind": "tag:DimmLevel"
}
Radiator Temperature
The adjustable temperature of a radiator for heating emission control. Convector radiator control systems use this quality kind to set the radiator temperature to regulate room temperature. Valve action typically adjusts hot water flow to control the radiator temperature. This enables individual room heating control that qualifies for ISO 52120-1 emission control classes (section 1.1).
{
"@id": "tag:qk_eq_radiator_temperature_room",
"@type": "tag:EquipmentQualityKind",
"tag:hasEquipmentType": "tag:radiator",
"tag:hasQuantityKind": "quantitykind:Temperature",
"tag:hasLocality": "tag:room"
}
Switch Pressure (Room)
The pressure state of a switch in a room. Manual control systems use this quality kind, as the switch pressure state can be both observed (when a person presses a switch) and adjusted (to control equipment).
{
"@id": "tag:qk_eq_switch_room",
"@type": "tag:EquipmentQualityKind",
"tag:hasEquipmentType": "tag:switch",
"tag:hasLocality": "tag:room"
}
Valve Actuator Position Vector
The position of a valve actuator, typically used to control the flow of heating or cooling media (water, coolant) in HVAC systems. Smooth valve position control (vs. on/off runs) enables precise thermal energy delivery and supports higher energy efficiency classes in emission control.
{
"@id": "tag:qk_eq_valveactuator_positionvector",
"@type": "tag:EquipmentQualityKind",
"tag:hasEquipmentType": "tag:valveActuator",
"tag:hasQuantityKind": "quantitykind:PositionVector"
}
OperationKind Reference
OperationKind entries define specific run patterns for building automation control functions, combining point function types (activation, situation, setpoint), origins (user, automatic), and state types. These semantic patterns enable ISO 52120-1 grading by describing how control functions interact with quality kinds.
Activation Operation Kinds
Activation operation kinds are trigger events or commands that start control actions, either through user input or automatic sensing of conditions.
On/Off Switch Activation (User)
Manual user action through a wall switch with binary on/off states. Lighting control systems use this operation kind to detect and process manual switch inputs from occupants.
{
"@id": "prj:ok_activation_user_on_off_eq_switch_room",
"@type": "tag:OperationKind",
"core:refersTo": {
"@id": "tag:qk_eq_switch_room"
},
"tag:hasOrigin": {
"@id": "tag:user"
},
"tag:hasPointFunctionType": {
"@id": "tag:activation"
},
"tag:relatesToStateType": [
{"@id": "tag:off"},
{"@id": "tag:on"}
]
}
Blind Opening/Closing Command (User)
Manual user command for blind control with opening and closing action states. Motorized blind systems use this operation kind to process user commands for blind moves.
{
"@id": "prj:ok_cmd_user_opening_closing_eq_switch_room",
"@type": "tag:OperationKind",
"core:refersTo": {
"@id": "tag:qk_eq_switch_room"
},
"tag:hasOrigin": {
"@id": "tag:user"
},
"tag:hasPointFunctionType": {
"@id": "tag:cmd"
},
"tag:relatesToStateType": [
{"@id": "tag:closing"},
{"@id": "tag:opening"}
]
}
Occupancy Detection Activation (Automatic)
Automatic sensing based on occupancy with presence states. This operation kind enables occupancy-based control by triggering actions when room occupancy changes between occupied and unoccupied states.
{
"@id": "prj:ok_activation_automatic_occupied_unoccupied_ph_person_positionvector_room",
"@type": "tag:OperationKind",
"core:refersTo": {
"@id": "tag:qk_ph_person_positionvector_room"
},
"tag:hasOrigin": {
"@id": "tag:automatic"
},
"tag:hasPointFunctionType": {
"@id": "tag:activation"
},
"tag:hasStateType": [
{"@id": "tag:presenceOccupied"},
{"@id": "tag:presenceUnoccupied"}
]
}
Storm Protection Activation (Automatic)
Automatic trigger based on storm sensing from wind speed tracking. This operation kind enables weather protection by triggering safety actions when the system detects storm conditions.
{
"@id": "prj:ok_activation_automatic_storm_ph_wind_speed_outside",
"@type": "tag:OperationKind",
"core:refersTo": {
"@id": "tag:qk_ph_wind_speed_outside"
},
"tag:hasOrigin": {
"@id": "tag:automatic"
},
"tag:hasPointFunctionType": {
"@id": "tag:activation"
},
"tag:hasStateType": {
"@id": "tag:storm"
}
}
Daylight-Based Blind Control Activation (Automatic)
Automatic trigger for blind control based on light levels with opening and closing actions. This enables daylight-driven blind moves for solar shielding and glare control.
{
"@id": "prj:ok_activation_automatic_opening_closing_ph_light_illuminance_room",
"@type": "tag:OperationKind",
"core:refersTo": {
"@id": "tag:qk_ph_light_illuminance_room"
},
"tag:hasOrigin": {
"@id": "tag:automatic"
},
"tag:hasPointFunctionType": {
"@id": "tag:activation"
},
"tag:relatesToStateType": [
{"@id": "tag:closing"},
{"@id": "tag:opening"}
]
}
Temporal Delay Off Activation (Automatic)
Automatic time-delayed off trigger for lighting control. This implements sweeping off or delayed-off logic, common in occupancy-based lighting to avoid instant shutoff when motion stops.
{
"@id": "prj:ok_activation_automatic_off_ph_temporal_delay_luminaire_energy",
"@type": "tag:OperationKind",
"core:refersTo": [
{"@id": "tag:qk_eq_luminaire_energy"},
{"@id": "tag:qk_ph_temporal_delay"}
],
"tag:hasOrigin": {
"@id": "tag:automatic"
},
"tag:hasPointFunctionType": {
"@id": "tag:activation"
},
"tag:relatesToStateType": {
"@id": "tag:off"
}
}
Situation Operation Kinds
Situation operation kinds track and report state, covering the current state of equipment or conditions for control logic and energy reporting.
Luminaire Energy State Situation (Automatic)
Automatic tracking of luminaire energy state (on/off). This operation kind tracks the current state of lighting equipment, providing feedback for control logic and energy tracking.
{
"@id": "prj:ok_situation_automatic_on_off_eq_luminaire_energy",
"@type": "tag:OperationKind",
"core:refersTo": {
"@id": "tag:qk_eq_luminaire_energy"
},
"tag:hasOrigin": {
"@id": "tag:automatic"
},
"tag:hasPointFunctionType": {
"@id": "tag:situation"
},
"tag:hasStateType": [
{"@id": "tag:off"},
{"@id": "tag:on"}
]
}
Blind Position Situation (Automatic)
Automatic tracking of blind actuator position with opened and closed states. This operation kind tracks the current blind position for solar shielding and glare control.
{
"@id": "prj:ok_situation_automatic_opened_closed_eq_blindsactuator_positionvector",
"@type": "tag:OperationKind",
"core:refersTo": {
"@id": "tag:qk_eq_blindsactuator_positionvector"
},
"tag:hasOrigin": {
"@id": "tag:automatic"
},
"tag:hasPointFunctionType": {
"@id": "tag:situation"
},
"tag:hasStateType": [
{"@id": "tag:closed"},
{"@id": "tag:opened"}
]
}
Fan Motor Speed Situation (Automatic)
Automatic tracking of fan motor speed with on/off states. This operation kind tracks the current state of fans in HVAC systems, providing feedback for fan coil control and airflow management.
{
"@id": "prj:ok_situation_automatic_eq_fanmotor_angularvelocity",
"@type": "tag:OperationKind",
"core:refersTo": {
"@id": "tag:qk_eq_fanmotor_angularvelocity_room"
},
"tag:hasOrigin": {
"@id": "tag:automatic"
},
"tag:hasPointFunctionType": {
"@id": "tag:situation"
},
"tag:hasStateType": [
{"@id": "tag:off"},
{"@id": "tag:on"}
]
}
Valve Actuator Position Situation (Automatic)
Automatic tracking of valve actuator position with opened and closed states. This operation kind tracks the current position state of valves in HVAC systems, providing feedback for demand-based thermal energy delivery control.
{
"@id": "prj:ok_situation_automatic_eq_valveactuator_positionvector",
"@type": "tag:OperationKind",
"core:refersTo": {
"@id": "tag:qk_eq_valveactuator_positionvector"
},
"tag:hasOrigin": {
"@id": "tag:automatic"
},
"tag:hasPointFunctionType": {
"@id": "tag:situation"
},
"tag:hasStateType": [
{"@id": "tag:closed"},
{"@id": "tag:opened"}
]
}
Setpoint Operation Kinds
Setpoint operation kinds are target values for control loops, setting desired run settings for automated control of building systems.
Dimming Level Setpoint (Automatic)
User setpoint control for luminaire dimming level. This operation kind defines the target dimming level for smooth light level tuning in daylight-based or constant-light control.
{
"@id": "prj:ok_sp_user_on_eq_luminaire_dimmlevel",
"@type": "tag:OperationKind",
"core:refersTo": {
"@id": "tag:qk_eq_luminaire_dimmlevel"
},
"tag:hasOrigin": {
"@id": "tag:user"
},
"tag:hasPointFunctionType": {
"@id": "tag:sp"
},
"tag:relatesToStateType": {
"@id": "tag:on"
}
}