Functional Profiles

A Functional Profile describes a set of related functionalities provided by a Product. It thereby focuses entirely on the functionality. Any transport-specific details are not part of the functional profile (e.g. on how to get or set a Data Point on a specific product).

The main intent is to allow communicator manufacturers to easily implement their use cases based on logically grouped Data Points, while device-specific communication details are handled SmartGridread Communication Handler library.

Any Product that supports the Functional Profiles required for a specific use case is therefore automatically compatible and can be used without changing the Communicator implementation.

The Functional Profiles build the foundation of the SmartGridready specification and allow access to any SmartGridready compliant Product through a generic API.

The SmartGridready library lists the currently available Functional Profiles: See Functional Profile Library

This list of Functional Profile definitions is subject to change and will grow in the future, as new Functional Profiles will be added.

As a Product supplier you need check which Functional Profiles suit your Product’s functionalities and add the matching Functional Profiles to the External Interface Definition file.

Functional Profile Structure

Fig. 3 shows the basic structure of a Functional Profile

:term:`Functional Profile` Structure

Fig. 3 Functional Profile Structure

A Functional Profile is part of a Product description and includes the:

Example:

PRODUCT
├── DEFINITION (Generic product info ...)
│
├── FUNCTIONAL-PROFILE (ActiveEnergyAC)
│   ├── DATAPOINT (ActiveEnergyACTot)
│   ├── DATAPOINT (ActiveEnergyACTot)
│   ├── DATAPOINT (ActiveEnergyACL1)
│   ├── DATAPOINT (ActiveEnergyACL3)
│   └── DATAPOINT (ActiveEnergyACL3)
│
└──FUNCTIONAL-PROFILE (ActivePowerAC)
    ├── DATAPOINT (ActivePowerACTot)
    ├── DATAPOINT (ActivePowerACL1)
    ├── DATAPOINT (ActivePowerACL3)
    └── DATAPOINT (ActivePowerACL3)

The illustration above shows a sample for the structure of a Product description file in XML (EID). The Product description exposes its functionalities by including two Functional Profiles. The example shows a simple Smart Meter that exposes AC-energy metering and AC-power measurement functionalities.

A Communicator software can read from or write to the device by addressing the Data Point by Functional Profile name and Data Point name. Java code example:

var acPowerTotal = meteringDevice.getVal("ActiveEnergyAC", "ActiveEnergyACTot");

A functional profile is defined/identified by:

Functional Profile Category

The Functional Profile Category is related the type of a Product and its functionalities.

The list below shows the currently published Functional Profile Categories (follow the links for a detailed description):

Category

Assigned to Functional Profiles used with Products of type:

Details page

Actuator

Used with actuator Products. Examples for actuator devices are electrical relays, servo motors etc.

Actuator

Battery

Used with battery Products, e.g. batteries that store electrical energy produced by a PVA.

Battery

BatterySystem

Used with combined systems that consist of a battery and an Inverter

Battery System

DeviceInformation

Has no predefined Data Points. Used to provide device information and add manufacturer proprietary Data Points.

Device Information

DynamicTariff

Used to query dynamic tariff information from a power grid operator system.

Dynamic Tariff

EVSE

Used for Electrical Vehicle Supply Equipment (EVSE) Products like charging stations.

EVSE

HeatingCircuit

Used with Products that allow reading information from a heating circuit, such as temperature.

Heating Circuit

HeatPumpControl

Used with Products that allow controlling heat pumps and reading information from heat pumps.

Heating Circuit

Inverter

Used with Products that allow controlling and reading status from PV-Inverter devices

Inverter and Battery System devices.

Metering

Used with Products that provide metering an measurement functionalities like electrical power or energy consumption, for example smart meter devices.

Metering

SGCP

Used for Smart Grid Connection Point (SGCP) Products.

SGCP

Sensor

Used with Products that allow reading data from sensor devices, for example a humidity sensor.

Sensor

Functional Profile Type

The Functional Profile Type defines the set of functionalities provided by a Functional Profile. Functional Profiles of a given type can appear in multiple Functional Profile Categories. For example, the EnergyMonitor Functional Profile Type may be implemented by devices in the Heatpump Controls, Battery, and Battery System categories.

Even if a Functional Profile Type defines a distinct set of functionalities the the functional profile can come in different flavours defined by the Functional Profile Category and Level of Operation.

Therefore a Functional Profile is uniquely defined by:

Table 7 Functional Profile Type

Functional Profile Type

Description

Used with Functional Profile Category

ActiveEnergyAC

Provides AC energy metering Data Points for single phase, multi phase and total energy consumption.

Metering

ActiveEnergyBalanceAC

Provides energy balance metering Data Points providing data for imported, exported and net energy towards the power grid.

Metering

ActivePowerAC

Provides AC power measurement for single phase, multi phase and total power consumption.

Metering

ApparentEnergyAC

Provides Data Points for AC apparent energy metering. Supports single phase, multi phase and total apparent energy metering.

Metering

ApparentPowerAC

Provides Data Points for AC apparent power measurement. Supports single phase, multi phase and total apparent power measurements.

Metering

BufferStorageCtrl

This Functional Profile type extends the HeatPumpBase Functional Profile type. It provides Data Points to read temperature from and control heat pump buffer storage devices.

Heatpump Controls

CurrentAC

Provides Data Points for AC current measurements. Supports single phase, multi phase and current against the neutral conductor measurements.

Metering

CurrentDC

Defines a single Data Point to measure DC current.

Metering

DeviceInformation

Empty functional profile without data points that can be used for vendor specific information and data points. It allows the handling of data points, which are valid for the whole device.

Device Information

DomHotWaterCtrl

This Functional Profile type extends the HeatPumpBase Functional Profile. It provides Data Points that are available for controlling a domestic hot water circuit.

Heatpump Controls

EMS_Current_Limit

This Functional Profile type enables a controller to set a current limitation for a charging station (Electric Vehicle Supply Equipment, EVSE).

EVSE

ESVEState

Functional Profile for reading the status of the connector of an electric vehicle charging station (EVSE).

EVSE

EnergyMonitor

Functional Profile that supports Data Points to read operating data such as energy consumption from a Product.

Heatpump Controls, Battery, Battery System

FlexMgmt

Functional Profile for Energy Management Systems (term:EMS)that expose an interface towards the power grid operator (:term:DSO) to control or specify limits on power consumption from the power grid and limits for energy feed-in to the power grid.

SGCP

Frequency

Defines a single Data Point to measure AC frequency.

Metering

HeatCoolCtrl

This Functional Profile type extends the HeatPumpBase Functional Profile. It provides Data Points that are available for controlling a heat pump heating and cooling circuit.

Heatpump Controls

HeatPumpBase

This is the basic Functional Profile for heat pumps. It allows operation mode control and reading operation status and measure temperature etc.

Heatpump Controls

Humidity

Defines a single Data Point to measure humidity.

Sensor

LoadReduction_EVSE

Functional Profile type to control load reduction of Electrical Vehicle Supply Equipement EVSE.

EVSE

PowerCtrl

Functional Profile type to control the power consumption of heat pumps by controlling parameters like compressor power consumption or compressor rotations per minute.

Heatpump Controls

PowerFactor

Provides Data Points to read the power factor defined as:

\[PowerFactor = \frac{ActivePower}{ApparentPower}\]

It supports single phase, multi phase and overall measurement.

Metering

Recative Power AC

Functional Profile Type to measure the reactive power. Supports single phase and multiphase reactive power measurement.

Metering

SG-ReadyStates

Functional Profile Type for heat pumps that support four operation modes. The operating states are defined from SG ready - Bundesverband Wärmepumpe e.V. (bwp):

  • HP_LOCKED: Heat pump blocked - for example fixed blocking by time.

  • HP_NORMAL: Heat pump in normal operation.

  • HP_INTENSIFIED: Switch-on recommendations for increased operation.

  • HP_FORCED: Forced start-up command (as far as this is possible within the control settings of the heat pump).

Heatpump Controls

SG-ReadyStates_bwp

Functional Profile Type for heat pumps that support two operation modes. The operating states are defined from SG ready - Bundesverband Wärmepumpe e.V. (bwp):

  • HP_LOCKED: Heat pump blocked - for example fixed blocking by time (operation mode 1 from SG Ready bwp).

  • HP_NORMAL: Heat pump in normal operation mode (operation mode 2 from SG Ready bwp).

Heatpump Controls

Supplier

Functional Profile Type for connection points that provide information from the distribution system operator DSO.

Dynamic Tariff

UniDirFlexFeedInMgmt

Functional Profile Type for Energy Management Systems (EMS) that expose an interface towards the power grid operator (:term:DSO) to control or specify limits on energy feed-in to the power grid.

SGCP

UniDirFlexLoadMgmt

Functional Profile Type for Energy Management Sytems (EMS) that expose an interface towards the power grid operator (:term:DSO) to control or specify limits on energy consumption from the power grid.

SGCP

Level of Operation

Level Of Operation defines a complexity level of the Product device controls:

Table 8 Level of Operation

Level

Description

Details

m

Monitoring

Has Data Points that provide read functionality. ‘m’ can be used on its own or combined with one of the levels 1-6:

  • When ‘m’ stands alone, the Functional Profile requires only read operations to be supported.

  • When ‘m’ is combined with a number (e.g. 1m, 2m, 4m), the Functional Profile requires both read and write operations to be supported for the value type corresponding to the level.

1

On-Off

The interface allows switching between two discrete operating states

2

Discrete values

The interface allows switching between two multiple discrete operating states

3

Set of characteristic curves

The interface enables the selection of various pre-configured characteristic curves (Discrete, as there is a limited number of characteristic curves). Grid-friendly characteristic curves, which can react to grid voltage, are also assigned to this level without communication via the SmartGridready interface.

4

Continuous values

The interface allows the setting of continuous values. This stage builds upon level 2.

5

Dynamically changeable characteristics tables

The interface allows the setting of continuous control parameters or characteristic curve values. This stage builds upon level 3.

6

Prediction based systems

The interface allows the setting of new setpoints and control parameters / characteristic curve values based on energy production or load forecasts, up to the inclusion of a digital twin.

(see FunctionalProfileDescription.xsd for details…)

Generic Attributes

Generic attributes incorporate hierarchical inheritance as follows:

  • Generic attributes always apply to the data point

  • Generic attributes defined on functional profile level apply to all data points of the same functional profile.

  • Generic attributes defined on device level apply to all functional profiles, and thus to all data points of the device If the same attribute is defined on multiple levels the most specific definition supersedes any other definition (i.e. data point over functional profile over).

Static Data Point Attributes

These values describe the measurement limits for data points. Depending on the definition level they apply either to a specific data point, every data point of a functional profile, or the the entire device.

These attributes are generally used to search for devices that fulfill a set of minimum requirements to support a specific use case.

Table 9 Level of Operation

SGr Attribute

Data Type

Description

Example

<MeasuredValueType>

enum

Kind of the measured value, possible values are ‘value’, ‘min’, ‘max’, ‘average’, ‘stdDev’ (standard deviation)

value, max ..

<SpecialQualityRequirement>

string

Indicates the quality requirements fullfilled by the product.

METAS

<PrecisionPercent>

float32

The precision of the measurement, calculated result or the result of a process.

2.0%

<MaximumLatencyTime>

float

Maximum time in milliseconds from capturing of measured value until available at the product interface. (e.g. AD conversion time)

10ms

<SampleRate>

unsigned long

Sampling rate in millisecond

200ms

Stability Fallback

A consumer or a generating system receives the permit for a load change for a certain period of time. This time is always set to 0 each time a confirmation message is received (HeartBeat).

The figure below depicts the typical flow 1. the device starts at initial value. 2. regular communication starts. The communicator periodically sets new set values. 3. communication breaks. The device receives its last set value. 4. after reaching the timeout the device automatically sets the fallback value.

SGr Stability Fallback

Fig. 10 SGr Stability Fallback

Table 10 Stability Fallback

Stabiltiy Fallback Value

Data Type

Description

Example

<maxReceiveTime>

float

If the device does not receive any communication within this time the device applies the fallback.

3600.0 s

<initValue>

float

Initial value the device before the communicator sets this value (e.g.at startup, obeginning cycle).

6.0 A

<fallbackValue>

float

Value the device uses in case of a fallback.

6.0 A

Smooth Transition

The time behavior of a transition from a power adjustment (positive as well as negative) can be determined by several time values, so that this starts with a random time delay, changes via a ramp and an expiry time with return to the initial value. To avoid return to the initial value the device must either specify the revert time to zero (i.e. no return), or the communicator must repeat the target value before the revert time window expires.

The figure below depicts the typical flow 1. the command for the new target value is received 2. the device randomly starts the ramp, but latest after winTms 3. the ramp reaches the new target value after rmpTms 4. if no new target value is received, the device starts returning to the old target value after rvtTms 5. the ramp reaches the old target value after rmpTms

SGr Smooth Transition

Smooth Transition Value

Data Type

Description

Example

<winTms>

unsigned long

indicates a time window in which the new operating mode is started randomly. The time window begins with the start command of the operating mode. The value 0 means immediate.

300 s

<rmpTms>

unsigned long

Specifies how quickly the changes should be made. The corresponding value is gradually changed from the old to the new value in the specified time.

450 s

<rvrtTms>

unsigned long

Determines how long the operating mode should be active. When the time has elapsed, the operating mode is automatically terminated. If rvrtTms = 0 (standard value), the operating mode remains active until a new command is received.

600 s

Data Point Quality

SGr has attributes to denote the quality of the measured value. The presence of any quality attributes either on functional profile or data point level indicate that the com handler will provide these dynamic attributes at run time (see documentation of SGr com handler libs)

Table 11 Data Point Quality

SGrAttribute

Data Type

Description

Example

<MeasuredValueSource>

enum

Value source kind related to SGr level 6 applications. Potential values are:

  • measuredValue

  • calculatedValue

  • empiricalValue

measuredValue

Curtailment

Various function profiles require boundaries to set points with respect to curtailment or home energy management systems.

SGr Attribute

Data Type

Description

Example

<Curtailment>

float

Used in state-based reduction schemes. This value specifies the reduction in percent for the reduced operation mode.

40%

<MimimumLoad>

float

Used in state-based reduction schemes. In locked mode the product will not reduce its load below this minimum value.

2 kW

<MaximumLockTime>

float

used in state-based reduction schemes. A reduction command to reduced or locked mode shall not be applied longer than this specified duration.

20 min

<MinimumRunTime>

float

Used in state-based reduction schemes. When returning to normal mode the normal mode must be guaranteed for at least the specified duration.

15 min

<ValueByTimeTable>

float

Used for time tables to specify the temporal separation of data curve points

1 min

<FlexAssistance>

<sgr:FlexAssistance>

Systems with more than One communicator need a definition of the priority of the commands/demands for a flexibility requirement. This element defines the kind of a such a command:

  • serviceable by: DSO / TNO

  • the priority SHALL / SHOULD / MAY.

DSO SHOULD, obligedTo: 3600 sec

Data Points

A Functional Profile mainly defines a set of Data Points. The Data Points define access points to values that can be read from or written to the product.

The Data Points are defined by the following attributes:

Table 12 Data Point Attributes

Element

Description

Data Point Name

Name of the Data Point. Should be unique within the functional profile.

Data Direction

Presence Level

Data Point availability within an Product that implements the Functional Profile: * Mandatory * Recommended * Optional

Data Type

Data type of the Data Point value. (e.g. float32, int, string…)

Alternative Names

A list of relevant name spaces list for to display names used in different standards like EEBUS, IEC6850, SAREF4ENER etc.

Legible Description

Optional, can occur once per language. Contains details concerning the intended use case of the functional profile.

If a Data Point is defined as mandatory in the functional profile, it must also be present in the product implementing this functional profile.

If no Data Point is mandatory in the functional profile, then at least one Data Point must be recommended and at least one of the recommended Data Points must be presentin the product implementing this Functional Profile.

Sub Data Points

Data Points that are connected to other Data Points can be modeled as sub Data Points. The connection between Data Point and sub Data Point are defined with naming conventions. If e.g. a Data Point has the name “MainDatapoint” and is connected with a sub Data Point “SubDatapoint” the sub Data Point name has the name “MainDatapoint.SubDatapoint” - this means, the sub Data Point name is appended to the main Data Point name separated with a dot.

An example for a sub Data Point is “Voltage.Precision” as the precision of the Data Point “Voltage”.

SmartGridready Functional Profile Library

The currently published Functional Profiles are available on the SmartGridready Functional Profile Library.

You can add a serach filter by modifying the base URL and adding query parameters. Use the following base URL:

https://library.smartgridready.ch/FunctionalProfileTemplate

and add http query parameters like:

https://library.smartgridready.ch/FunctionalProfileTemplate?level=2m,4m&category=SGCP

Each parameter can contain a comma separated list of filter values:

...&level=2m,4m&...

Available parameters are:

  • release (aliases: state, releaseState)

  • level (aliases: levelOfOperation)

  • category (aliases: functionalProfileCategory)

  • type (aliases: functionalProfileType)

Defining Functional Profiles

File Naming Scheme

Functional Profiles should have the following file naming convention:

FP_[specificationOwnerIdentification]_[FunctionalProfileCategory]_[FunctionalProfileType]_[levelOfOperation]_[majorVerion].[minorVerion].xml

Writing Descriptions Functional profile descriptions should be structured as follows: * Image indicating the typical use of the functional profile, together with an easily understandable title * Short explanation (i.e. long version of the title) * Detailed explanation, including very attribute. * Description on how to apply the functional profile concerning presence level (i.e. how to handle recommended and optional Data Points)

Functional Profile Release Process

Scope

This document structures the process for the life-cycle of functional profiles.

States

A Functional Profile cycles through the following states:

SGr Functional Profile Process

Fig. 11 SGr Functional Profile Process

Action

Description

Next Status

Inception

A demand for a new Functional Profile arises. The new Functional Profile is created in state “Draft”

Draft

Ready for Review

The Functional Profile has been developed and is ready for review by its relevant stakeholders.

Review

Publish

The Functional Profile has passed the review and is ready to be used.

Published

Revoke

A Functional Profile has passed its usefulness and is not needed any more. Any state can be directly revoked.

Revoked

Creating new Functional Profiles

If the Functional Profile interest groups sees requirements for a new or improved functionality, it will create a new Functional Profile XML with state “draft”. A new issue will be created for this Functional Profile. The issue has

Any documentation, discussion, and work on the elaboration of this Functional Profile will be tracked in this github issue.

The team then works directly on the XML.

Ready for review

When a new Functional Profile is considered ready it switches the state to review. The following criteria must be met for this step

  1. Purpose and functionality of the Functional Profile is defined

  2. level of operation is defined

  3. Data points are defined, including mandatory/recommended/optional, units, type and read/write

  4. Generic attributes for the Functional Profile and/or its data points are defined

Publish

To publish a Functional Profile the following criteria must be met:

  1. The version is set correctly according to the versioning scheme (see below).

  2. All stakeholders concerned are happy with the content of the Functional Profile, and have given their formal consent.

  3. “SGr Deklarationsstelle” has been informed about the upcoming publication.

  4. The Functional Profile has been tested by at least one product.

Published Functional Profiles will not change anymore. If a change is requested, a new Functional Profile with increased version number will be created (see versioning scheme below). Therefore, only the release note structure of the Functional Profile can be updated on publishing.

Revoke

If a Functional Profile shall not be used anymore it can be revoked. Only the note structure of the Functional Profile can be updated on publishing.

Revoked Functional Profiles are obsolete and shall not be used for further declarations of products and communicators. However, they will remain the data base for legacy reasons.

Versioning Scheme

Functional Profiles are numbered as follows: primaryVersion.secondaryVersion.subReleasVersionNumber

Number

Description

primaryVersion

Describes the major functionality family. Breaking changes implies an increment of the major number

secondaryVersion

Describes a backward compatible evolution. Only new functionality is added, but remaining functionality is never changed

subReleaseVersionNumber

The functionality remains identical, but minor non-functional details change, such as descriptions, translations, remarks

Release Notes

The release notes section contains meta data that describe history and current state of the functional profile.

Table 13 Releas Notes

Element

Description

Status

One of ‘Draft’, ‘Review’, ‘Released’, ‘Revoked’

Remarks

Optional, text with remarks e.g. can be useful during the draft phase for todo’s etc.

Change Log

Optional, can occur multiple times. Contains release notes to the version concerned