- CitrineOS core extracted (CSMS OCPP 2.0.1) - OpenOCPP extracted (firmware OCPP 1.6J/2.0.1) - ShapeShifter library installed (pip install -e) - ShapeShifter specification extracted - EVerest extracted TODO updated with progress
185 lines
8.4 KiB
XML
185 lines
8.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<!--
|
|
SPDX-FileCopyrightText: 2020-2023 Contributors to the Shapeshifter project
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
-->
|
|
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
|
<xs:include schemaLocation="UFTP-common.xsd"/>
|
|
<!-- -->
|
|
<!-- DSO Portfolio Update Type -->
|
|
<!-- -->
|
|
<xs:complexType name="DSOPortfolioUpdateType">
|
|
<xs:complexContent>
|
|
<xs:extension base="PayloadMessageType">
|
|
<xs:sequence>
|
|
<xs:element name="CongestionPoint" type="DSOPortfolioUpdateCongestionPoint" minOccurs="1" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="TimeZone" type="TimeZoneNameType" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Time zone ID (as per the IANA time zone database, http://www.iana.org/time-zones, for example: Europe/Amsterdam) indicating the UTC offset that applies to the Period referenced in this message. Although the time zone is a market-wide fixed value, making this assumption explicit in each message is important for validation purposes, allowing implementations to reject messages with an errant UTC offset.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<!-- -->
|
|
<!-- DSO Portfolio Update Congestion Point Type-->
|
|
<!-- -->
|
|
<xs:complexType name="DSOPortfolioUpdateCongestionPoint">
|
|
<xs:annotation>
|
|
<xs:documentation>A congestion point that the DSO wants the CRO to update</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:sequence>
|
|
<xs:element name="Connection" type="DSOPortfolioUpdateConnectionType" minOccurs="1" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="EntityAddress" type="EntityAddressType" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>EntityAddress of the Connection.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="StartPeriod" type="PeriodType" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The first Period that the Connection is part of this CongestionPoint.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="EndPeriod" type="PeriodType" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>The last Period that the Connection is part of this CongestionPoint. </xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="MutexOffersSupported" type="xs:boolean" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Indicates whether the DSO accepts mutual exclusive FlexOffers on this CongestionPoint.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="DayAheadRedispatchBy" type="RedispatchByType" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Indicates which party is responsible for day-ahead redispatch.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="IntradayRedispatchBy" type="RedispatchByType" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>Indicates which party is responsible for intraday ahead redispatch, AGR or DSO. If not specified, there will be no intraday trading on this CongestionPoint.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
<!-- -->
|
|
<!-- DSO Portfolio Update Connection Type -->
|
|
<!-- -->
|
|
<xs:complexType name="DSOPortfolioUpdateConnectionType">
|
|
<xs:annotation>
|
|
<xs:documentation>A connection that the DSO wants the CRO to update</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="EntityAddress" type="EntityAddressType" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>EntityAddress of the Connection.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="StartPeriod" type="PeriodType" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The first Period that the Connection is part of this CongestionPoint.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="EndPeriod" type="PeriodType" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>The last Period that the Connection is part of this CongestionPoint. </xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
<!-- -->
|
|
<!-- DSO Portfolio Update Response Type -->
|
|
<!-- -->
|
|
<xs:complexType name="DSOPortfolioUpdateResponseType">
|
|
<xs:complexContent>
|
|
<xs:extension base="PayloadMessageResponseType"/>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<!-- -->
|
|
<!-- DSO Portfolio Query Type -->
|
|
<!-- -->
|
|
<xs:complexType name="DSOPortfolioQueryType">
|
|
<xs:complexContent>
|
|
<xs:extension base="PayloadMessageType">
|
|
<xs:attribute name="TimeZone" type="TimeZoneNameType" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Time zone ID (as per the IANA time zone database, http://www.iana.org/time-zones, for example: Europe/Amsterdam) indicating the UTC offset that applies to the Period referenced in this message. Although the time zone is a market-wide fixed value, making this assumption explicit in each message is important for validation purposes, allowing implementations to reject messages with an errant UTC offset.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="Period" type="PeriodType" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The Period for which the AGR requests the portfolio information.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="EntityAddress" type="EntityAddressType" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>EntityAddress of the CongestionPoint</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<!-- -->
|
|
<!-- DSO Portfolio Query Response Type -->
|
|
<!-- -->
|
|
<xs:complexType name="DSOPortfolioQueryResponseType">
|
|
<xs:complexContent>
|
|
<xs:extension base="PayloadMessageResponseType">
|
|
<xs:sequence>
|
|
<xs:element name="CongestionPoint" type="DSOPortfolioQueryCongestionPointType" minOccurs="0" maxOccurs="1"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="TimeZone" type="TimeZoneNameType" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>Time zone ID (as per the IANA time zone database, http://www.iana.org/time-zones, for example: Europe/Amsterdam) indicating the UTC offset that applies to the Period referenced in this message. Although the time zone is a market-wide fixed value, making this assumption explicit in each message is important for validation purposes, allowing implementations to reject messages with an errant UTC offset.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="Period" type="PeriodType" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The Period for which the AGR requests the portfolio information.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<!-- -->
|
|
<!-- DSO Portfolio Update Congestion Point Type-->
|
|
<!-- -->
|
|
<xs:complexType name="DSOPortfolioQueryCongestionPointType">
|
|
<xs:sequence>
|
|
<xs:element name="Connection" type="DSOPortfolioQueryConnectionType" minOccurs="1" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="EntityAddress" type="EntityAddressType" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>EntityAddress of the Connection.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
<!-- -->
|
|
<!-- DSO Portfolio Update Connection Type-->
|
|
<!-- -->
|
|
<xs:complexType name="DSOPortfolioQueryConnectionType">
|
|
<xs:annotation>
|
|
<xs:documentation>A Connection that is part of the congestion point.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="EntityAddress" type="EntityAddressType" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>EntityAddress of the Connection.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="AGR-Domain" type="InternetDomainType" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>The internet domain of the AGR that represents the prosumer connected on this Connection, if applicable.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
<!-- -->
|
|
<!-- ELEMENT DEFINITIONS -->
|
|
<!-- -->
|
|
<xs:element name="DSOPortfolioUpdate" type="DSOPortfolioUpdateType"/>
|
|
<xs:element name="DSOPortfolioUpdateResponse" type="DSOPortfolioUpdateResponseType"/>
|
|
<xs:element name="DSOPortfolioQuery" type="DSOPortfolioQueryType"/>
|
|
<xs:element name="DSOPortfolioQueryResponse" type="DSOPortfolioQueryResponseType"/>
|
|
</xs:schema>
|