SAREF4EE: the EEbus/Energy@home extension of SAREF
This is the extension of SAREF for the EEBus and Energy@Home project. The documentation of SAREF4EE is available at http://ontology.tno.nl/SAREF4EE_Documentation_v0.1.pdf. SAREF4EE represents 1) The configuration information exchanged in the use case 'Remote Network Management' according to the EEBus Technical Report, Protocol Specification- Remote Network Management, version 1.0.0.2, 2015-09-19; 2) The scheduling information about power sequences exchanged in the use cases Appliance scheduling through CEM and remote start' and 'Automatic cycle rescheduling', according to the message structures described in General Message Structures, version 0.1.1, 2015-10-07; 3) The monitor and control information exchanged in the use case 'Communicate appliance status and info on manually planned cycles', according to the monitoring and control part of the Energy@Home Data Model, version 1.0; and 4) the event-based data exchanged in the use case 'Demand Response', according to General Message Structures, version 0.1.1, 2015-10-07.
Laura Daniele <mailto:laura.daniele@tno.nl>
This work is licensed under a Creative Commons Attribution License (version 3.0) <http://creativecommons.org/licenses/by/3.0/>
A relationship identifying the ownership of an entity. In particular, a slot belongs to a power sequence, a power sequence belongs to an alternative, an alternative belongs to a power profile, a power profile belongs to a device.
A relationships between an appliance control and a parameter state
A relationship modelling the actual day of week (monday to sunday). It refers to the local time. If no utcOffset is given, it is assumed that the local time is equivalent to UTC-time.
A relationship between a device and its power profile
A relationship between an appliance compatibility action and its affected parameter(s)
A relationship between a demand response event and an appliance.
A relationship between the state of a demand response event and the action to be performed as a consequence of this event.
In the Remote Network Management (RemoteNWM) use case, a relationship between a node in a network (i.e., a s4ee:Device) and its connections (i.e., a s4ee:DeviceConnections). The same s4ee:Device (or node) can have multiple device connections as it can be connected to several networks at the same time.
A relationship between a power sequence and its energy (in terms of value and unit of measure)
A relationship representing an energy value type
A relationship between an appliance parameter compatibility action and the associated expressions
A relationship identifying the functions performed by an actuator level and an actuator switch
A relationship representing a list of actions
A relationship representing a list of controls
A relationship representing a list of expressions
A relationship representing a list of modes
A relationship representing a list of monitors
A relationship representing a list of parameters
A relationship representing a list of settings
A relationship representing a list of values
A relationship representing the native setup of a device connection
A relationship representing the node address of a device
A relationship between an appliance parameter table and a point in this table
A relationship representing a power value type
A relationship between an appliance parameter and an associated table
A relation representing the value type of an entity
A relationship representing the inizalization setup phases before a device connection is established
A relationships between an appliance monitor and a parameter state
A relationship between an appliance and a demand response event
A relationship between a demand response event and the action triggered by this event
Indicates whether a slot is used (activateSlot = true) or not (activateSlot = false). SHALL be present if a slot is optional (i.e., the property s4ee:optionalSlot is TRUE), otherwise SHALL be absent (i.e. in case the slot is mandatory).
Indicates the current repetition of the sequence of slots. SHALL be present if a power sequence can repeat its sequence of slots (i.e., if s4ee:repetitionTotal is present and has a value > 1). Otherwise, it SHALL be absent.
Indicates the currently active slot number, if the power sequence state is set to 'running' or 'paused'. Otherwise it SHALL be omitted.
Indicates the number of alternatives provided by a power profile
Provides the name of the brand of a device. Useful where the name of the brand and the vendor differs.
A value between 1 and 53 stating the current calendar week number. This element refers to the local time. If no utcOffset is given, it is assumed that the local time is equivalent to UTC-time.
Indicates whether a power sequence applies a configuration that minimises the user’s energy bill (if set to TRUE). MAY be present. Absence of this element is equal to the presence with value FALSE.
Provides a device code for the device as defined by the manufacturer.
Provides the name of the device as defined by the manufacturer.
In the Measurement class some valueType values can be detailed or even require information about the time period. For example, an averageValue is usually computed from values of a finite time period. For smart devices, the start and end time of the evaluationPeriod can be filled in directly. For simple sensors, the values (average, min, max, ...) could to be calculated (if desired) by the technology interface component together with the corresponding evaluationPeriod.
Used in the Demand Response use case to identify an event
Indicates whether a power sequence optimises the configuration towards the maximum availability of renewable energy (if set to TRUE). MAY be present. Absence of this element is equal to the presence with value FALSE.
Indicates the hardware revision of the device as defined by the manufacturer.
This property is added to the time:DurationDescription class to allow to express time duration also as xsd:duration. This is necessary because in the EEBus/E@h model time is always expressed as xsd:duration. We use this property to express the following time information in the EEBus/E@h model: - the startTime of the power sequence (in the PowerSequence class). SHALL be present - the endTime of the power sequence (in the PowerSequence class). If the value is available, it SHALL be denoted here. Otherwise the element SHALL be omitted. - the startTime of measurement as absolute or relative value (in the Measurement class). - the endTime of measurement as absolute or relative value (in the Measurement class).
Indicates whether an entity (i.e., appliance control or appliance parameter setting) is active or not
Used to connect different expressions, can be AND/OR
A description for the device as defined by the manufacturer.
A short label of the device as defined by the manufacturer. Used also in the Remote Network Management use case where it MAY be present: manufacturers may assign their devices a brief label, this makes interfacing, e.g. to a smartphone application, a lot easier. However, the content of the “label” section is not standardized.
Indicates a node identification for the device as defined by the manufacturer. This could be used for the identification of a device, even if it was removed from the network and rejoined later with changed node address.
Represents a math operator in an expression and can assume the following values: == (equal), != (different), > (greater than), < (smaller than)
States the maximum amount of starts a power sequence (of a device) allows per day.
Enables the identification of different sensors on one EEBus address.
An identifier for one specific message. If a message is marked as obsolete, this number can be used to identify the original message.
Indicates the type of the message. Possible values are: - logging (used for messages, that shall be stored in a log file) - information (messages, that shall be presented to the customer on a display; lower priority) - warning (messages, that shall be presented to the customer on a display; medium priority) - alarm (messages, that shall be presented to the customer on a display; high priority; if there is an alarm device in the household, it shall generate an alarm) - emergency (messages, that shall be presented to the customer on a display; very high priority; if there is an alarm device in the household, it shall generate an alarm; additionally, if possible and configured, an emergency call shall be done) - obsolete (previously sent messages, that shall be marked as obsolete)
Indicates whether the power profile of a device is configured for remote control (e.g., by an energy management system).This refers to the selection chosen by the user on the remote control feature of the device. If nodeRemoteControllable is equal to FALSE, all the supported power sequences shall set the sequenceRemoteControllable property to FALSE. If nodeRemoteControllable is equal to TRUE, at least one power sequence shall be remotely controllable by setting the sequenceRemoteControllable property to TRUE.
Indicates the number of set points in a step parameter table
Indicates whether a slot is optional (if set to TRUE). Otherwise, if a slot is mandatory, SHALL be omitted or set to FALSE. Note: This element applies to every repetition of the slot number.
Indicates permissions in an appliance parameter table. Values can be: 'read only', 'write only' or 'read and write'
Indicates the power source of a device. Possible values are e.g. mainsSinglePhase or battery (see EEBus data model for all possible values).
Contains the total number of repetitions, if a power sequence repeats its sequence of slots. Absence of the element is equal to a presence with a value of 0 (zero). SHALL be absent if the value is 1.
Provides a unique power sequence identifier for a certain device
Denotes whether a power sequence is modifiable (if value is TRUE) or not (if value is FALSE). Modifiability is required to configure power sequences and slots. It is also required to change a power sequence state.
Indicates the serial number of a device as defined by the manufacturer. Usually the same as printed on the case.
Used in the remote Network Management use case for the report candidate, in which case SHALL be present. If this value is set to TRUE, then CandidateSetup can be used for NativeSetup of networkManagementAddNodeCall.
If a slot is optional, represents the current status of the slot (true = the slot will be executed, false = the slot will not be executed). If the slot is not optional, this element SHALL be absent.
Provides a unique slot identifier for a certain power sequence
Indicates the software revision of a device as defined by the manufacturer.
Indicates the step in a step paramater table
If set toTRUE, the power profile of a device does not restrict the number of power sequence re-selections by the CEM, i.e. within a given alternative the CEM may first choose one power sequence, alter the selection by configuring another sequence later on, then alter the selection again, etc. (provided the process rules and data still permit configuration). If supportsReselection is set to FALSE, the device permits the CEM to select a power sequence of an alternative only once.
If set toTRUE, the power profile of a device does NOT permit the modification of more than one slot per configuration command.
Used in the Remote Network Management use case for scan network, denotes a recommended maximum duration of the scan. If absent, the recipient applies its default behaviour (duration). A value of zero seconds denotes a request to abort an ongoing network scan.
- In the Sensing class is the creation time of the sensingData instance. - In the Messaging class is the point in time in which the message was generated. - In the Measurement class is the time of creation of a value element (measured, calculated, ...). Some sensors and communications technologies may already provide this information natively. In other cases the technology interface may set timestamp to the time of creation of a measurementData instance. - In the DemandResponseEvent and s4ee:DemandResponseStateData classes of the demand response use case
Represents the total number of power sequences supported by the power profile of a device
Indicates the configured offset to UTC (e.g. PT2H [= +2 hours] for German summertime).
Indicates the source (origin/foundation) of the measurement forecasted values for a power sequence. If absent, the source is undefined. Remark: This element shall express the reliability of the forecast.
Indicates whether the tendency of a measurement is rising, stable or falling.
Provides a code for the vendor of the device as defined by the manufacturer.
Provides the name of the vendor of the device as defined by the manufacturer.
Used to identify the working mode of an appliance
An entity that represents the possible types of actions in SAREF4EE
The scheduled activation delay for a slot.
The duration description for the activation delay duration temporal entity
The duration description for the active duration (min and max, sum max and sum min) temporal entities
The active maximum duration a power sequence can run without interruption.
The active mininum duration a power sequence can run without interruption.
The active maximum duration a power sequence can run in total (summation of all active times).
The active minimum duration a power sequence must run in total (summation of all active times).
Independent from the ActuatorSwitch class, the ActuatorLevel class enables a user or application to model LEVEL commands (start, up, percentageAbsolute, relative, etc.). This can be used to dim a light, set the speed of an electric motor, etc.
The function for an actuator level to model level commands. Possible values are start, up, down, stop, percentageAbsolute. The value is only needed for some functions. E.g. setting function to percentageAbsolute just makes sense together with a proper value.
Basic on/off operations on a simple actuator can be modelled with the ActuatorSwitch class. Whether the function turns a device itself ON or OFF, or whether it switches a specific feature, depends on the implementation. For example, one could model the super freeze program of a freezer using ActuatorSwitch class. An ON command would then activate the super freeze program and an OFF command would deactivate it. This example shall just give an idea how ActuatorSwitch can be used for more purposes than only turning devices on and off.
The function for an actuator switch to model on, off or toggle command.
An entity used in the Remote Network Management (RemoteNWM) use case to represent the node address. SHALL be present when adding, removing or modifying a device in the network.
A collection of power sequences for a certain profile
The duration description for the anticipation duration temporal entities
Any kind of smart home device of interest for the monitoring and control use case, and the demand response use case
An entity used to represent the control phase of an appliance
An entity used to represent the monitoring phase of an appliance
A parameter used to represent an appliance's function, e.g. 'temperature', 'spin' etc.
An action type used in the monitoring and control use case with the following properties: - there are 4 appliance parameter compatibility actions that can be executed if the associated Expression evaluates to TRUE (namely, 1 = reset to OFF value; 2 = disabled; 3 = set to MaxValue; 4 = set to default value) - 'hasValue min 0 MaxValue' epresseses the maximum value to be used in case of action = set to MaxValue
Appliance parameter compatibility action
The set of settings and expressions allowed for each working mode
The specific settings for a certain appliance working mode
The actual state of a parameter (by means of the ApplianceMonitor class), or the new state to be set for a parameter (by means of the ApplianceControl class)
A table that describes an appliance parameter
The representation of a working mode of an appliance, e.g. for a washing machine it can be a cycle for 'synthetics'.
A table that represents a boolean parameter
Used in the Remote Network Management use case for Report candidate, the Candidate Setup SHALL be present and contains technology or implementation dependent information on the reported node.
The duration of a slot (SHALL be present in case of 'determined slot'). If a slot has a configurable lenght, this element SHALL reflect the currently configured lenght
The duration description for the default duration temporal entity
An action type used in the demand response use case to express the action to be performed as a consequence of a demand response event
An event used to send overload warning severity level and related load control commands to a household appliance.
In the demand response use case, it expresses the possible states of a demand response event
The representation of the state of an event in the demand response use case
The device that exposes a power profile with power sequences to the CEM (note that a s4ee:Device can also be called 'power sequence server').
In the Remote Network Management (RemoteNWM) use case represents the data used by a node in a network (i.e., a s4ee:Device ) to handle its connections with a RemoteNWM server in the network. The same s4ee:Device (or node) can have multiple device connections as it can be connected to several networks at the same time.
Before the connection between two devices is established, there is an initialization that may consists of zero or more setup phases of type Candidate Setup, Scan Setup, and JoinModeConfiguration.
The possible states in the Remote Newtork Management use case, when adding a new device, removing an existing device, scanning the network for candidate devices, or modifying parametrs of an existing device.
The duration of a slot. SHALL be present if the slot has a configurable length. Otherwise it CAN state the fixed duration of the slot (will not be evaluated by the power sequences server).
The duration description for the duration temporal entity
The uncertainty of the duration given in the element 's4ee:Duration' (MAY be present)
The duration description for the duration uncertainty temporal entity
The earliest possible start time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0. Note: This element applies to the first repetition of the slot number only.
If state is set to 'running' or 'paused' AND the slot is determined, this element CAN contain the time the slot has already been in 'running' state (this also means the value remains constant during a 'paused' state). Otherwise it SHALL be omitted.
The endTime of a power sequence. If the value is available, it SHALL be denoted here. Otherwise the element SHALL be omitted. The end time of a slot MAY be stated in this element. The following equation SHALL apply: endTime - startTime = defaultDuration.
The duration description for the end time duration temporal entities
Energy type and value in a slot (i.e., Energy, EnergyMin, EnergyMax, EnergyExpected, EnergyStandardDeviation, EnergySkewness); or the ResumeEnergyEstimated in a power sequence, i.e., the additional energy the device will consume before resuming its normal operation (after a pause)
A possible type of energy in a slot that represents the expected energy consumption and its value
A possible type of energy in a slot that represents the maximum energy consumption and its value
A possible type of energy in a slot that represents the minimum energy consumption and its value
A possible type of energy in a slot that represents the energy skewness and its value
A possible type of energy in a slot that represents the energy standard deviation and its value
The specific expressions for a certain appliance working mode
An entity that represents the possible types of functions in SAREF4EE
Used in the Remote Network Management use case for the joining mode configuration. The “joining mode” of a RemoteNWM server feature determines the behaviour of the feature with regards to devices that have not been added yet to the RemoteNWM server’s DestinationsList. For example: 1. The feature may set its native communications technology visibility (i.e. the visibility towards other devices of the native network) to “on” or “off”. 2. The feature may be configured to accept only a new device with a specific native address or native property. 3. The feature may be configured for an automatic (EEBus) acceptance of devices discovered by automatic (native) protocols. While “add device” and “remove device” are rather specific requests for an immediate task, “joining mode” on the other hand is more a configuration of the default or “background” behaviour of the native communications technology implementation (“stack”) with regards to the announcement or acceptance of other devices. Altogether, this kind of default or “background” behaviour can result in “node description list” updates or “candidate” notifications.
The latest possible end time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0. Note: This element applies to the first repetition of the slot number only.
Maximum delay time between the end of the previous slot and the beginning of the current slot.
This field allows the anticipation of the phase if (and only if) the previous phase has the energy set to 0 Wh, each unit is a minute.
If a slot has a configurable duration, it SHALL be present and denote the maximum supported configuration. Note: This element applies to the first repetition of the slot number only
A possible value for a measurement or a parameter
The state of a measurand in the Measurement class. Supported values are 'normal', 'outOfRange' and 'error'.
Provides functionality for transmitting measured, calculated or empirically obtained values from sensors. The Measurement class allows to model different types of measurement values (i.e., value, averageValue, minValue, maxValue, averageDerivativeValue, minDerivativeValue, maxDerivativeValue, standardDeviation)
Simple textual information transfer for displays and users. It is not intended to be used for any automatisms.
If a slot has a configurable duration, it SHALL be present and denote the minimum supported configuration. Note: This element applies to the first repetition of the slot number only.
Used in the Remote Network Management use case for add device, remove device and modify device. When sending a request to add, remove or modify a device, the NativeSetup SHALL be present in order to provide the RemoteRNW server with the necessary information for the device to add, remove or modify and the content is evaluated by the recipient to get the proper information which device to add, remove or modify. Otherwise MAY be present. Details on the content of “nativeSetup” are beyond the scope of this document as each technology and implementation typically requires different parameters to execute this task.
A way to characterize a point in a pointwise parameter table
The duration description for the pause duration (max and min) temporal entities
The maximum duration a power sequence can pause after the end of an activity.
The minimum duration a power sequence can pause after the end of an activity.
The pause time of a power sequence or a slot
A table that represents a point with one or more values
Power type and value in a slot (i.e. power, powerMin, powerMax, powerExpectedValue, powerStandardDeviation, powerSkewness)
A possible type of power in a slot that represents the expected power consumption and its value
A possible type of power in a slot that represents the maximum power consumption and its value
A possible type of power in a slot that represents the minimum power consumption and its value
A way to model curves of power and energy over time, which also provides definitions for the modelling of power scheduling including alternative plans. With a PowerProfile, a device (or power sequences server) exposes the power sequences that are potentially relevant for the CEM (or power sequences client).
The specification of a task, such as wash or tumble dry, according to user preferences and/or manufacturer's settings for a certain device. It is the most 'coarse' view, a power sequence can represent all single steps of a whole task,where the single steps are represented by slots. If the power sequence is pausable by the bound power sequences client, the property 'saref:isInterruptionPossible' SHALL be present and set to true. Otherwise it SHALL be omitted. If the power sequence is stoppable by the bound power sequences client, the property 'saref:isFlexible' SHALL be present and set to true. Otherwise it SHALL be omitted.
The current state of the power sequence. It can assume one of the values 'running', 'paused', 'scheduled', 'scheduled paused', 'pending', 'inactive', 'completed', or 'invalid'.
A possible type of power in a slot that represents the power skewness and its value
A possible type of power in a slot that represents the power standard deviation and its value
The duration that the current slot (s4ee:activeSlotNumber) permits being paused. This element SHALL ONLY be present if the power sequence is interruptible. Otherwise, it SHALL be omitted. In case the power sequence is interruptible the following rules apply: If the element is absent this means there is no explicit pause duration restriction for the current slot; a value of 0s denoted the slot does not permit being paused.
If state is set to 'running' or 'paused' AND the slot is determined, this element SHALL contain the time the slot still needs to be in 'running' state (this also means the value remains constant during a 'paused' state). Otherwise it SHALL be omitted.
In a power sequence the additional costs for the resumption of a device to its normal operation (after a pause).
In a power sequence, the additional energy the device will consume before resuming its normal operation (after a pause). This is only an estimated value which will not be added to the value stated in any slot value information.
Used in the Remote Network Management use case for scan network, the Scan Setup SHALL be present. Some communications technologies provide measures to scan which other devices are accessible. When scanning for potential new devices, the communications technology’s native devices could be announced as 'candidates'. The request for scan network is initiated by a RemoteNWM client feature of device 'CLIENT'. It is sent to the RemoteNWM server feature of device 'SERVER'. Then, device “SERVER” executes the scan network task, if possible. In case of success device 'SERVER' announces found candidates. Subsequently the whole process is defined in more detail.
Specification of data obtained by 'state-based sensors' like contact sensors, switches and buttons, etc., in contrast to 'value-based sensors' like temperature or humidity sensors that are treated with the Measurement class. Some sensors deliver a value (e.g. a levelSwitch).
The single steps of a power sequence are represented by slots. A slot is associated with a slot number (while a power sequence is associated with a power sequence identifier). The slot numbers of two power sequences should be considered independent from each other, i.e., slot number 7 of sequence 1 describes a different slot than slot number 7 of sequence 2. Therefore a slot is only uniquely identified in combination with a sequence ID.
The duration description for the slot time duration temporal entities
The startTime of a power sequence or slot. SHALL be present
The duration description for the start time duration temporal entities
An entity that represents the possible states in SAREF4EE
A table that represents a step with at least one minimun value, number of set points and a step
The exchange of time information is highly important for most smart grid and home automation systems. Please note the underlying revision of the EEBus data model does not specify a sophisticated synchronisation mechanism that includes a given precision. This is due to the complex of problems appearing with communication delays in the different technologies and hardware platforms. However, an application could measure all relevant delays and take care of a real synchronisation in the network using the TimeInformation class.
In the demand response use case, the time period associated with a demand response event
The duration description for the time period duration temporal entities
Used in the following classes as alternative to the datatype property "s4ee:timestamp" in case one wants to describe the timestamp using duration (instead of xsd:date time): - In the Sensing class is the creation time of the sensingData instance. - In the Messaging class is the point in time in which the message was generated. - In the Measurement class is the time of creation of a value element (measured, calculated, ...). Some sensors and communications technologies may already provide this information natively. In other cases the technology interface may set timestamp to the time of creation of a measurementData instance. - In the DemandResponseEvent and s4ee:DemandResponseStateData of teh demand response use case
The duration description for the timestamp duration temporal entities
The value of an entity. In the monitor and control use case, this value can be 1) an integer to be compared to the current set point, according with the math operator; 2) an integer that expresses MaxValue, MinValue or DefaultValue in the ApplianceParameterSettings class. In the Measurement class, it allows to model different types of measurement values such as AverageValue, MinValue, MaxValue, AverageDerivativeValue, MinDerivativeValue, MaxDerivativeValue, StandardDeviationValue
Appliance parameter compatibility action type with value 1 = reset to OFF value
Appliance parameter compatibility action type with value 2 = disabled
Appliance parameter compatibility action type with value 3 = set to max value
Appliance parameter compatibility action type with value 4 = set to default value
Device connection state with value 'added'
Power sequence state with value 'completed'
Function type or sensor state with value DOWN
Demand response event action type with value emergency
Demand response state with value 'event accepted'
Demand response state with value 'event cancelled'
Demand response state with value 'event error'
Demand response state with value 'event rejected'
Demand response state with value 'event started'
Demand response state with value 'event stopped'
Device connection state with value 'failed'
Power sequence state with value 'inactive'
Demand response event action type with value increase
Power sequence state with value 'invalid'
Sensor state with value 'level absolute'
Sensor state with value 'level percentage absolute'
Sensor state with value 'level percentage relative'
Sensor state with value 'level relative'
Device connection state with value 'modified'
Demand response event action type with value normal
Function type or sensor state with value OFF
Function type or sensor state with value ON
Demand response event action type with value pause
Power sequence state or sensor state with value 'paused'
Power sequence state with value 'pending'
Function type with value PRECENTAGE ABSOLUTE
Function type with value PRECENTAGE RELATIVE
Demand response event action type with value reduce
Device connection state with value 'removed'
Demand response event action type with value resume
Power sequence state with value 'running'
Power sequence state with value 'scheduled'
Power sequence state with value 'scheduled paused'
Device connection state with value 'succeeded'
Function type or sensor state with value TOGGLE
Function type or sensor state with value UP