Skip to content

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:

  1. Systematic Evaluation: Scores each control function based on its level and control strategy.
  2. Quantitative Assessment: Assigns points based on control features in place.
  3. Performance Benchmarking: Compares control strategies and shows their impact on energy use.
  4. 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:

Energy Control

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.

Lighting Control Energy Efficiency Classification

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 of equipmentCtrl)

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 states
    • prj: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:

  1. Application Function Types: Query all func:lightingCtrl instances to find lighting control systems
  2. Sensor Absence: Verify no observesPhenomenonQualityKind, showing no automated sensing
  3. Actuator Type: Check adjustsEquipmentQualityKind for tag:qk_eq_luminaire_switch_room, showing on/off switching vs. dimming
  4. Control Loop Absence: Confirm no closed-loop control due to missing sensor feedback
  5. Zone Coverage: Use isApplicationFunctionOf to assess room-by-room lighting control
  6. 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 of equipmentCtrl)

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 control
    • tag:qk_ph_light_illuminance_outside (daylight sensor) for daylight-based control
    • tag: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:hasStateType listing tag:presenceOccupied and tag:presenceUnoccupied for binary occupancy states
    • tag:hasPointFunctionType: "tag:situation" meaning this is a current state value
    • core: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:

  1. Application Function Types: Query all func:lightingCtrl instances to find lighting control systems
  2. Daylight Sensor: Check observesPhenomenonQualityKind for tag:qk_ph_light_illuminance_outside to verify daylight sensing (section 5.2)
  3. Control Loop Check: Confirm closed-loop control by verifying both observesPhenomenonQualityKind (room light input) and actsOnPhenomenonQualityKind (room light target) use tag:qk_ph_light_illuminance_room
  4. Actuator Type: Check adjustsEquipmentQualityKind for tag:qk_eq_luminaire_dimmlevel, showing dimmable lighting vs. simple on/off
  5. Zone Coverage: Use isApplicationFunctionOf to assess room-by-room lighting control
  6. State-Based Control: Check Application Functions with tag:hasOperationKind having tag:hasStateType to detect:
  7. tag:presenceOccupied / tag:presenceUnoccupied - Occupancy-based control for ISO 52120-1 section 5.1
  8. 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-OccupancyControl when:

    • observesPhenomenonQualityKind contains tag:qk_ph_person_positionvector_room (occupancy sensing)
    • tag:hasOperationKind includes tag:hasStateType with 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-DaylightControl when:

    • observesPhenomenonQualityKind contains tag:qk_ph_light_illuminance_outside (external daylight sensor)
    • adjustsEquipmentQualityKind contains tag: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:

  1. Automatic occupancy sensing with presence states for on/off control
  2. Daylight sensing with exterior light level readings
  3. Closed-loop dimming control based on interior light feedback
  4. 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.

Heating Emission Control Energy Efficiency Classification

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)

Fan Coil Control Diagram

Application Function Classification (Fan Coil Unit)

The model classifies the 2PipeFanCoilCtrl_142 Application Function as:

  • airTemperatureCtrl (subclass of airCtrl)
  • fanCoilCtrl (subclass of fanCtrl → flowMovingCtrl → equipmentCtrl)
  • scheduler (subclass of plantMngmtCtrl)

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 sensing
    • tag: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 flow
    • tag:qk_eq_valveactuator_positionvector - Valve position control for thermal energy delivery to the heating coil
  • hasOperationKind: Defines an operation kind with tag:hasStateType states (tag:hvacModeComfort, tag:hvacModeStandby, tag:hvacModeEconomy, tag:hvacModeProtection) and tag: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:

  1. Query all Application Functions of type individualRoomCtrl or its subclasses
  2. Check Tags and TagSet to find:
  3. Temperature sensor presence
  4. Occupancy sensor via tag:qk_ph_person_positionvector_room in observesPhenomenonQualityKind
  5. Valve actuator precision (on/off vs. modulating)
  6. Fan speed control type (fixed, multi-stage, or variable)
  7. Check for scheduler links or built-in scheduling
  8. Review actsOnPhenomenonQualityKind and adjustsEquipmentQualityKind to map control loops
  9. Check core:demands links to find energy flow ties between emission and distribution control functions
  10. Check HVAC Mode State Types: Look at tag:hasOperationKind with tag:hasStateType to find operating modes that affect energy use:
  11. tag:hvacModeComfort - Highest comfort for occupied rooms (optimal control, more energy)
  12. tag:hvacModeStandby - Pre-comfort mode for quick comfort switch (moderate savings)
  13. tag:hvacModeEconomy - Unoccupied periods (night mode, strong savings)
  14. tag:hvacModeProtection - Building protection mode (frost guard, holidays, minimal energy)
  15. These state types show advanced intermittent control (ISO 52120-1 sections 1.5/3.5), qualifying for higher classes
  16. Check Heating/Cooling Stage Control: Look for tag:hcStagePrimary and tag:hcStageSecondary state types showing multi-stage HVAC control
  17. 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-EmissionControlHeating when:

    • The function uses func:individualRoomCtrl or similar emission control types
    • tag:operatesForTrade contains tag:heating
    • actsOnPhenomenonQualityKind points to tag:qk_ph_air_temperature_room (room-level temperature control)
    • adjustsEquipmentQualityKind contains 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
  • Adds iso52120:heat-1-5-IntermittentControlHeating when:

    • observesPhenomenonQualityKind contains tag:qk_ph_person_positionvector_room (occupancy sensing)
    • tag:hasOperationKind includes tag:hasStateType with HVAC mode states (tag:hvacModeComfort, tag:hvacModeStandby, tag:hvacModeEconomy, tag:hvacModeProtection)
    • Application Function has scheduler type 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)

Radiator Control Diagram

Application Function Classification (Convector Radiator)

The model classifies the RadiatorCtrl_305 Application Function as:

  • airTemperatureCtrl (subclass of airCtrl) - Primary control type for room temperature regulation
  • convectorRadiatorCtrl (subclass of energyConversionCtrl → equipmentCtrl) - Specific radiator equipment control
  • scheduler (subclass of plantMngmtCtrl) - 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 sensing
    • tag:qk_ph_person_positionvector_room (occupancy/presence sensing), enabling occupancy-based and intermittent control
  • actsOnPhenomenonQualityKind: Room air temperature tag:qk_ph_air_temperature_room as 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:hasStateType HVAC mode states (tag:hvacModeComfort, tag:hvacModeEconomy, tag:hvacModeProtection) and tag: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:

  1. Query all Application Functions of type func:airTemperatureCtrl with func:convectorRadiatorCtrl to find radiator control systems
  2. Check Tags and TagSet to find:
  3. Temperature sensor via tag:qk_ph_air_temperature_room in observesPhenomenonQualityKind
  4. Occupancy sensor via tag:qk_ph_person_positionvector_room
  5. Valve actuator precision (on/off vs. modulating)
  6. Check for scheduler type showing built-in scheduling
  7. Review actsOnPhenomenonQualityKind and adjustsEquipmentQualityKind to map control loops
  8. Check core:demands links to find energy flow ties between emission and distribution control functions
  9. Check HVAC Mode State Types: Look at tag:hasOperationKind with tag:hasStateType to find operating modes:
  10. tag:hvacModeComfort - Highest comfort for occupied rooms
  11. tag:hvacModeEconomy - Reduced setpoint for vacant periods
  12. tag:hvacModeProtection - Building protection mode (frost guard)
  13. 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-EmissionControlHeating when:
    • The function controls heating at room level (func:airTemperatureCtrl with func:convectorRadiatorCtrl)
    • tag:operatesForTrade contains tag:heating
    • actsOnPhenomenonQualityKind points to tag:qk_ph_air_temperature_room (room temperature as control target)
    • adjustsEquipmentQualityKind contains tag: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

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"
    }
}