Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for CSC, VAR and ATR #134

Open
wants to merge 1 commit into
base: V3.x
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,24 @@ Improve the description of FlexRequestMessageID and D-PrognosisMessageID fields

### Removed
Reference from FlexSettlement and FlexSettlementResponse - These fields supplied the same functionality as the FlexSettlementMessageID field. Now please use the FlexSettlementMessageID field in the FlexSettlementResponse

## [3.1.0] - 2024-11-05

### Added
* Added attribute(s) in `FlexRequestType`
* `Unit`: so that the aggregate knows which in with unit of power the message sent
* Added attribute(s) in `FlexReservationUpdateType`
* `Service Type`: so that the aggregate knows which service is being requested
* `Unit`: so that the aggregate knows which in with unit of power the message sent
* Added attribute(s) in `FlexReservationUpdateISPType`
* `Disposition`: ? so that the aggrate knows whether the Power specified for this ISP represents available capacity or a request for reduction/increase.
* Added attribute(s) in `FlexOfferType`
* `Service Type`: so that the DSO knows which service is being requested
* `Unit`: so that the DSO knows in which unit of power the message sent
* Added attribute(s) in `FlexOrderType`
* `Service Type`: so that the aggregate knows which service is being requested
* `Unit`: so that the aggregate knows in which unit of power the message sent
* Added attribute(s) in `PrognosisType`
* `Unit`: so that the DSO knows which in which unit of power the message sent
* Added attribute(s) in `FlexSettlementType`
* `Unit`: so that the aggregate knows in which unit of power the message sent
Binary file modified USEF Flex Trading Protocol Specifications 3.0.0.docx
Binary file not shown.
Binary file modified USEF Flex Trading Protocol Specifications 3.0.0.pdf
Binary file not shown.
72 changes: 57 additions & 15 deletions xsd/UFTP-agr-dso.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,11 @@
prognosis is sent. The combination of SenderDomain and PrognosisSequence should be unique</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Unit" type="PowerUnitType" use="optional">
<xs:annotation>
<xs:documentation>The unit of Power that applies to the Power of the ISP's.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
Expand All @@ -59,8 +64,7 @@
<xs:complexType name="D-PrognosisISPType">
<xs:attribute name="Power" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Power specified for this ISP in Watts. Also see the important notes about the sign of this attribute in the main documentation entry for the ISP element.</xs:documentation>
</xs:annotation>
<xs:documentation>Power specified for this ISP in the given PowerUnit. Also see the important notes about the sign of this attribute in the main documentation entry for the ISP element.</xs:documentation> </xs:annotation>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the new property is optional in this Pull Request, I would suggest adding something along the lines of: (If the field is missing, it should be interpreted as Watt) after PowerUnit.

</xs:attribute>
<xs:attribute name="Start" type="xs:integer" use="required">
<xs:annotation>
Expand Down Expand Up @@ -114,21 +118,32 @@
<xs:documentation>Reference to the bilateral contract in question.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ServiceType" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Service type for this request, the service type determines response characteristics such as latency or asset participation type.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Reference" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Message reference, assigned by the DSO originating the FlexReservationUpdate.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Unit" type="PowerUnitType" use="optional">
<xs:annotation>
<xs:documentation>The unit of Power that applies to the Power of the ISP's.</xs:documentation>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ISPs not ISP's

</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- -->
<!-- Flex Reservation Update ISP Type -->
<!-- -->
<xs:complexType name="FlexReservationUpdateISPType">
<xs:attribute name="Disposition" type="AvailableRequestedType" use="optional"/>
<xs:attribute name="Power" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Remaining reserved power specified for this ISP in Watts.</xs:documentation>
<xs:documentation>Remaining reserved power specified for this ISP in the given PowerUnit.</xs:documentation>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above

</xs:annotation>
</xs:attribute>
<xs:attribute name="Start" type="xs:positiveInteger" use="required">
Expand Down Expand Up @@ -189,6 +204,11 @@
<xs:documentation>Service type for this request, the service type determines response characteristics such as latency or asset participation type.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Unit" type="PowerUnitType" use="optional">
<xs:annotation>
<xs:documentation>The unit of Power that applies to the Min/Max Power of the ISP's.</xs:documentation>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ISPs

</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
Expand All @@ -199,12 +219,11 @@
<xs:attribute name="Disposition" type="AvailableRequestedType"/>
<xs:attribute name="MinPower" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Power specified for this ISP in Watts. Also see the important notes about the sign of this attribute in the main documentation entry for the ISP element.</xs:documentation>
</xs:annotation>
<xs:documentation>Power specified for this ISP in the given PowerUnit. Also see the important notes about the sign of this attribute in the main documentation entry for the ISP element.</xs:documentation> </xs:annotation>
</xs:attribute>
<xs:attribute name="MaxPower" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Power specified for this ISP in Watts. Also see the important notes about the sign of this attribute in the main documentation entry for the ISP element.</xs:documentation>
<xs:documentation>Power specified for this ISP in the given PowerUnit. Also see the important notes about the sign of this attribute in the main documentation entry for the ISP element.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Start" type="xs:positiveInteger" use="required">
Expand Down Expand Up @@ -259,6 +278,11 @@
<xs:documentation>Reference to the concerning contract, if applicable. The contract may be either bilateral or commoditized market contract.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ServiceType" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Service type for this request, the service type determines response characteristics such as latency or asset participation type.</xs:documentation>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Service type for this request. The service type determines response characteristics such as latency and asset participation type.

</xs:annotation>
</xs:attribute>
<xs:attribute name="D-PrognosisMessageID" type="UUIDType" use="optional">
<xs:annotation>
<xs:documentation>MessageID of the D-Prognosis this request is based on, if it has been agreed that the baseline is based on D-prognoses. </xs:documentation>
Expand All @@ -274,6 +298,11 @@
<xs:documentation>ISO 4217 code indicating the currency that applies to the price of the FlexOffer.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Unit" type="PowerUnitType" use="optional">
<xs:annotation>
<xs:documentation>The unit of Power that applies to the Power of the ISP's within the OfferOptions.</xs:documentation>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ISPs

</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
Expand Down Expand Up @@ -309,8 +338,7 @@
<xs:complexType name="FlexOfferOptionISPType">
<xs:attribute name="Power" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Power specified for this ISP in Watts. Also see the important notes about the sign of this attribute in the main documentation entry for the ISP element.</xs:documentation>
</xs:annotation>
<xs:documentation>Power specified for this ISP in the given PowerUnit. Also see the important notes about the sign of this attribute in the main documentation entry for the ISP element.</xs:documentation> </xs:annotation>
</xs:attribute>
<xs:attribute name="Start" type="xs:positiveInteger" use="required">
<xs:annotation>
Expand Down Expand Up @@ -387,6 +415,11 @@
<xs:documentation>Reference to the concerning bilateral contract, if applicable.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ServiceType" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Service type for this request, the service type determines response characteristics such as latency or asset participation type.</xs:documentation>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Service type for this request. The service type determines response characteristics such as latency and asset participation type.

</xs:annotation>
</xs:attribute>
<xs:attribute name="D-PrognosisMessageID" type="UUIDType" use="optional">
<xs:annotation>
<xs:documentation>MessageID of the D-Prognosis this request is based on, if it has been agreed that the baseline is based on D-prognoses. </xs:documentation>
Expand Down Expand Up @@ -422,14 +455,19 @@
<xs:documentation>The activation factor for this OfferOption. The ActivationFactor must be greater than or equal to the MinActivationFactor in the OfferOption chosen from the FlexOffer.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Unit" type="PowerUnitType" use="optional">
<xs:annotation>
<xs:documentation>The unit of Power that applies to the Power of the ISP's.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ISP for Flex Orders -->
<xs:complexType name="FlexOrderISPType">
<xs:attribute name="Power" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Power specified for this ISP in Watts. Also see the important notes about the sign of this attribute in the main documentation entry for the ISP element.</xs:documentation>
<xs:documentation>Power specified for this ISP in the given PowerUnit. Also see the important notes about the sign of this attribute in the main documentation entry for the ISP element.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Start" type="xs:positiveInteger" use="required">
Expand Down Expand Up @@ -478,6 +516,11 @@
<xs:documentation>ISO 4217 code indicating the currency that applies to all amounts (flex price, penalty and net settlement) in this message.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Unit" type="PowerUnitType" use="optional">
<xs:annotation>
<xs:documentation>The power unit that applies to all given powers in this message.</xs:documentation>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The power unit that applies to all given power values in this message.

</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
Expand Down Expand Up @@ -546,28 +589,27 @@
</xs:attribute>
<xs:attribute name="BaselinePower" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Power originally forecast (as per the referenced baseline) for this ISP in Watts.</xs:documentation>
<xs:documentation>Power originally forecast (as per the referenced baseline) for this ISP in the given PowerUnit.</xs:documentation>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Accidental double space?

</xs:annotation>
</xs:attribute>
<xs:attribute name="OrderedFlexPower" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Amount of flex power ordered (as per the referenced FlexOrder message) for this ISP in Watts.</xs:documentation>
<xs:documentation>Amount of flex power ordered (as per the referenced FlexOrder message) for this ISP in the given PowerUnit.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ActualPower" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Actual amount of power for this ISP in Watts, as measured/determined by the DSO and allocated to the AGR.
</xs:documentation>
<xs:documentation>Actual amount of power for this ISP in the given PowerUnit, as measured/determined by the DSO and allocated to the AGR.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DeliveredFlexPower" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>Actual amount of flex power delivered for this ISP in Watts, as determined by the DSO.</xs:documentation>
<xs:documentation>Actual amount of flex power delivered for this ISP in the given PowerUnit, as determined by the DSO.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PowerDeficiency" type="xs:integer" use="optional" default="0">
<xs:annotation>
<xs:documentation>Amount of flex power sold but not delivered for this ISP in Watts, as determined by the DSO.</xs:documentation>
<xs:documentation>Amount of flex power sold but not delivered for this ISP in the given PowerUnit, as determined by the DSO.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
Expand Down
10 changes: 10 additions & 0 deletions xsd/UFTP-common.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -226,4 +226,14 @@
<xs:element name="SignedMessage" type="SignedMessageType"/>
<xs:element name="TestMessage" type="TestMessageType"/>
<xs:element name="TestMessageResponse" type="TestMessageResponseType"/>
<!-- -->
<!-- -->
<!-- Power Unit Type -->
<!-- -->
<xs:simpleType name="PowerUnitType">
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to add more to this enum :)

<xs:restriction base="xs:string">
<xs:enumeration value="Watt"/>
<xs:enumeration value="VAR"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>