Unverified Commit 0d7accdb authored by Maxime Lefrançois's avatar Maxime Lefrançois
Browse files

Merge branch 'issue-9' into develop-v2.1.1

parents 26f81a01 428338e5
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
- [Laura Daniele](https://www.linkedin.com/in/lauradaniele) ([TNO](https://tno.nl/))
- [Giulia Biagioni](https://www.linkedin.com/in/giulia-biagioni) ([TNO](https://tno.nl/))
- [Cornelis Bouter](https://www.linkedin.com/in/bouterca) ([TNO](https://tno.nl))
+2 −2
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ This extension adds several properties to the existing [saref:Device](https://sa

#### <a id="4.2.3.0"></a>Foreword

The SAREF4ENER extension defines different energy flexibility profiles that can be offered by a [saref:Device](https://saref.etsi.org/core/Device). They are: [s4ener:PowerProfile](#s4ener:PowerProfile), [s4ener:PowerLimitProfile](#s4ener:PowerLimitProfile), [s4ener:DemandDrivenProfile](#s4ener:DemandDrivenProfile), [s4ener:OperationModeProfile](#s4ener:OperationModeProfile), [s4ener:FillRateBasedProfile](#s4ener:FillRateBasedProfile), [s4ener:IncentiveTableBasedProfile](#s4ener:IncentiveTableBasedProfile), and [s4ener:PowerEnvelopeProfile](#s4ener:PowerEnvelopeProfile). They are all subclasses of [s4ener:FlexibilityProfile](#s4ener:FlexibilityProfile) which is in turn a subclass of [saref:Profile](https://saref.etsi.org/core/Profile). 
The SAREF4ENER extension defines different energy flexibility profiles that can be offered by a [saref:Device](https://saref.etsi.org/core/Device). They are: [s4ener:PowerProfile](#s4ener:PowerProfile), [s4ener:PowerLimitProfile](#s4ener:PowerLimitProfile), [s4ener:DemandDrivenProfile](#s4ener:DemandDrivenProfile), [s4ener:OperationModeProfile](#s4ener:OperationModeProfile), [s4ener:FillRateBasedProfile](#s4ener:FillRateBasedProfile), [s4ener:IncentiveTableProfile](#s4ener:IncentiveTableProfile), and [s4ener:PowerEnvelopeProfile](#s4ener:PowerEnvelopeProfile). They are all subclasses of [s4ener:FlexibilityProfile](#s4ener:FlexibilityProfile) which is in turn a subclass of [saref:Profile](https://saref.etsi.org/core/Profile). 


<figure>
@@ -95,7 +95,7 @@ The [s4ener:FillRateBasedProfile](#s4ener:FillRateBasedProfile) can be used for

#### <a id="4.2.3.4"></a>Incentive Table Based Profile

The [s4ener:IncentiveTableBasedProfile](#s4ener:IncentiveTableBasedProfile) can be used to describe an incentive table, compiled of incentive table slots ([s4ener:IncentiveTableSlot](#s4ener:IncentiveTableSlot)) as well as a power plan ([s4ener:PowerPlan](#s4ener:PowerPlan)). Both are used to negotiate the allocation of upcoming energy usage of a device between the energy manager and the device. The incentive table is used by the energy manager to express the availability of energy via real and/or artificial incentives or costs over time. The device itself uses the table to negotiate the own demand and request the allocation by sending the resulting power plan to the energy manager.
The [s4ener:IncentiveTableProfile](#s4ener:IncentiveTableProfile) can be used to describe an incentive table, compiled of incentive table slots ([s4ener:IncentiveTableSlot](#s4ener:IncentiveTableSlot)) as well as a power plan ([s4ener:PowerPlan](#s4ener:PowerPlan)). Both are used to negotiate the allocation of upcoming energy usage of a device between the energy manager and the device. The incentive table is used by the energy manager to express the availability of energy via real and/or artificial incentives or costs over time. The device itself uses the table to negotiate the own demand and request the allocation by sending the resulting power plan to the energy manager.

Incentive types can be expressed in the form of relative costs ([s4ener:RelativeCost](#s4ener:RelativeCost)), absolute costs ([s4ener:AbsoluteCost](#s4ener:AbsoluteCost)), CO2 emissions ([s4ener:CO2Emission](#s4ener:CO2Emission)), and renewable energy percentage ([s4ener:RenewableEnergyPercentage](#s4ener:RenewableEnergyPercentage)). An incentive table also defines a scope type ([s4ener:ScopeType](#s4ener:ScopeType)) to indicate whether it is a preliminary ([s4ener:Preliminary](#s4ener:Preliminary)) or committed version ([s4ener:Committed](#s4ener:Committed)).

+46 −37
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@
  rdfs:label "Demand driven profile 1" ;
.
:HeatPump rdf:type saref:Actuator ;
  saref:isUsedFor :Electricity ;
  saref:consumes s4ener:Electricity ;
  s4ener:hasOperationMode :OperationMode_1 ;
  s4ener:hasTransition :Transition_1 ;
  s4ener:hasTimer :Timer_1 ;
@@ -53,20 +53,20 @@

:NumberRange_1
  a s4ener:NumberRange ;
  s4ener:endOfRange :Observation_1 ; 
  s4ener:startOfRange :Observation_2 ; 
  s4ener:endOfRange :PropertyValue_1 ; 
  s4ener:startOfRange :PropertyValue_2 ; 
  rdfs:label "Number range 1" ;
. 
:Observation_1
  a saref:Observation ;
:PropertyValue_1
  a saref:PropertyValue ;
  saref:hasValue "2500"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ; 
.
:Observation_2
  a saref:Observation ;
:PropertyValue_2
  a saref:PropertyValue ;
  saref:hasValue "2000"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
.

@@ -74,59 +74,59 @@
### Operation modes and related concepts ###
############################################

:OperationMode_1 rdf:type s4ener:OperationMode, saref:OffState ;
:OperationMode_1 rdf:type s4ener:OperationMode ;
  rdfs:label "off" ;
  s4ener:hasPowerRange :PowerRange_1 ;
  s4ener:hasSupplyRange :NumberRange_2 ;
  s4ener:hasRunningCosts :Observation_7 ;
  s4ener:hasRunningCosts :PropertyValue_7 ;
  s4ener:abnormalConditionOnly "false"^^xsd:boolean ;
.

:Observation_7 rdf:type saref:Observation ;
:PropertyValue_7 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Price_1 ;
  saref:isValueOfProperty :Price ;
  saref:isMeasuredIn <https://spec.edmcouncil.org/fibo/ontology/FND/Accounting/ISO4217-CurrencyCodes/EUR> ;
.

:PowerRange_1 rdf:type s4ener:PowerRange ;
  s4ener:relatesToCommodityQuantity s4ener:ElectricPowerL1 ;
  s4ener:relatesToCommodity s4ener:ElectricPowerL1 ;
  s4ener:hasNumberRange :NumberRange_3 ;
.

:NumberRange_3 rdf:type s4ener:NumberRange ;
  s4ener:endOfRange :Observation_5 ;
  s4ener:startOfRange :Observation_6 ;
  s4ener:endOfRange :PropertyValue_5 ;
  s4ener:startOfRange :PropertyValue_6 ;
  rdfs:label "Number range 3" ;
.

:Observation_5 rdf:type saref:Observation ;
:PropertyValue_5 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ; 
.

:Observation_6 rdf:type saref:Observation ;
:PropertyValue_6 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ; 
.

:NumberRange_2 rdf:type s4ener:NumberRange ;
  rdfs:label "Supply range";
  s4ener:endOfRange :Observation_3 ; 
  s4ener:startOfRange :Observation_4 ; 
  s4ener:endOfRange :PropertyValue_3 ; 
  s4ener:startOfRange :PropertyValue_4 ; 
  rdfs:label "Number range 2" ;
.

:Observation_3 rdf:type saref:Observation ;
:PropertyValue_3 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ; 
.

:Observation_4 rdf:type saref:Observation ;
:PropertyValue_4 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ; 
.

@@ -150,31 +150,40 @@
  rdfs:label "Average demand rate forecast" ;
.
:DataPoint_1
  a s4ener:DataPoint ;
  a s4ener:DataPoint, saref:Observation ;
  rdfs:label "Data point 1" ;
  saref:hasTimestamp "2023-01-29T14:40:00Z"^^xsd:dateTimeStamp ;
.
:DataPoint_1_PropVal 
  a saref:PropertyValue ;
  saref:hasValue "2000" ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
.  
:DataPoint_2
  a s4ener:DataPoint ;
  a s4ener:DataPoint, saref:Observation ;
  rdfs:label "Data point 2" ;
  saref:hasTimestamp "2023-01-29T14:45:00Z"^^xsd:dateTimeStamp ;
  saref:hasResult :DataPoint_2_PropVal ;
.  
:DataPoint_2_PropVal 
  a saref:PropertyValue ;  
  saref:hasValue "2500" ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
.
:DataPoint_3
  a s4ener:DataPoint ;
  a s4ener:DataPoint, saref:Observation ;
  rdfs:label "Data point 3" ;
  saref:hasTimestamp "2023-01-29T15:00:00Z"^^xsd:dateTimeStamp ;
.
:DataPoint_3_PropVal
  a saref:PropertyValue ;
  saref:hasValue "2000" ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
.
:Price_1 rdf:type saref:Price .
:Power_1 rdf:type saref:Power .
:Electricity rdf:type saref:Electricity .

:Price rdf:type saref:Property .

dcterms:abstract a owl:AnnotationProperty .
+43 −44
Original line number Diff line number Diff line
@@ -37,12 +37,11 @@
.

:PresentFillLevel_1
  a saref:Observation ;
  a saref:PropertyValue ;
  saref:hasValue "60"^^xsd:decimal ;
  saref:isMeasuredIn unit:PERCENT ;
  saref:relatesToProperty :Energy_1 ;
  saref:isValueOfProperty s4ener:Energy ;
.
:Power_1 a saref:Power .

:FillLevelTargetProfileElement_1
  a s4ener:FillLevelTargetProfileElement ;
@@ -74,8 +73,6 @@
#########################

:LeakageBehaviour_1
  # change to TimeSeries???
  # !!!change to TimeSeries difficult, because the x-axis is not time, but the fill level range
  a s4ener:LeakageBehaviour ;
  s4ener:hasLeakageBehaviourElement :LeakageBehaviourElement_1 ;
  s4ener:hasLeakageBehaviourElement :LeakageBehaviourElement_2 ;
@@ -85,50 +82,52 @@
:LeakageBehaviourElement_1
  a s4ener:LeakageBehaviourElement ;
  s4ener:hasFillLevelRange :NumberRange_1 ;
  s4ener:leakageRate :DataPoint_11 ; #"10"^^xsd:decimal ; # todo: make Observation
  s4ener:leakageRate :DataPoint_11 ; #"10"^^xsd:decimal ; 
  rdfs:label "Leakage behaviour element 1" ;
.
:DataPoint_11 rdf:type s4ener:DataPoint . # todo: extend
:DataPoint_11 rdf:type saref:PropertyValue .

:LeakageBehaviourElement_2
  a s4ener:LeakageBehaviourElement ;
  s4ener:hasFillLevelRange :NumberRange_2 ;
  s4ener:leakageRate :DataPoint_12 ; # "20"^^xsd:decimal ; # todo: make Observation
  s4ener:leakageRate :DataPoint_12 ; # "20"^^xsd:decimal ; 
  rdfs:label "Leakage behaviour element 2" ;
.
:DataPoint_12 rdf:type s4ener:DataPoint .

:NumberRange_1
  a s4ener:NumberRange ;
  s4ener:endOfRange :Observation_1 ; #"25"^^xsd:decimal ;
  s4ener:startOfRange :Observation_2 ; #"15"^^xsd:decimal ;
  s4ener:endOfRange :PropertyValue_1 ; #"25"^^xsd:decimal ;
  s4ener:startOfRange :PropertyValue_2 ; #"15"^^xsd:decimal ;
  rdfs:label "Number range 1" ;
.
:Observation_1
  a saref:Observation ;
  saref:relatesToProperty :Energy_1 ;
:PropertyValue_1
  a saref:PropertyValue ;
  saref:isValueOfProperty s4ener:Energy ;
  saref:hasValue "25"^^xsd:decimal ;
  saref:isMeasuredIn om:kilowatt ;
.
:Observation_2
  a saref:Observation ;
  saref:relatesToProperty :Energy_1 ;
:PropertyValue_2
  a saref:PropertyValue ;
  saref:isValueOfProperty s4ener:Energy ;
  saref:hasValue "15"^^xsd:decimal ;
  saref:isMeasuredIn om:kilowatt ;
.
:NumberRange_2
  a s4ener:NumberRange ;
  s4ener:endOfRange :Observation_3 ; #"35"^^xsd:decimal ;
  s4ener:startOfRange :Observation_4 ; #"25"^^xsd:decimal ;
  s4ener:endOfRange :PropertyValue_3 ; #"35"^^xsd:decimal ;
  s4ener:startOfRange :PropertyValue_4 ; #"25"^^xsd:decimal ;
  rdfs:label "Number range 2" ;
.
:Observation_3
  a saref:Observation ;
  saref:relatesToProperty :Energy_1 ;
:PropertyValue_3
  a saref:PropertyValue ;
  saref:isValueOfProperty s4ener:Energy ;
  saref:hasValue "35"^^xsd:decimal ;
  saref:isMeasuredIn om:kilowatt ;
.
:Observation_4
  a saref:Observation ;
  saref:relatesToProperty :Energy_1 ;
:PropertyValue_4
  a saref:PropertyValue ;
  saref:isValueOfProperty s4ener:Energy ;
  saref:hasValue "25"^^xsd:decimal ;
  saref:isMeasuredIn om:kilowatt ;
.
@@ -149,28 +148,28 @@
:DataPoint_7 
  a s4ener:DataPoint ;
  saref:hasValue "1000"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
  saref:hasTimestamp "2023-01-29T10:00:00Z"^^xsd:dateTimeStamp ;
.
:DataPoint_8 
  a s4ener:DataPoint ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
  saref:hasTimestamp "2023-01-29T14:00:00Z"^^xsd:dateTimeStamp ;
.
:DataPoint_9 
  a s4ener:DataPoint ;
  saref:hasValue "1500"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
  saref:hasTimestamp "2023-01-29T15:00:00Z"^^xsd:dateTimeStamp ;
.
:DataPoint_10 
  a s4ener:DataPoint ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
  saref:isMeasuredIn om:kilowatt ;
  saref:hasTimestamp "2023-01-29T16:00:00Z"^^xsd:dateTimeStamp ;
.
@@ -180,7 +179,7 @@
########################################

:HeatPump rdf:type saref:Actuator ;
  saref:isUsedFor :Electricity ;
  saref:consumes :Electricity ;
  s4ener:hasOperationMode :OperationMode_1 ;
  s4ener:hasTransition :Transition_1 ;
  s4ener:hasTimer :Timer_1 ;
@@ -190,7 +189,7 @@
  s4ener:hasTransitionTimestamp "2023-01-29T16:55:00Z"^^xsd:dateTimeStamp ;
.

:OperationMode_1 rdf:type s4ener:OperationMode, saref:OffState ;
:OperationMode_1 rdf:type s4ener:OperationMode ;
  rdfs:label "off" ;
  s4ener:hasOperationModeElement :OperationModeElement_1 ;
  s4ener:abnormalConditionOnly "false"^^xsd:boolean ;
@@ -207,15 +206,15 @@
  rdfs:label "Fill level range for Operation Mode Element 1" ;
.

:StartOfRange_3 rdf:type s4ener:DataPoint ;
:StartOfRange_3 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Occupancy ;
  saref:isValueOfProperty :Occupancy ;
  saref:isMeasuredIn om:percent ;
.

:EndOfRange_3 rdf:type s4ener:DataPoint ;
:EndOfRange_3 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Occupancy ;
  saref:isValueOfProperty :Occupancy ;
  saref:isMeasuredIn om:percent ;
.

@@ -225,20 +224,20 @@
  rdfs:label "Fill rate" ;
.

:StartOfRange_4 rdf:type s4ener:DataPoint ;
:StartOfRange_4 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Motion ;
  saref:isValueOfProperty :Motion ;
  saref:isMeasuredIn om:percent ;
.

:EndOfRange_4 rdf:type s4ener:DataPoint ;
:EndOfRange_4 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:relatesToProperty :Motion ;
  saref:isValueOfProperty :Motion ;
  saref:isMeasuredIn om:percent ;
.

:PowerRange_1 rdf:type s4ener:PowerRange ;
  s4ener:relatesToCommodityQuantity s4ener:ElectricPowerL1 ;
  s4ener:relatesToCommodity s4ener:ElectricPowerL1 ;
  s4ener:hasNumberRange :NumberRange_5 ;
.

@@ -248,16 +247,16 @@
  rdfs:label "Power range" ;
.

:StartOfRange_5 rdf:type s4ener:DataPoint ;
:StartOfRange_5 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:isMeasuredIn om:watt ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
.

:StartOfRange_6 rdf:type s4ener:DataPoint ;
:StartOfRange_6 rdf:type saref:PropertyValue ;
  saref:hasValue "0"^^xsd:decimal ;
  saref:isMeasuredIn om:watt ;
  saref:relatesToProperty :Power_1 ;
  saref:isValueOfProperty s4ener:Power ;
.

:Transition_1 rdf:type s4ener:Transition ;
@@ -268,6 +267,6 @@
  rdfs:comment "See the OperationModeProfile examples for an extensive example containing multiple instances of the Transition class." ;
.  
  
:Occupancy rdf:type saref:Occupancy .
:Occupancy rdf:type saref:Property .

dcterms:abstract a owl:AnnotationProperty .
 No newline at end of file
+72 −78

File changed.

Preview size limit exceeded, changes collapsed.

Loading