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
© Copyright 2026 Paperzz