D1.3 Appendix 1.2b Energy Management Service

Document title
Document type
D1.3 Appendix 1.2b Energy Management Service Descriptions
Proposal
Date
Version
2017-07-29
1.0
Author
Status
Claude Le Pape
Proposal
Contact
Page
[email protected] / +33 6 83 63 41 20
1 (16)
D1.3 Appendix 1.2b Energy Management
Service Descriptions
Abstract
This document proposes a number of service descriptions related to the management of
energy. These services concern:




Energy Consumption or Production Measurement Time Series
Energy Consumption or Production Prediction Time Series
Energy Consumption or Production Valorization Time Series
Tariffs Data
The current version is a draft based on requirements from Arrowhead Tasks T1.2, T1.3, and
T1.4. Even though the focus for this specification has been electricity, we believe it can be
applied (perhaps with minor adaptations) to other resources shared over a network. The case
of water is particularly interesting in the context of Task T1.4.
It is to be shared within WP1 as well as with WP5 and other work packages. Changes are
expected to converge on a more global proposal. We shall however manage not to make the
services too complex.
ARTEMIS Innovation Pilot Project: Arrowhead
THEME [SP1-JTI-ARTEMIS-2012-AIPP4 SP1-JTI-ARTEMIS-2012-AIPP6]
[Production and Energy System Automation Intelligent-Built environment and urban infrastructure for sustainable and friendly cities]
Grant agreement no: 332987. Project Coordinator: Professor Jerker Delsing | Luleå University of Technology
www.arrowhead.eu
Document title
Version
D1.3 Appendix 1.2b Energy Management Service
Descriptions
1.0
Date
Status
2017-07-29
Proposal
Page
2 (16)
www.arrowhead.eu
Document title
Version
D1.3 Appendix 1.2b Energy Management Service
Descriptions
1.0
Date
Status
2017-07-29
Proposal
Page
3 (16)
1. Service Description Overview
This document describes a series of consistent services aimed at energy management. These
services concern:




Energy Consumption or Production Measurement Time Series
Energy Consumption or Production Prediction Time Series
Energy Consumption or Production Valorization Time Series
Tariffs Data
It is based on requirements from Tasks T1.2, T1.3, and T1.4. Even though the focus for this
specification has been electricity, we believe it can be applied (perhaps with minor
adaptations) to other resources shared over a network. The case of water is particularly
interesting in the context of Task T1.4.
Additional services for tariffs comparison and selection have been evoked, but their
specifications still need to be worked out.
Changes are expected to converge on a more global proposal. We shall however manage not
to make the services too complex.
1.1.
Energy Consumption or Production Measurement Time
Series
The underlying requirement is to enable a system to get energy consumption (or production)
data from energy sensors and the corresponding data collection system. The objective is to
make the measures remotely accessible through a network. This network could be private,
virtually private, or public.
The service shall provide a secure access to the energy measures provided by energy sensors
and collected through a local concentrator which delivers periodically buffered historical
energy consumption or production data.
Let us note that this service could be viewed as a particular case of a more generic
“Measurement Time Series” service.
www.arrowhead.eu
Document title
Version
D1.3 Appendix 1.2b Energy Management Service
Descriptions
1.0
Date
Status
2017-07-29
Proposal
Page
4 (16)
1.2.
Energy Consumption or Production Prediction Time
Series
The underlying requirement is to enable a system to get an energy consumption (or
production) prediction on the basis of (i) past data and (ii) prediction of correlated variables
(e.g., related to weather).
Let us note that this service could be viewed as a particular case of a more generic “Prediction
Time Series” service.
1.3.
Energy Tariff Data
Tariffs are very dynamic and can change from one day to another; the changes can be ruled
by a contract or simply the result of a market price. There is a strong need of a service that
can provide the information about the tariff or a prediction of it. In addition, coordination
mechanisms enabling multiple actors to adjust their consumption or production is a “globally
smart” manner could be implemented through dynamic adjustments of tariffs.
The service shall provide the service subscriber (an energy management system) with a
secure access to the tariff to be applied. The service subscriber can obtain the details of the
energy tariff applicable to a given “energy node” (producer or consumer), possibly in an
approximated manner.
1.4.
Energy Consumption or Production Valorization Time
Series
The underlying requirement is to obtain a cost or revenue time series from a given energy
consumption or prediction time series submitted to a given tariff.
www.arrowhead.eu
Document title
Version
D1.3 Appendix 1.2b Energy Management Service
Descriptions
1.0
Date
Status
2017-07-29
Proposal
Page
5 (16)
2. Abstract Interfaces
2.1.
Energy Consumption or Production Measurement Time
Series Provider
The EnergyMeasurementTimeSeriesProvider interface consists of three functions:
Function
GetEnergyTimeSeries
(GetPowerTimeSeries)
SubscribeEnergyTimeSeries
(SubscribePowerTimeSeries)
Unsubscribe
Parameters
EnergyNode
StartTime
EndTime
Granularity
Units
EnergyNode
StartTime
EndTime
Granularity
UpdatePeriod
Units
EnergyNode
2.1.1.
Functions
2.1.1.1.
GetEnergyTimeSeries / GetPowerTimeSeries
Return Value
EnergyTimeSeries
(PowerTimeSeries)
Status (Boolean)
Status (Boolean)
The function
GetEnergyTimeSeries(EnergyNode, StartTime, EndTime, Granularity, Units)
is used by a service subscriber to request a given time series, i.e., the energy consumption or
production of the given EnergyNode, between the given StartTime and the given EndTime,
detailed at the given time Granularity, and expressed in the given Units system.
The output of the function is an EnergyTimeSeries as described in Section 3.
The function
GetPowerTimeSeries(EnergyNode, StartTime, EndTime, Granularity, Units)
is equivalent but provides the consumption or production in terms of power rather than
energy. The output of the function is a PowerTimeSeries as described in Section 3.
www.arrowhead.eu
Document title
Version
D1.3 Appendix 1.2b Energy Management Service
Descriptions
1.0
Date
Status
2017-07-29
Proposal
Page
6 (16)
2.1.1.2.
SubscribeEnergyTimeSeries / SubscribePowerTimeSeries
The function
SubscribeXXX(EnergyNode, StartTime, EndTime, Granularity, UpdatePeriod, Units)
is used by a service subscriber to start a service subscription. This enables the servive
provider to regularly send new data, according to the given UpdatePeriod, from the given
StartTime and up to the given EndTime.
2.1.1.3.
Unsubscribe
The function
Unsubscribe(EnergyNode)
is used by a service subscriber to end a service subscription.
All service subscriptions related to the given EnergyNode are terminated.
2.1.2.
Sequence Diagrams
2.1.2.1.
GetEnergyTimeSeries / GetPowerTimeSeries
Subscriber  GetEnergyTimeSeries(...)
Subscriber  Return value
2.1.2.2.
 Provider
 Provider
Subscribe
Subscriber  SubscribeXXX(...)
Subscriber  Return value
 Provider
 Provider
Subscriber  UpdateXXXTimeSeries(...)
Subscriber  Return value
 Provider
 Provider
Subscriber  UpdateXXXTimeSeries(...)
Subscriber  Return value
 Provider
 Provider
...
[Up to the given EndTime or to an Unsubscribe event]
www.arrowhead.eu
Document title
Version
D1.3 Appendix 1.2b Energy Management Service
Descriptions
1.0
Date
Status
2017-07-29
Proposal
Page
7 (16)
2.1.2.3.
Unsubscribe
Subscriber  Unsubscribe(...)
Subscriber  Return value
2.2.
 Provider
 Provider
Energy Consumption or Production Measurement Time
Series Subscriber
The EnergyMeasurementTimeSeriesSubscriber interface consists of a unique function:
Function
UpdateEnergyTimeSeries
UpdatePowerTimeSeries
Parameters
EnergyNode
EnergyTimeSeries
EnergyNode
PowerTimeSeries
Return Value
Status (Boolean)
Status (Boolean)
2.2.1.
Functions
2.2.1.1.
UpdateEnergyTimeSeries / UpdatePowerTimeSeries
The function
UpdateEnergyTimeSeries(EnergyNode, EnergyTimeSeries)
is used by the provider to push an update during subscription. It provides an
EnergyTimeSeries concerning the energy consumption or production of the given EnergyNode
over a given time period. Usually, the duration of this time period is equal to the
UpdatePeriod of a running subscription. It can however be longer, e.g., in case old data has not
been provided yet, whatever the reasons.
The function
UpdatePowerTimeSeries(EnergyNode, PowerTimeSeries)
is equivalent but provides the consumption or production in terms of power rather than
energy.
2.2.2.
Sequence Diagrams
See section 2.1.2.
www.arrowhead.eu
Document title
Version
D1.3 Appendix 1.2b Energy Management Service
Descriptions
1.0
Date
Status
2017-07-29
Proposal
Page
8 (16)
2.3.
Energy Consumption or Production Prediction Time
Series Provider
The EnergyPredictionTimeSeriesProvider interface is identical to the one described in Section
2.1.
Function
GetEnergyTimeSeries
(GetPowerTimeSeries)
SubscribeEnergyTimeSeries
(SubscribePowerTimeSeries)
Unsubscribe
Parameters
EnergyNode
StartTime
EndTime
Granularity
Units
EnergyNode
StartTime
EndTime
Granularity
Horizon (optional)
UpdatePeriod
Units
EnergyNode
Return Value
EnergyTimeSeries
(PowerTimeSeries)
Status (Boolean)
Status (Boolean)
The main difference is that the service provider is not providing measures but estimates
based on past measures and on previously learned dependencies with other variables.
A variant of the SubscribeXXX function distinguishes the Granularity, the Horizon, and the
UpdatePeriod of the prediction:
SubscribeXXX(EnergyNode, StartTime, EndTime, Granularity, Horizon, UpdatePeriod, Units)
With this variant, the service provider updates the prediction time series regularly, according
to the given UpdatePeriod, with the given Granularity, but never goes beyond the given
Horizon in the future.
For example, if the Granularity is one hour, the Horizon seven days, and the UpdatePeriod one
day, an update is done every day, providing an estimate of the consumption or production of
the given EnergyNode over each hour of the seven coming days.
www.arrowhead.eu
Document title
Version
D1.3 Appendix 1.2b Energy Management Service
Descriptions
1.0
Date
Status
2017-07-29
Proposal
Page
9 (16)
2.4.
Energy Consumption or Production Prediction Time
Series Subscriber
The EnergyPredictionTimeSeriesSubscriber interface is identical to the one described in
Section 2.2.
Function
UpdateEnergyTimeSeries
UpdatePowerTimeSeries
2.5.
Parameters
EnergyNode
EnergyTimeSeries
EnergyNode
PowerTimeSeries
Return Value
Status (Boolean)
Status (Boolean)
Energy Tariff Data Provider
The EnergyTariffDataProvider provides data about the tariff to be applied to a given
EnergyNode. These data are provided in the form of a function describing the cost of energy
consumption (or the revenue for energy production) at a given power level for one unit of
time. This function varies over time, hence we conside the energy cost as a time-varying
function of power.
The interface includes two functions.
Function
GetTariffTimeSeries
LinearizeTariffTimeSeries
www.arrowhead.eu
Parameters
EnergyNode
StartTime
EndTime
Granularity
Shape
Units
Hypothesis (optional)
PowerProfile (optional)
TariffTimeSeries
NegativeRelativeErrorMax
PositiveRelativeErrorMax
Return Value
TariffTimeSeries
TariffTimeSeries
Document title
Version
D1.3 Appendix 1.2b Energy Management Service
Descriptions
1.0
Date
Status
2017-07-29
Proposal
Page
10 (16)
2.5.1.
Functions
2.5.1.1.
GetTariffTimeSeries
The function
GetTariffTimeSeries(EnergyNode, StartTime, EndTime, Granularity, Shape, Units)
is used by a service subscriber to request a given tariff time series, i.e., a description of the
tariff which applies to the given EnergyNode1 over time, between the given StartTime and the
given EndTime, expressed in the given Units system.
In real life, energy tariffs can be more or less complex and vary both in time and with the
power which is used. In some cases, the service consumer is actually looking for an
approximation of the actual tariff (e.g., because it is going to use this approximation in an
already complex optimization model). As shown in the following figure, five types of
approximations can be of interest:





Time-varying linear approximation: in this case, the tariff is described as a cost per
unit of energy over given time intervals.
Time-varying continuous piecewise linear approximation: in this case, the tariff is
allowed to vary with the power that is being used, i.e., the cost of energy might grow
when the power usage exceeds a given level, but the function relating power and cost
remains piecewise linear.
Time-varying piecewise linear approximation with penalties: in this case, (i) the cost
of energy might grow when the power usage exceeds a given level and (ii) there
might be fixed penalties for going above given power levels.
Time-varying continuous piecewise quadratic approximation: in this case, the cost of
energy might grow with power in a piecewise linear or piecewise quadratic manner.
Time-varying piecewise quadratic approximation with penalties: in this case, (i) the
cost of energy might grow with power in a piecewise linear or quadratic manner and
(ii) there might be fixed penalties for going above given power levels.
Let us note that the curves may not start from the point (0, 0) as there might be an
unavoidable subscription cost per unit of time.
The Shape parameter specifies the type of approximation the subscriber can handle. The
Granularity parameter specifies a time granularity below which the provided tariff shall not
vary. For example, if the Granularity is one hour and the Shape is Linear, the service provider
will approximate the tariff by providing for each hour an average cost per unit of energy.
An open question is whether a reference to the EnergyNode is the best possible parameter. Another
option would be a reference to a TariffContract, possibly together with an identification of the location
of interest.
1
www.arrowhead.eu
Document title
Version
D1.3 Appendix 1.2b Energy Management Service
Descriptions
1.0
Date
Status
2017-07-29
Proposal
Page
11 (16)
When the tariff is to be approximated, the service provider might make use of a “typical”
power consumption profile (a consumption time series) to compute a good approximation.
This parameter shall however remain optional.
In some cases, there might also be different “hypotheses” to consider, in which case at least a
reference to the hypothesis under consideration is a needed entry.
The output of the function is a TariffTimeSeries as described in Section 3.
Energy cost for being at the given
power level for one unit of time
Piecewise quadratic
with fixed penalties
Piecewise linear
with fixed penalties
Continuous
piecewise linear
Continuous
piecewise quadratic
Linear
Power
2.5.1.2.
LinearizeTariffTimeSeries
The function
LinearizeTariffTimeSeries(TariffTimeSeries, NegativeRelativeErrorMax, PositiveRelativeErrorMax)
is used to transform a piecewise quadratic approximation into a piecewise linear
approximation.
www.arrowhead.eu
Document title
Version
D1.3 Appendix 1.2b Energy Management Service
Descriptions
1.0
Date
Status
2017-07-29
Proposal
Page
12 (16)
The NegativeRelativeErrorMax and PositiveRelativeErrorMax parameters enable to bound the
difference between the given (initial) tariff and the returned tariff. The returned tariff shall be
such that at any time t and whatever the power P, the following constraints are satisfied:
(1 – NegativeRelativeErrorMax) * initialTariff  returnedTariff
returnedTariff  (1 + PositiveRelativeErrorMax) * initialTariff
At least one of these two parameters must be strictly positive.
2.5.2.
Sequence Diagrams
2.5.2.1.
GetTariffTimeSeries
Subscriber  GetTariffTimeSeries(...)
Subscriber  Return value
2.6.
 Provider
 Provider
Energy Consumption or Production Valorization Time
Series Provider
The EnergyValorizationTimeSeriesProvider interface consists of four variants of a unique
function:
Function
GetValorizationTimeSeries
GetValorizationTimeSeries
GetValorizationTimeSeries
GetValorizationTimeSeries
www.arrowhead.eu
Parameters
EnergyNode
EnergyTimeSeries
Granularity
Units
EnergyNode
PowerTimeSeries
Granularity
Units
TariffTimeSeries
EnergyTimeSeries
Granularity
Units
TariffTimeSeries
PowerTimeSeries
Granularity
Units
Return Value
MonetaryTimeSeries
MonetaryTimeSeries
MonetaryTimeSeries
MonetaryTimeSeries
Document title
Version
D1.3 Appendix 1.2b Energy Management Service
Descriptions
1.0
Date
Status
2017-07-29
Proposal
Page
13 (16)
2.6.1.
Functions
2.6.1.1.
GetValorizationTimeSeries
The function
GetValorizationTimeSeries(EnergyNode, XXXTimeSeries, Granularity, Units)
GetValorizationTimeSeries(TariffTimeSeries, XXXTimeSeries, Granularity, Units)
is used by a service subscriber to obtain the time series of its costs or revenues at the given
time Granularity.
Four versions are available:

In some versions, the EnergyNode under consideration is provided as a parameter
and the service provider is expected to find the tariff to which the EnergyNode is
subjected. In the other versions, the tariff description to be applied is provided. The
first versions could be used to avoid the communication of a tariff description over
the network, when it is not necessary. The other versions are needed when different
tariff descriptions are used alternatively for the same EnergyNode.

Either EnergyTimeSeries providing energy consumption or production (e.g., in kWh)
over given intervals could be provided, or PowerTimeSeries providing consumed or
produced power (e.g., in kW) could be provided.
2.6.2.
Sequence Diagrams
2.6.2.1.
GetValorizationTimeSeries
Subscriber  GetValorizationTimeSeries(...)  Provider
Subscriber  Return value
 Provider
3. Abstract Information Model
Relevant data types include:

www.arrowhead.eu
EnergyNode. An energy node represents any energy consumer or producer. For
example, in the context of Arrowhead Task T1.2, a manufacturing plant is considered
as an energy node. A specific machine in the plant might also be considered as an
energy node. In the first case, we are interested in the total energy consumption of the
plant. In the second case, we look at the detailed consumption of a specific machine.
For the services described in this document, no specific attribute of the energy node is
needed.
Document title
Version
D1.3 Appendix 1.2b Energy Management Service
Descriptions
1.0
Date
Status
2017-07-29
Proposal
Page
14 (16)

TimeStamp (for parameters such as StartTime and EndTime). Any unambiguous
representation of time is a priori acceptable. For example, start and end times could
be expressed as a vector (year, month, day, hour, minute, second, time zone). They
could also be expressed as integers, in a given TimeUnit based on a given TimeOrigin
specified as part of the adopted Units system.

TimeDuration (for parameters such as Granularity, Horizon, UpdatePeriod). Any
unambiguous representation of duration is a priori acceptable.

Units. This data structure represents a given system of units. For the services
described in this document, the following attributes are needed: TimeUnit
(e.g., second), PowerUnit (e.g., kW), EnergyUnit (e.g., kWh), MonetaryUnit (e.g., Euro).
It could also include Boolean parameters specifying whether positive energy values
correspond to energy production or consumption, or whether positive monetary
values correspond to revenues or costs. An alternative would be to set up a
convention, e.g., positive values denote energy production (and revenues) and
negative values energy consumption (and costs).

TimeSeries (including PowerTimeSeries, EnergyTimeSeries and MonetaryTimeSeries).
This data structure represents the evolution of a given numeric quantity of over time.
Its attributes include a Units system and a set of (StartTime, EndTime, Value) triples.
In the case of a PowerTimeSeries, the Value specifies the amount of power produced
or consumed all along the time lapse between the given StartTime and the given
EndTime. In the case of an EnergyTimeSeries, the Value specifies the amount of energy
produced or consumed between the given StartTime and the given EndTime. In the
case of a MonetaryTimeSeries, the Value specifies an amount of revenue or cost
incurred between the given StartTime and the given EndTime.

TariffTimeSeries. This data structure represents the evolution of a tariff over time. Its
attributes include a Units system and a set of (StartTime, EndTime, Curve) triples. The
Curve specifies the “Power-to-Cost” function which applies from the given StartTime
to the given EndTime. As tariffs are often repetitive (e.g., one Curve for the week days
and another for the week-ends), additional fields Periodicity, PeriodStartTime, and
PeriodEndTime, could be added to ease the description of periodic tariffs. These
specify that the (StartTime, EndTime, Curve) triple applies periodically according to
the given Periodicity between the given PeriodStartTime and the given
PeriodEndTime.

CurveShape. An enumerated type with values Linear, PiecewiseLinearContinuous,
PiecewiseLinear, PiecewiseQuadraticContinuous, PiecewiseQuadratic.2

Curve. A curve is described as a set of (Xmin, Xmax, Ymin, Ymax, InitialStep,
InitialSlope) sextuples. For a tariff curve, the meaning of each such sextuple is the
following:
We might need others to represent some tariff contracts more accurately. Yet we do not attempt to be
complete in this document as this is not our primary interest.
2
www.arrowhead.eu
Document title
Version
D1.3 Appendix 1.2b Energy Management Service
Descriptions
1.0
Date
Status
2017-07-29
Proposal
Page
15 (16)
o
When the power equals Xmin, the cost for being at this power level for one
unit of time is Ymin.
o
As soon as Xmin is exceeded, i.e., becomes Xmin+, a penalty corresponding to
the given InitialStep is paid, i.e., the cost becomes (Ymin + InitialStep). In the
Linear, PiecewiseLinearContinuous, and PiecewiseQuadraticContinuous cases,
all sextuples have an InitialStep equal to 0.
o
Between Xmin+ and Xmax, the cost grows from (Ymin + InitialStep) to Ymax as
a quadratic function of the power with the given InitialSlope. In particular, if
Ymax – (Ymin + InitialStep) = InitialSlope * (Xmax – Xmin), then the cost grows
linearly with the power. Such is systematically the case in the Linear,
PiecewiseLinearContinuous, and PiecewiseLinear cases.
In the PiecewiseLinear case, one might say that the step InitialStep is a fixed cost
incurred for each time unit for which the consumption exceeds Xmin, and that the
slope InitialSlope is a variable cost incurred for each time unit and unit of
consumption above Xmin and up to Xmax.
In the Linear case, a unique (0, Xmax, Ymin, Ymax, 0, InitialSlope) sextuple with
Ymax – Ymin = InitialSlope * Xmax is sufficient to represent the curve.
www.arrowhead.eu
Document title
Version
D1.3 Appendix 1.2b Energy Management Service
Descriptions
1.0
Date
Status
2017-07-29
Proposal
Page
16 (16)
4. Non-functional Requirements
Name
Access right
management
Description
Guarantee
that only
authorized
subscribers
can access
private
information
Type
Constraints
Data security,
confidentiality
Service
All in this
document
Use-case
Arrowhead
Tasks 1.2,
1.3, 1.4
5. References
Arrowhead DELIVERABLE D1.2 of Work Package 1: plan and specification for the generation
1 demonstrations.
6. Revision history
6.1.
No.
1
2
6.2.
No.
1
www.arrowhead.eu
Amendments
Date
2014-04-28
2014-06-06
Version Subject of Amendments
0.1
Initial proposal
1.0
Update
Quality Assurance
Date
2014-06-06
Version Approved by
1.0
Claude Le Pape
Author
Claude Le Pape
Claude Le Pape