diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ff8ee0574..9cd57fd8f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @OrangeTux @tropxy +* @OrangeTux @tropxy @Jared-Newell-Mobility diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 4a69f851a..52a5985de 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -11,10 +11,11 @@ jobs: strategy: matrix: version: - - "3.7" - "3.8" - "3.9" - "3.10" + - "3.11" + - "3.12" steps: - uses: actions/checkout@master - name: Set up Python ${{ matrix.version }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 067f58bd9..6abd7da0e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,50 @@ # Change log - +- [#557](https://github.com/mobilityhouse/ocpp/issues/557) OCPP 2.0.1 Wrong data type in CostUpdated total_cost +- [#564](https://github.com/mobilityhouse/ocpp/issues/564) Add support For Python 3.11 and 3.12 +- [#583](https://github.com/mobilityhouse/ocpp/issues/583) OCPP v1.6/v2.0.1 deprecate dataclasses from calls and call results with the suffix 'Payload' +- [#591](https://github.com/mobilityhouse/ocpp/issues/591) Camel_to_snake_case doesn't handle v2x correctly +- [#593](https://github.com/mobilityhouse/ocpp/issues/593) Update tests to use Call and CallResult without the suffix Payload +- [#435](https://github.com/mobilityhouse/ocpp/issues/435) Typo in CostUpdated Action +- [#577](https://github.com/mobilityhouse/ocpp/issues/577) v2.0.1 AttributeType Enum Corrections - [#340](https://github.com/mobilityhouse/ocpp/issues/340) 2.0.1 dataclasses have a incorrect types that don't match carnality - [#510](https://github.com/mobilityhouse/ocpp/issues/510) v2.0.1 UnitOfMeasureType - Enums missing and update docstring to allow use for variableCharacteristics - [#508](https://github.com/mobilityhouse/ocpp/issues/508) Exception - OccurrenceConstraintViolationError doc string correction +## BREAKING ## +- [#574](https://github.com/mobilityhouse/ocpp/issues/574) Remove v1.6 deprecated enum members - IMPORTANT see upgrade path [#574](https://github.com/mobilityhouse/ocpp/issues/574) +- [#498](https://github.com/mobilityhouse/ocpp/issues/498) Remove support for OCPP 2.0 - IMPORTANT SEE UPGRADE PATH [#498](https://github.com/mobilityhouse/ocpp/issues/498) + + +## 0.26.0 (2024-01-17) + +- [#544](https://github.com/mobilityhouse/ocpp/issues/544) ocpp/charge_point.py - Pass `Call.unique_id` to the `on` and `after` routing handlers. +- [#559](https://github.com/mobilityhouse/ocpp/issues/559) Update project dependencies as of 22-12-2023 +- [#447](https://github.com/mobilityhouse/ocpp/issues/447) v16, v201 - Make formatting of enums in py3.11 consistent with earlier Python versions +- [#421](https://github.com/mobilityhouse/ocpp/issues/421) Type of v16.datatypes.SampledValue.context is incorrect + +## 0.25.0 (2024-01-08) + +- [#366](https://github.com/mobilityhouse/ocpp/issues/366) Fix type hint of OCPP 1.6 ChangeConfiguration.value +- [#431](https://github.com/mobilityhouse/ocpp/issues/431) Attributes with 'v2x' are serialized as 'V2x', but should be serialized as 'V2X' +- [#554](https://github.com/mobilityhouse/ocpp/issues/554) OCPP 2.0.1 Edition 2 Errata 2023-12 document added +- [#548](https://github.com/mobilityhouse/ocpp/issues/548) OCPP 2.0.1 MessageInfoType attribute name correction +- [#300](https://github.com/mobilityhouse/ocpp/issues/300) OCPP 2.0.1 add reference components and variables +- [#518](https://github.com/mobilityhouse/ocpp/issues/518) OCPP 2.0.1 add additional reason codes from v1.3 + +## 0.24.0 (2023-12-07) + + +- [#539](https://github.com/mobilityhouse/ocpp/issues/539) feat: Add ChargePoint._handle_call return value. Thanks [@wafa-yah](https://github.com/wafa-yah) +- [#266](https://github.com/mobilityhouse/ocpp/issues/266) fix: Central System documentation link. +- [#516](https://github.com/mobilityhouse/ocpp/issues/516) OCPP 2.0.1 add additional security events from v1.3. +- [#537](https://github.com/mobilityhouse/ocpp/pull/537) Fix DataTransfer data types. Thanks [@mdwcrft](https://github.com/mdwcrft) + +## 0.23.0 (2023-11-30) + +- [#531] Feat: Add 1.6 security extension datatypes. Thanks [@proelke](https://github.com/proelke) +- [#528](https://github.com/mobilityhouse/ocpp/issues/528) v2.0.1 CertificateHashDataChainType childCertificateHashData requires the default of None. +- [#510](https://github.com/mobilityhouse/ocpp/issues/510) v2.0.1 UnitOfMeasureType - Enums missing and update docstring to allow use for variableCharacteristics. +- [#508](https://github.com/mobilityhouse/ocpp/issues/508) Exception - OccurrenceConstraintViolationError doc string correction. ## 0.22.0 (2023-11-03) @@ -12,6 +53,8 @@ - [#504](https://github.com/mobilityhouse/ocpp/pull/504) Add missing tech_info attribute to v2.0.1 EventDataType. Thanks [@LokiHokie](https://github.com/LokiHokie) - [#381](https://github.com/mobilityhouse/ocpp/issues/381) Add FormationError and OccurrenceConstraintViolationError. +- [#373](https://github.com/mobilityhouse/ocpp/issues/373) v201.datatypes.ChargingNeedsType.request_energy_transfer is mistyped + ## 0.21.0 (2023-10-19) - [#492] Minor fixes _handle_call doc string - Thanks @drc38 diff --git a/README.rst b/README.rst index 1a7662234..4b32be07d 100644 --- a/README.rst +++ b/README.rst @@ -11,11 +11,23 @@ OCPP ---- Python package implementing the JSON version of the Open Charge Point Protocol -(OCPP). Currently OCPP 1.6 (errata v4), OCPP 2.0 and OCPP 2.0.1 (Final Version) +(OCPP). Currently OCPP 1.6 (errata v4), OCPP 2.0.1 (Edition 2 FINAL, 2022-12-15) are supported. You can find the documentation on `rtd`_. +The purpose of this library is to provide the building blocks to construct a +charging station/charge point and/or charging station management system +(CSMS)/central system. The library does not provide a completed solution, as any +implementation is specific for its intended use. The documents in this library +should be inspected, as these documents provided guidance on how best to +build a complete solution. + +Note: "OCPP 2.0.1 contains fixes for all the known issues, to date, not only +the fixes to the messages. This version replaces OCPP 2.0. OCA advises +implementers of OCPP to no longer implement OCPP 2.0 and only use version +2.0.1 going forward." + Installation ------------ @@ -34,8 +46,9 @@ Or clone the project and install it manually using: Quick start ----------- -Below you can find examples on how to create a simple OCPP 2.0 central system as -well as an OCPP 2.0 charge point. +Below you can find examples on how to create a simple OCPP 1.6 or 2.0.1 Central +System/CSMS as well as the respective OCPP 1.6 or 2.0.1 +Charging Station/Charge Point. .. note:: @@ -45,12 +58,12 @@ well as an OCPP 2.0 charge point. $ pip install websockets -Central system +Charging Station Management System (CSMS) / Central System ~~~~~~~~~~~~~~ -The code snippet below creates a simple OCPP 2.0 central system which is able -to handle BootNotification calls. You can find a detailed explanation of the -code in the `Central System documentation_`. +The code snippet below creates a simple OCPP 2.0.1 CSMS which +is able to handle BootNotification calls. You can find a detailed explanation of the +code in the `Central System documentation`_. .. code-block:: python @@ -121,7 +134,7 @@ code in the `Central System documentation_`. if __name__ == '__main__': asyncio.run(main()) -Charge point +Charging Station / Charge point ~~~~~~~~~~~~ .. code-block:: python diff --git a/docs/source/conf.py b/docs/source/conf.py index d6cccb118..603c4e017 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -23,7 +23,7 @@ author = "Auke Willem Oosterhoff" # The full version, including alpha/beta/rc tags -release = "0.22.0" +release = "0.26.0" # -- General configuration --------------------------------------------------- diff --git a/docs/v201/Changelog OCPP 2.0 - 2.0.1.pdf b/docs/v201/Changelog OCPP 2.0 - 2.0.1.pdf deleted file mode 100755 index 0470a6cdd..000000000 Binary files a/docs/v201/Changelog OCPP 2.0 - 2.0.1.pdf and /dev/null differ diff --git a/docs/v201/OCPP-2.0.1_edition2_errata_2023-12.pdf b/docs/v201/OCPP-2.0.1_edition2_errata_2023-12.pdf new file mode 100644 index 000000000..9b55afbbc Binary files /dev/null and b/docs/v201/OCPP-2.0.1_edition2_errata_2023-12.pdf differ diff --git a/examples/v20/central_system.py b/examples/v20/central_system.py deleted file mode 100644 index e2823423a..000000000 --- a/examples/v20/central_system.py +++ /dev/null @@ -1,78 +0,0 @@ -import asyncio -import logging -from datetime import datetime - -try: - import websockets -except ModuleNotFoundError: - print("This example relies on the 'websockets' package.") - print("Please install it by running: ") - print() - print(" $ pip install websockets") - import sys - - sys.exit(1) - -from ocpp.routing import on -from ocpp.v20 import ChargePoint as cp -from ocpp.v20 import call_result - -logging.basicConfig(level=logging.INFO) - - -class ChargePoint(cp): - @on("BootNotification") - def on_boot_notification(self, charging_station, reason, **kwargs): - return call_result.BootNotificationPayload( - current_time=datetime.utcnow().isoformat(), interval=10, status="Accepted" - ) - - @on("Heartbeat") - def on_heartbeat(self): - print("Got a Heartbeat!") - return call_result.HeartbeatPayload( - current_time=datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S") + "Z" - ) - - -async def on_connect(websocket, path): - """For every new charge point that connects, create a ChargePoint - instance and start listening for messages. - """ - try: - requested_protocols = websocket.request_headers["Sec-WebSocket-Protocol"] - except KeyError: - logging.error("Client hasn't requested any Subprotocol. Closing Connection") - return await websocket.close() - if websocket.subprotocol: - logging.info("Protocols Matched: %s", websocket.subprotocol) - else: - # In the websockets lib if no subprotocols are supported by the - # client and the server, it proceeds without a subprotocol, - # so we have to manually close the connection. - logging.warning( - "Protocols Mismatched | Expected Subprotocols: %s," - " but client supports %s | Closing connection", - websocket.available_subprotocols, - requested_protocols, - ) - return await websocket.close() - - charge_point_id = path.strip("/") - cp = ChargePoint(charge_point_id, websocket) - - await cp.start() - - -async def main(): - server = await websockets.serve( - on_connect, "0.0.0.0", 9000, subprotocols=["ocpp2.0"] - ) - - logging.info("Server Started listening to new connections...") - await server.wait_closed() - - -if __name__ == "__main__": - # asyncio.run() is used when running this example with Python >= 3.7v - asyncio.run(main()) diff --git a/examples/v20/charge_point.py b/examples/v20/charge_point.py deleted file mode 100644 index a897597c9..000000000 --- a/examples/v20/charge_point.py +++ /dev/null @@ -1,53 +0,0 @@ -import asyncio -import logging - -try: - import websockets -except ModuleNotFoundError: - print("This example relies on the 'websockets' package.") - print("Please install it by running: ") - print() - print(" $ pip install websockets") - import sys - - sys.exit(1) - - -from ocpp.v20 import ChargePoint as cp -from ocpp.v20 import call - -logging.basicConfig(level=logging.INFO) - - -class ChargePoint(cp): - async def send_heartbeat(self, interval): - request = call.HeartbeatPayload() - while True: - await self.call(request) - await asyncio.sleep(interval) - - async def send_boot_notification(self): - request = call.BootNotificationPayload( - charging_station={"model": "Wallbox XYZ", "vendor_name": "anewone"}, - reason="PowerUp", - ) - response = await self.call(request) - - if response.status == "Accepted": - print("Connected to central system.") - await self.send_heartbeat(response.interval) - - -async def main(): - async with websockets.connect( - "ws://localhost:9000/CP_1", subprotocols=["ocpp2.0"] - ) as ws: - - cp = ChargePoint("CP_1", ws) - - await asyncio.gather(cp.start(), cp.send_boot_notification()) - - -if __name__ == "__main__": - # asyncio.run() is used when running this example with Python >= 3.7v - asyncio.run(main()) diff --git a/examples/v201/central_system.py b/examples/v201/central_system.py index 0f5fb515e..54a880d89 100644 --- a/examples/v201/central_system.py +++ b/examples/v201/central_system.py @@ -42,8 +42,6 @@ async def on_connect(websocket, path): try: requested_protocols = websocket.request_headers["Sec-WebSocket-Protocol"] except KeyError: - logging.info("Client hasn't requested any Subprotocol. " "Closing Connection") - return await websocket.close() logging.error("Client hasn't requested any Subprotocol. Closing Connection") return await websocket.close() if websocket.subprotocol: diff --git a/ocpp/charge_point.py b/ocpp/charge_point.py index 5e31f3fe7..3b985df0d 100644 --- a/ocpp/charge_point.py +++ b/ocpp/charge_point.py @@ -25,6 +25,7 @@ def camel_to_snake_case(data): if isinstance(data, dict): snake_case_dict = {} for key, value in data.items(): + key = key.replace("V2X", "_v2x") s1 = re.sub("(.)([A-Z][a-z]+)", r"\1_\2", key) key = re.sub("([a-z0-9])([A-Z])(?=\\S)", r"\1_\2", s1).lower() @@ -44,7 +45,7 @@ def camel_to_snake_case(data): def snake_to_camel_case(data): """ - Convert all keys of a all dictionaries inside given argument from + Convert all keys of all dictionaries inside given argument from snake_case to camelCase. Inspired by: https://stackoverflow.com/a/19053800/1073222 @@ -53,6 +54,7 @@ def snake_to_camel_case(data): camel_case_dict = {} for key, value in data.items(): key = key.replace("soc", "SoC") + key = key.replace("_v2x", "V2X") components = key.split("_") key = components[0] + "".join(x[:1].upper() + x[1:] for x in components[1:]) camel_case_dict[key] = snake_to_camel_case(value) @@ -224,9 +226,15 @@ async def _handle_call(self, msg): handler = handlers["_on_action"] except KeyError: _raise_key_error(msg.action, self._ocpp_version) - + handler_signature = inspect.signature(handler) + call_unique_id_required = "call_unique_id" in handler_signature.parameters try: - response = handler(**snake_case_payload) + # call_unique_id should be passed as kwarg only if is defined explicitly + # in the handler signature + if call_unique_id_required: + response = handler(**snake_case_payload, call_unique_id=msg.unique_id) + else: + response = handler(**snake_case_payload) if inspect.isawaitable(response): response = await response except Exception as e: @@ -258,15 +266,23 @@ async def _handle_call(self, msg): try: handler = handlers["_after_action"] + handler_signature = inspect.signature(handler) + call_unique_id_required = "call_unique_id" in handler_signature.parameters + # call_unique_id should be passed as kwarg only if is defined explicitly + # in the handler signature + if call_unique_id_required: + response = handler(**snake_case_payload, call_unique_id=msg.unique_id) + else: + response = handler(**snake_case_payload) # Create task to avoid blocking when making a call inside the # after handler - response = handler(**snake_case_payload) if inspect.isawaitable(response): asyncio.ensure_future(response) except KeyError: # '_on_after' hooks are not required. Therefore ignore exception # when no '_on_after' hook is installed. pass + return response async def call(self, payload, suppress=True, unique_id=None): """ @@ -296,9 +312,14 @@ async def call(self, payload, suppress=True, unique_id=None): unique_id if unique_id is not None else str(self._unique_id_generator()) ) + action_name = payload.__class__.__name__ + # Due to deprecated call and callresults, remove in the future. + if "Payload" in payload.__class__.__name__: + action_name = payload.__class__.__name__[:-7] + call = Call( unique_id=unique_id, - action=payload.__class__.__name__[:-7], + action=action_name, payload=remove_nones(camel_case_payload), ) diff --git a/ocpp/exceptions.py b/ocpp/exceptions.py index cefba9549..867b6a793 100644 --- a/ocpp/exceptions.py +++ b/ocpp/exceptions.py @@ -25,12 +25,12 @@ def __eq__(self, other): def __repr__(self): return ( - f"<{self.__class__.__name__} - description={self.description}," + f"<{self.__class__.__name__} - description={self.description}, " f" details={self.details}>" ) def __str__(self): - return f"{self.__class__.__name__}: {self.description}," f" {self.details}" + return f"{self.__class__.__name__}: {self.description}, " f" {self.details}" class NotImplementedError(OCPPError): diff --git a/ocpp/v16/call.py b/ocpp/v16/call.py index 54e35c4d6..46e167b1a 100644 --- a/ocpp/v16/call.py +++ b/ocpp/v16/call.py @@ -1,5 +1,6 @@ +import warnings from dataclasses import dataclass, field -from typing import Any, Dict, List, Optional +from typing import Dict, List, Optional from ocpp.v16.enums import ( AvailabilityType, @@ -37,34 +38,34 @@ @dataclass -class CancelReservationPayload: +class CancelReservation: reservation_id: int @dataclass -class CertificateSignedPayload: +class CertificateSigned: certificate_chain: str @dataclass -class ChangeAvailabilityPayload: +class ChangeAvailability: connector_id: int type: AvailabilityType @dataclass -class ChangeConfigurationPayload: +class ChangeConfiguration: key: str - value: Any + value: str @dataclass -class ClearCachePayload: +class ClearCache: pass @dataclass -class ClearChargingProfilePayload: +class ClearChargingProfile: id: Optional[int] = None connector_id: Optional[int] = None charging_profile_purpose: Optional[ChargingProfilePurposeType] = None @@ -72,30 +73,30 @@ class ClearChargingProfilePayload: @dataclass -class DeleteCertificatePayload: +class DeleteCertificate: certificate_hash_data: Dict @dataclass -class ExtendedTriggerMessagePayload: +class ExtendedTriggerMessage: requested_message: MessageTrigger connector_id: Optional[int] = None @dataclass -class GetCompositeSchedulePayload: +class GetCompositeSchedule: connector_id: int duration: int charging_rate_unit: Optional[ChargingRateUnitType] = None @dataclass -class GetConfigurationPayload: +class GetConfiguration: key: Optional[List] = None @dataclass -class GetDiagnosticsPayload: +class GetDiagnostics: location: str retries: Optional[int] = None retry_interval: Optional[int] = None @@ -104,17 +105,17 @@ class GetDiagnosticsPayload: @dataclass -class GetInstalledCertificateIdsPayload: +class GetInstalledCertificateIds: certificate_type: CertificateUse @dataclass -class GetLocalListVersionPayload: +class GetLocalListVersion: pass @dataclass -class GetLogPayload: +class GetLog: log: Dict log_type: Log request_id: int @@ -123,25 +124,25 @@ class GetLogPayload: @dataclass -class InstallCertificatePayload: +class InstallCertificate: certificate_type: CertificateUse certificate: str @dataclass -class RemoteStartTransactionPayload: +class RemoteStartTransaction: id_tag: str connector_id: Optional[int] = None charging_profile: Optional[Dict] = None @dataclass -class RemoteStopTransactionPayload: +class RemoteStopTransaction: transaction_id: int @dataclass -class ReserveNowPayload: +class ReserveNow: connector_id: int expiry_date: str id_tag: str @@ -150,25 +151,25 @@ class ReserveNowPayload: @dataclass -class ResetPayload: +class Reset: type: ResetType @dataclass -class SendLocalListPayload: +class SendLocalList: list_version: int update_type: UpdateType local_authorization_list: List = field(default_factory=list) @dataclass -class SetChargingProfilePayload: +class SetChargingProfile: connector_id: int cs_charging_profiles: Dict @dataclass -class SignedUpdateFirmwarePayload: +class SignedUpdateFirmware: request_id: int firmware: Dict retries: Optional[int] = None @@ -176,18 +177,18 @@ class SignedUpdateFirmwarePayload: @dataclass -class TriggerMessagePayload: +class TriggerMessage: requested_message: MessageTrigger connector_id: Optional[int] = None @dataclass -class UnlockConnectorPayload: +class UnlockConnector: connector_id: int @dataclass -class UpdateFirmwarePayload: +class UpdateFirmware: location: str retrieve_date: str retries: Optional[int] = None @@ -199,12 +200,12 @@ class UpdateFirmwarePayload: @dataclass -class AuthorizePayload: +class Authorize: id_tag: str @dataclass -class BootNotificationPayload: +class BootNotification: charge_point_model: str charge_point_vendor: str charge_box_serial_number: Optional[str] = None @@ -217,53 +218,53 @@ class BootNotificationPayload: @dataclass -class DiagnosticsStatusNotificationPayload: +class DiagnosticsStatusNotification: status: DiagnosticsStatus @dataclass -class FirmwareStatusNotificationPayload: +class FirmwareStatusNotification: status: FirmwareStatus @dataclass -class HeartbeatPayload: +class Heartbeat: pass @dataclass -class LogStatusNotificationPayload: +class LogStatusNotification: status: UploadLogStatus request_id: int @dataclass -class MeterValuesPayload: +class MeterValues: connector_id: int meter_value: List = field(default_factory=list) transaction_id: Optional[int] = None @dataclass -class SecurityEventNotificationPayload: +class SecurityEventNotification: type: str timestamp: str tech_info: Optional[str] @dataclass -class SignCertificatePayload: +class SignCertificate: csr: str @dataclass -class SignedFirmwareStatusNotificationPayload: +class SignedFirmwareStatusNotification: status: FirmwareStatus request_id: int @dataclass -class StartTransactionPayload: +class StartTransaction: connector_id: int id_tag: str meter_start: int @@ -272,7 +273,7 @@ class StartTransactionPayload: @dataclass -class StopTransactionPayload: +class StopTransaction: meter_stop: int timestamp: str transaction_id: int @@ -282,7 +283,7 @@ class StopTransactionPayload: @dataclass -class StatusNotificationPayload: +class StatusNotification: connector_id: int error_code: ChargePointErrorCode status: ChargePointStatus @@ -292,12 +293,527 @@ class StatusNotificationPayload: vendor_error_code: Optional[str] = None -# The DataTransfer CALL can be send both from Central System as well as from a +# The DataTransfer CALL can be sent both from Central System as well as from a # Charge Point. @dataclass -class DataTransferPayload: +class DataTransfer: vendor_id: str message_id: Optional[str] = None data: Optional[str] = None + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class CancelReservationPayload(CancelReservation): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class CertificateSignedPayload(CertificateSigned): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ChangeAvailabilityPayload(ChangeAvailability): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ChangeConfigurationPayload(ChangeConfiguration): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ClearCachePayload(ClearCache): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ClearChargingProfilePayload(ClearChargingProfile): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class DeleteCertificatePayload(DeleteCertificate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ExtendedTriggerMessagePayload(ExtendedTriggerMessage): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetCompositeSchedulePayload(GetCompositeSchedule): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetConfigurationPayload(GetConfiguration): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetDiagnosticsPayload(GetDiagnostics): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetInstalledCertificateIdsPayload(GetInstalledCertificateIds): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetLocalListVersionPayload(GetLocalListVersion): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetLogPayload(GetLog): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class InstallCertificatePayload(InstallCertificate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class RemoteStartTransactionPayload(RemoteStartTransaction): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class RemoteStopTransactionPayload(RemoteStopTransaction): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ReserveNowPayload(ReserveNow): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ResetPayload(Reset): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SendLocalListPayload(SendLocalList): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetChargingProfilePayload(SetChargingProfile): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SignedUpdateFirmwarePayload(SignedUpdateFirmware): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class TriggerMessagePayload(TriggerMessage): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class UnlockConnectorPayload(UnlockConnector): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class UpdateFirmwarePayload(UpdateFirmware): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# The CALL messages that flow from Charge Point to Central System are listed +# in the bottom part of this module. + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class AuthorizePayload(Authorize): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class BootNotificationPayload(BootNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class DiagnosticsStatusNotificationPayload(DiagnosticsStatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class FirmwareStatusNotificationPayload(FirmwareStatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class HeartbeatPayload(Heartbeat): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class LogStatusNotificationPayload(LogStatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class MeterValuesPayload(MeterValues): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SecurityEventNotificationPayload(SecurityEventNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SignCertificatePayload(SignCertificate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SignedFirmwareStatusNotificationPayload(SignedFirmwareStatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class StartTransactionPayload(StartTransaction): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class StopTransactionPayload(StopTransaction): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class StatusNotificationPayload(StatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# The DataTransfer CALL can be send both from Central System as well as from a +# Charge Point. + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class DataTransferPayload(DataTransfer): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) diff --git a/ocpp/v16/call_result.py b/ocpp/v16/call_result.py index 4e105d33b..cb76ec16a 100644 --- a/ocpp/v16/call_result.py +++ b/ocpp/v16/call_result.py @@ -1,3 +1,4 @@ +import warnings from dataclasses import dataclass from typing import Dict, List, Optional @@ -46,65 +47,65 @@ @dataclass -class AuthorizePayload: +class Authorize: id_tag_info: IdTagInfo @dataclass -class BootNotificationPayload: +class BootNotification: current_time: str interval: int status: RegistrationStatus @dataclass -class DiagnosticsStatusNotificationPayload: +class DiagnosticsStatusNotification: pass @dataclass -class FirmwareStatusNotificationPayload: +class FirmwareStatusNotification: pass @dataclass -class HeartbeatPayload: +class Heartbeat: current_time: str @dataclass -class LogStatusNotificationPayload: +class LogStatusNotification: pass @dataclass -class SecurityEventNotificationPayload: +class SecurityEventNotification: pass @dataclass -class SignCertificatePayload: +class SignCertificate: status: GenericStatus @dataclass -class MeterValuesPayload: +class MeterValues: pass @dataclass -class StartTransactionPayload: +class StartTransaction: transaction_id: int id_tag_info: IdTagInfo @dataclass -class StatusNotificationPayload: +class StatusNotification: pass @dataclass -class StopTransactionPayload: +class StopTransaction: id_tag_info: Optional[IdTagInfo] = None @@ -113,53 +114,53 @@ class StopTransactionPayload: @dataclass -class CancelReservationPayload: +class CancelReservation: status: CancelReservationStatus @dataclass -class CertificateSignedPayload: +class CertificateSigned: status: CertificateSignedStatus @dataclass -class ChangeAvailabilityPayload: +class ChangeAvailability: status: AvailabilityStatus @dataclass -class ChangeConfigurationPayload: +class ChangeConfiguration: status: ConfigurationStatus @dataclass -class ClearCachePayload: +class ClearCache: status: ClearCacheStatus @dataclass -class ClearChargingProfilePayload: +class ClearChargingProfile: status: ClearChargingProfileStatus @dataclass -class DeleteCertificatePayload: +class DeleteCertificate: status: DeleteCertificateStatus @dataclass -class ExtendedTriggerMessagePayload: +class ExtendedTriggerMessage: status: TriggerMessageStatus @dataclass -class GetInstalledCertificateIdsPayload: +class GetInstalledCertificateIds: status: GetInstalledCertificateStatus certificate_hash_data: Optional[List] = None @dataclass -class GetCompositeSchedulePayload: +class GetCompositeSchedule: status: GetCompositeScheduleStatus connector_id: Optional[int] = None schedule_start: Optional[str] = None @@ -167,84 +168,84 @@ class GetCompositeSchedulePayload: @dataclass -class GetConfigurationPayload: +class GetConfiguration: configuration_key: Optional[List] = None unknown_key: Optional[List] = None @dataclass -class GetDiagnosticsPayload: +class GetDiagnostics: file_name: Optional[str] = None @dataclass -class GetLocalListVersionPayload: +class GetLocalListVersion: list_version: int @dataclass -class GetLogPayload: +class GetLog: status: LogStatus filename: Optional[str] = None @dataclass -class InstallCertificatePayload: +class InstallCertificate: status: CertificateStatus @dataclass -class RemoteStartTransactionPayload: +class RemoteStartTransaction: status: RemoteStartStopStatus @dataclass -class RemoteStopTransactionPayload: +class RemoteStopTransaction: status: RemoteStartStopStatus @dataclass -class ReserveNowPayload: +class ReserveNow: status: ReservationStatus @dataclass -class ResetPayload: +class Reset: status: ResetStatus @dataclass -class SendLocalListPayload: +class SendLocalList: status: UpdateStatus @dataclass -class SetChargingProfilePayload: +class SetChargingProfile: status: ChargingProfileStatus @dataclass -class SignedFirmwareStatusNotificationPayload: +class SignedFirmwareStatusNotification: pass @dataclass -class SignedUpdateFirmwarePayload: +class SignedUpdateFirmware: status: UpdateFirmwareStatus @dataclass -class TriggerMessagePayload: +class TriggerMessage: status: TriggerMessageStatus @dataclass -class UnlockConnectorPayload: +class UnlockConnector: status: UnlockStatus @dataclass -class UpdateFirmwarePayload: +class UpdateFirmware: pass @@ -253,6 +254,521 @@ class UpdateFirmwarePayload: @dataclass -class DataTransferPayload: +class DataTransfer: status: DataTransferStatus data: Optional[str] = None + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class AuthorizePayload(Authorize): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class BootNotificationPayload(BootNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class DiagnosticsStatusNotificationPayload(DiagnosticsStatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class FirmwareStatusNotificationPayload(FirmwareStatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class HeartbeatPayload(Heartbeat): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class LogStatusNotificationPayload(LogStatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SecurityEventNotificationPayload(SecurityEventNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SignCertificatePayload(SignCertificate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class MeterValuesPayload(MeterValues): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class StartTransactionPayload(StartTransaction): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class StatusNotificationPayload(StatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class StopTransactionPayload(StopTransaction): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# The CALLRESULT messages that flow from Charge Point to Central System are +# listed in the bottom part of this module. + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class CancelReservationPayload(CancelReservation): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class CertificateSignedPayload(CertificateSigned): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ChangeAvailabilityPayload(ChangeAvailability): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ChangeConfigurationPayload(ChangeConfiguration): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ClearCachePayload(ClearCache): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ClearChargingProfilePayload(ClearChargingProfile): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class DeleteCertificatePayload(DeleteCertificate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ExtendedTriggerMessagePayload(ExtendedTriggerMessage): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetInstalledCertificateIdsPayload(GetInstalledCertificateIds): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetCompositeSchedulePayload(GetCompositeSchedule): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetConfigurationPayload(GetConfiguration): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetDiagnosticsPayload(GetDiagnostics): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetLocalListVersionPayload(GetLocalListVersion): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetLogPayload(GetLog): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class InstallCertificatePayload(InstallCertificate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class RemoteStartTransactionPayload(RemoteStartTransaction): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class RemoteStopTransactionPayload(RemoteStopTransaction): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ReserveNowPayload(ReserveNow): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ResetPayload(Reset): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SendLocalListPayload(SendLocalList): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetChargingProfilePayload(SetChargingProfile): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SignedFirmwareStatusNotificationPayload(SignedFirmwareStatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SignedUpdateFirmwarePayload(SignedUpdateFirmware): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class TriggerMessagePayload(TriggerMessage): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class UnlockConnectorPayload(UnlockConnector): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class UpdateFirmwarePayload(UpdateFirmware): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# The DataTransfer CALLRESULT can be send both from Central System as well as +# from a Charge Point. + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class DataTransferPayload(DataTransfer): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) diff --git a/ocpp/v16/datatypes.py b/ocpp/v16/datatypes.py index 1f249e477..36c751a7c 100644 --- a/ocpp/v16/datatypes.py +++ b/ocpp/v16/datatypes.py @@ -7,6 +7,7 @@ ChargingProfilePurposeType, ChargingRateUnitType, CiStringType, + HashAlgorithm, Location, Measurand, Phase, @@ -104,7 +105,7 @@ class SampledValue: """ value: str - context: ReadingContext + context: Optional[ReadingContext] = None format: Optional[ValueFormat] = None measurand: Optional[Measurand] = None phase: Optional[Phase] = None @@ -121,3 +122,45 @@ class MeterValue: timestamp: str sampled_value: List[SampledValue] + + +# Security Extension + + +@dataclass +class CertificateHashData: + """ + CertificateHashDataType is used by: + DeleteCertificate.req, GetInstalledCertificateIds.conf + """ + + hash_algorithm: HashAlgorithm + issuer_name_hash: str + issuer_key_hash: str + serial_number: str + + +@dataclass +class Firmware: + """ + Represents a copy of the firmware that can be loaded/updated on the Charge Point. + FirmwareType is used by: SignedUpdateFirmware.req + """ + + location: str + retrieve_date_time: str + signing_certificate: str + install_date_time: Optional[str] = None + signature: Optional[str] = None + + +@dataclass +class LogParameters: + """ + Class for detailed information the retrieval of logging entries. + LogParametersType is used by: GetLog.req + """ + + remote_location: str + oldest_timestamp: Optional[str] = None + latest_timestamp: Optional[str] = None diff --git a/ocpp/v16/enums.py b/ocpp/v16/enums.py index 8071fe17c..e413c4ec5 100644 --- a/ocpp/v16/enums.py +++ b/ocpp/v16/enums.py @@ -1,7 +1,14 @@ -from enum import Enum +try: + # breaking change introduced in python 3.11 + from enum import StrEnum +except ImportError: # pragma: no cover + from enum import Enum # pragma: no cover + class StrEnum(str, Enum): # pragma: no cover + pass # pragma: no cover -class Action(str, Enum): + +class Action(StrEnum): """An Action is a required part of a Call message.""" Authorize = "Authorize" @@ -45,7 +52,7 @@ class Action(str, Enum): UpdateFirmware = "UpdateFirmware" -class AuthorizationStatus(str, Enum): +class AuthorizationStatus(StrEnum): """ Elements that constitute an entry of a Local Authorization List update. """ @@ -57,7 +64,7 @@ class AuthorizationStatus(str, Enum): concurrent_tx = "ConcurrentTx" -class AvailabilityStatus(str, Enum): +class AvailabilityStatus(StrEnum): """ Status returned in response to ChangeAvailability.req. """ @@ -67,7 +74,7 @@ class AvailabilityStatus(str, Enum): scheduled = "Scheduled" -class AvailabilityType(str, Enum): +class AvailabilityType(StrEnum): """ Requested availability change in ChangeAvailability.req. """ @@ -76,7 +83,7 @@ class AvailabilityType(str, Enum): operative = "Operative" -class CancelReservationStatus(str, Enum): +class CancelReservationStatus(StrEnum): """ Status in CancelReservation.conf. """ @@ -85,7 +92,7 @@ class CancelReservationStatus(str, Enum): rejected = "Rejected" -class CertificateSignedStatus(str, Enum): +class CertificateSignedStatus(StrEnum): """ CertificateSignedStatusEnumType is used by: CertificateSigned.conf """ @@ -94,7 +101,7 @@ class CertificateSignedStatus(str, Enum): rejected = "Rejected" -class CertificateStatus(str, Enum): +class CertificateStatus(StrEnum): """ CertificateStatusEnumType is used by: InstallCertificate.conf """ @@ -104,7 +111,7 @@ class CertificateStatus(str, Enum): failed = "Failed" -class CertificateUse(str, Enum): +class CertificateUse(StrEnum): """ CertificateUseEnumType is used by: GetInstalledCertificateIds.req, InstallCertificate.req @@ -114,7 +121,7 @@ class CertificateUse(str, Enum): manufacturer_root_certificate = "ManufacturerRootCertificate" -class ChargePointErrorCode(str, Enum): +class ChargePointErrorCode(StrEnum): """ Charge Point status reported in StatusNotification.req. """ @@ -136,26 +143,8 @@ class ChargePointErrorCode(str, Enum): under_voltage = "UnderVoltage" weak_signal = "WeakSignal" - # Soon to be deprecated enums - connectorLockFailure = "ConnectorLockFailure" - evCommunicationError = "EVCommunicationError" - groundFailure = "GroundFailure" - highTemperature = "HighTemperature" - internalError = "InternalError" - localListConflict = "LocalListConflict" - noError = "NoError" - otherError = "OtherError" - overCurrentFailure = "OverCurrentFailure" - overVoltage = "OverVoltage" - powerMeterFailure = "PowerMeterFailure" - powerSwitchFailure = "PowerSwitchFailure" - readerFailure = "ReaderFailure" - resetFailure = "ResetFailure" - underVoltage = "UnderVoltage" - weakSignal = "WeakSignal" - - -class ChargePointStatus(str, Enum): + +class ChargePointStatus(StrEnum): """ Status reported in StatusNotification.req. A status can be reported for the Charge Point main controller (connectorId = 0) or for a specific @@ -177,12 +166,8 @@ class ChargePointStatus(str, Enum): unavailable = "Unavailable" faulted = "Faulted" - # Soon to be deprecated enums - suspendedevse = "SuspendedEVSE" - suspendedev = "SuspendedEV" - -class ChargingProfileKindType(str, Enum): +class ChargingProfileKindType(StrEnum): """ "Absolute": Schedule periods are relative to a fixed point in time defined in the schedule. @@ -196,7 +181,7 @@ class ChargingProfileKindType(str, Enum): relative = "Relative" -class ChargingProfilePurposeType(str, Enum): +class ChargingProfilePurposeType(StrEnum): """ In load balancing scenarios, the Charge Point has one or more local charging profiles that limit the power or current to be shared by all @@ -236,13 +221,8 @@ class ChargingProfilePurposeType(str, Enum): tx_default_profile = "TxDefaultProfile" tx_profile = "TxProfile" - # Soon to be deprecated enums - chargepointmaxprofile = "ChargePointMaxProfile" - txdefaultprofile = "TxDefaultProfile" - txprofile = "TxProfile" - -class ChargingProfileStatus(str, Enum): +class ChargingProfileStatus(StrEnum): """ Status returned in response to SetChargingProfile.req. """ @@ -250,11 +230,9 @@ class ChargingProfileStatus(str, Enum): accepted = "Accepted" rejected = "Rejected" not_supported = "NotSupported" - # Soon to be deprecated enums - notSupported = "NotSupported" -class ChargingRateUnitType(str, Enum): +class ChargingRateUnitType(StrEnum): """ Unit in which a charging schedule is defined, as used in: GetCompositeSchedule.req and ChargingSchedule @@ -276,7 +254,7 @@ class CiStringType(int): ci_string_500 = 500 -class ClearCacheStatus(str, Enum): +class ClearCacheStatus(StrEnum): """ Status returned in response to ClearCache.req. """ @@ -285,7 +263,7 @@ class ClearCacheStatus(str, Enum): rejected = "Rejected" -class ClearChargingProfileStatus(str, Enum): +class ClearChargingProfileStatus(StrEnum): """ Status returned in response to ClearChargingProfile.req. """ @@ -294,7 +272,7 @@ class ClearChargingProfileStatus(str, Enum): unknown = "Unknown" -class ConfigurationStatus(str, Enum): +class ConfigurationStatus(StrEnum): """ Status in ChangeConfiguration.conf. """ @@ -304,12 +282,8 @@ class ConfigurationStatus(str, Enum): reboot_required = "RebootRequired" not_supported = "NotSupported" - # Soon to be deprecated enums - rebootRequired = "RebootRequired" - notSupported = "NotSupported" - -class ConfigurationKey(str, Enum): +class ConfigurationKey(StrEnum): """ Configuration Key Names. """ @@ -383,7 +357,7 @@ class ConfigurationKey(str, Enum): security_profile = "SecurityProfile" -class DataTransferStatus(str, Enum): +class DataTransferStatus(StrEnum): """ Status in DataTransfer.conf. """ @@ -393,12 +367,8 @@ class DataTransferStatus(str, Enum): unknown_message_id = "UnknownMessageId" unknown_vendor_id = "UnknownVendorId" - # Soon to be deprecated enums - unknownMessageId = "UnknownMessageId" - unknownVendorId = "UnknownVendorId" - -class DeleteCertificateStatus(str, Enum): +class DeleteCertificateStatus(StrEnum): """ DeleteCertificateStatusEnumType is used by: DeleteCertificate.conf """ @@ -408,7 +378,7 @@ class DeleteCertificateStatus(str, Enum): not_found = "NotFound" -class DiagnosticsStatus(str, Enum): +class DiagnosticsStatus(StrEnum): """ Status in DiagnosticsStatusNotification.req. """ @@ -418,11 +388,8 @@ class DiagnosticsStatus(str, Enum): upload_failed = "UploadFailed" uploading = "Uploading" - # Soon to be deprecated enums - uploadFailed = "UploadFailed" - -class FirmwareStatus(str, Enum): +class FirmwareStatus(StrEnum): """ Status of a firmware download as reported in FirmwareStatusNotification.req """ @@ -446,12 +413,8 @@ class FirmwareStatus(str, Enum): invalid_signature = "InvalidSignature" signature_verified = "SignatureVerified" - # Soon to be deprecated enums - downloadFailed = "DownloadFailed" - installationFailed = "InstallationFailed" - -class GenericStatus(str, Enum): +class GenericStatus(StrEnum): """ Generic message response status """ @@ -460,7 +423,7 @@ class GenericStatus(str, Enum): rejected = "Rejected" -class GetCompositeScheduleStatus(str, Enum): +class GetCompositeScheduleStatus(StrEnum): """ Status returned in response to GetCompositeSchedule.req """ @@ -469,7 +432,7 @@ class GetCompositeScheduleStatus(str, Enum): rejected = "Rejected" -class GetInstalledCertificateStatus(str, Enum): +class GetInstalledCertificateStatus(StrEnum): """ GetInstalledCertificateStatusEnumType is used by: GetInstalledCertificateIds.conf @@ -479,7 +442,7 @@ class GetInstalledCertificateStatus(str, Enum): not_found = "NotFound" -class HashAlgorithm(str, Enum): +class HashAlgorithm(StrEnum): """ HashAlgorithmEnumType is used by: CertificateHashDataType """ @@ -489,7 +452,7 @@ class HashAlgorithm(str, Enum): sha512 = "SHA512" -class Location(str, Enum): +class Location(StrEnum): """ Allowable values of the optional "location" field of a value element in SampledValue. @@ -502,7 +465,7 @@ class Location(str, Enum): ev = "EV" -class Log(str, Enum): +class Log(StrEnum): """ LogEnumType is used by GetLog.req """ @@ -511,7 +474,7 @@ class Log(str, Enum): security_log = "SecurityLog" -class LogStatus(str, Enum): +class LogStatus(StrEnum): """ LogStatusEnumType is used by: GetLog.conf """ @@ -521,7 +484,7 @@ class LogStatus(str, Enum): accepted_canceled = "AcceptedCanceled" -class Measurand(str, Enum): +class Measurand(StrEnum): """ Allowable values of the optional "measurand" field of a Value element, as used in MeterValues.req and StopTransaction.req messages. Default value of @@ -551,27 +514,8 @@ class Measurand(str, Enum): temperature = "Temperature" voltage = "Voltage" - # Soon to be deprecated enums - currentExport = "Current.Export" - currentImport = "Current.Import" - currentOffered = "Current.Offered" - energyActiveExportRegister = "Energy.Active.Export.Register" - energyActiveImportRegister = "Energy.Active.Import.Register" - energyReactiveExportRegister = "Energy.Reactive.Export.Register" - energyReactiveImportRegister = "Energy.Reactive.Import.Register" - energyActiveExportInterval = "Energy.Active.Export.Interval" - energyActiveImportInterval = "Energy.Active.Import.Interval" - energyReactiveExportInterval = "Energy.Reactive.Export.Interval" - energyReactiveImportInterval = "Energy.Reactive.Import.Interval" - powerActiveExport = "Power.Active.Export" - powerActiveImport = "Power.Active.Import" - powerFactor = "Power.Factor" - powerOffered = "Power.Offered" - powerReactiveExport = "Power.Reactive.Export" - powerReactiveImport = "Power.Reactive.Import" - - -class MessageTrigger(str, Enum): + +class MessageTrigger(StrEnum): """ Type of request to be triggered in a TriggerMessage.req """ @@ -590,15 +534,8 @@ class MessageTrigger(str, Enum): log_status_notification = "LogStatusNotification" sign_charge_point_certificate = "SignChargePointCertificate" - # Soon to be deprecated enums - bootNotification = "BootNotification" - diagnosticsStatusNotification = "DiagnosticsStatusNotification" - firmwareStatusNotification = "FirmwareStatusNotification" - meterValues = "MeterValues" - statusNotification = "StatusNotification" - -class Phase(str, Enum): +class Phase(StrEnum): """ Phase as used in SampledValue. Phase specifies how a measured value is to be interpreted. Please note that not all values of Phase are applicable to @@ -616,16 +553,8 @@ class Phase(str, Enum): l2_l3 = "L2-L3" l3_l1 = "L3-L1" - # Soon to be deprecated enums - l1n = "L1-N" - l2n = "L2-N" - l3n = "L3-N" - l1l2 = "L1-L2" - l2l3 = "L2-L3" - l3l1 = "L3-L1" - -class ReadingContext(str, Enum): +class ReadingContext(StrEnum): """ Values of the context field of a value in SampledValue. """ @@ -639,16 +568,8 @@ class ReadingContext(str, Enum): transaction_end = "Transaction.End" trigger = "Trigger" - # Soon to be deprecated enums - interruptionBegin = "Interruption.Begin" - interruptionEnd = "Interruption.End" - sampleClock = "Sample.Clock" - samplePeriodic = "Sample.Periodic" - transactionBegin = "Transaction.Begin" - transactionEnd = "Transaction.End" - -class Reason(str, Enum): +class Reason(StrEnum): """ Reason for stopping a transaction in StopTransaction.req. """ @@ -665,17 +586,8 @@ class Reason(str, Enum): unlock_command = "UnlockCommand" de_authorized = "DeAuthorized" - # Soon to be deprecated enums - emergencyStop = "EmergencyStop" - evDisconnected = "EVDisconnected" - hardReset = "HardReset" - powerLoss = "PowerLoss" - softReset = "SoftReset" - unlockCommand = "UnlockCommand" - deAuthorized = "DeAuthorized" - -class RecurrencyKind(str, Enum): +class RecurrencyKind(StrEnum): """ "Daily": The schedule restarts at the beginning of the next day. "Weekly": The schedule restarts at the beginning of the next week @@ -686,7 +598,7 @@ class RecurrencyKind(str, Enum): weekly = "Weekly" -class RegistrationStatus(str, Enum): +class RegistrationStatus(StrEnum): """ Result of registration in response to BootNotification.req. """ @@ -696,7 +608,7 @@ class RegistrationStatus(str, Enum): rejected = "Rejected" -class RemoteStartStopStatus(str, Enum): +class RemoteStartStopStatus(StrEnum): """ The result of a RemoteStartTransaction.req or RemoteStopTransaction.req request. @@ -706,7 +618,7 @@ class RemoteStartStopStatus(str, Enum): rejected = "Rejected" -class ReservationStatus(str, Enum): +class ReservationStatus(StrEnum): """ Status in ReserveNow.conf. """ @@ -718,7 +630,7 @@ class ReservationStatus(str, Enum): unavailable = "Unavailable" -class ResetStatus(str, Enum): +class ResetStatus(StrEnum): """ Result of Reset.req """ @@ -727,7 +639,7 @@ class ResetStatus(str, Enum): rejected = "Rejected" -class ResetType(str, Enum): +class ResetType(StrEnum): """ Type of reset requested by Reset.req """ @@ -736,7 +648,7 @@ class ResetType(str, Enum): soft = "Soft" -class TriggerMessageStatus(str, Enum): +class TriggerMessageStatus(StrEnum): """ Status in TriggerMessage.conf. """ @@ -745,11 +657,8 @@ class TriggerMessageStatus(str, Enum): rejected = "Rejected" not_implemented = "NotImplemented" - # Soon to be deprecated enums - notImplemented = "NotImplemented" - -class UnitOfMeasure(str, Enum): +class UnitOfMeasure(StrEnum): """ Allowable values of the optional "unit" field of a Value element, as used in MeterValues.req and StopTransaction.req messages. Default value of @@ -775,7 +684,7 @@ class UnitOfMeasure(str, Enum): hertz = "Hertz" -class UnlockStatus(str, Enum): +class UnlockStatus(StrEnum): """ Status in response to UnlockConnector.req. """ @@ -784,12 +693,8 @@ class UnlockStatus(str, Enum): unlock_failed = "UnlockFailed" not_supported = "NotSupported" - # Soon to be deprecated enums - unlockFailed = "UnlockFailed" - notSupported = "NotSupported" - -class UpdateFirmwareStatus(str, Enum): +class UpdateFirmwareStatus(StrEnum): """ UpdateFirmwareStatusEnumType is used by: SignedUpdateFirmware.conf """ @@ -801,7 +706,7 @@ class UpdateFirmwareStatus(str, Enum): revoked_certificate = "RevokedCertificate" -class UploadLogStatus(str, Enum): +class UploadLogStatus(StrEnum): """ UploadLogStatusEnumType is used by: LogStatusNotification.req """ @@ -815,7 +720,7 @@ class UploadLogStatus(str, Enum): uploading = "Uploading" -class UpdateStatus(str, Enum): +class UpdateStatus(StrEnum): """ Type of update for a SendLocalList.req. """ @@ -825,12 +730,8 @@ class UpdateStatus(str, Enum): not_supported = "NotSupported" version_mismatch = "VersionMismatch" - # Soon to be deprecated enums - notSupported = "NotSupported" - versionMismatch = "VersionMismatch" - -class UpdateType(str, Enum): +class UpdateType(StrEnum): """ Type of update for a SendLocalList.req. """ @@ -839,7 +740,7 @@ class UpdateType(str, Enum): full = "Full" -class ValueFormat(str, Enum): +class ValueFormat(StrEnum): """ Format that specifies how the value element in SampledValue is to be interpreted. @@ -847,6 +748,3 @@ class ValueFormat(str, Enum): raw = "Raw" signed_data = "SignedData" - - # Soon to be deprecated enums - signedData = "SignedData" diff --git a/ocpp/v20/__init__.py b/ocpp/v20/__init__.py deleted file mode 100644 index f054fc49f..000000000 --- a/ocpp/v20/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -from ocpp.charge_point import ChargePoint as cp -from ocpp.v20 import call, call_result - - -class ChargePoint(cp): - _call = call - _call_result = call_result - _ocpp_version = "2.0" diff --git a/ocpp/v20/call.py b/ocpp/v20/call.py deleted file mode 100644 index 13ba974cb..000000000 --- a/ocpp/v20/call.py +++ /dev/null @@ -1,436 +0,0 @@ -from dataclasses import dataclass -from typing import Any, Dict, List, Optional - - -@dataclass -class AuthorizePayload: - id_token: Dict - _15118_certificate_hash_data: Optional[List] = None - evse_id: Optional[List] = None - - -@dataclass -class BootNotificationPayload: - charging_station: Dict - reason: str - - -@dataclass -class CancelReservationPayload: - reservation_id: int - - -@dataclass -class CertificateSignedPayload: - cert: List - type_of_certificate: Optional[str] = None - - -@dataclass -class ChangeAvailabilityPayload: - evse_id: int - operational_status: str - - -@dataclass -class ClearCachePayload: - pass - - -@dataclass -class ClearChargingProfilePayload: - evse_id: Optional[int] = None - charging_profile: Optional[Dict] = None - - -@dataclass -class ClearDisplayMessagePayload: - id: int - - -@dataclass -class ClearVariableMonitoringPayload: - id: List - - -@dataclass -class ClearedChargingLimitPayload: - charging_limit_source: str - evse_id: Optional[int] = None - - -@dataclass -class CostUpdatedPayload: - total_cost: int - transaction_id: str - - -@dataclass -class CustomerInformationPayload: - request_id: int - report: bool - clear: bool - customer_certificate: Optional[Dict] = None - id_token: Optional[Dict] = None - customer_identifier: Optional[str] = None - - -@dataclass -class DataTransferPayload: - vendor_id: str - message_id: Optional[str] = None - data: Any = None - - -@dataclass -class DeleteCertificatePayload: - certificate_hash_data: Dict - - -@dataclass -class FirmwareStatusNotificationPayload: - status: str - request_id: int - - -@dataclass -class Get15118EVCertificatePayload: - _15118_schema_version: str - exi_request: str - - -@dataclass -class GetBaseReportPayload: - request_id: int - report_base: str - - -@dataclass -class GetCertificateStatusPayload: - ocsp_request_data: Dict - - -@dataclass -class GetChargingProfilesPayload: - charging_profile: Dict - request_id: Optional[int] = None - evse_id: Optional[int] = None - - -@dataclass -class GetCompositeSchedulePayload: - duration: int - evse_id: int - charging_rate_unit: Optional[str] = None - - -@dataclass -class GetDisplayMessagesPayload: - request_id: int - priority: Optional[str] = None - state: Optional[str] = None - id: Optional[List] = None - - -@dataclass -class GetInstalledCertificateIdsPayload: - type_of_certificate: str - - -@dataclass -class GetLocalListVersionPayload: - pass - - -@dataclass -class GetLogPayload: - log: Dict - log_type: str - request_id: int - retries: Optional[int] = None - retry_interval: Optional[int] = None - - -@dataclass -class GetMonitoringReportPayload: - component_variable: Optional[List] = None - request_id: Optional[int] = None - monitoring_criteria: Optional[List] = None - - -@dataclass -class GetReportPayload: - component_variable: Optional[List] = None - request_id: Optional[int] = None - component_criteria: Optional[List] = None - - -@dataclass -class GetTransactionStatusPayload: - transaction_id: Optional[str] = None - - -@dataclass -class GetVariablesPayload: - get_variable_data: List - - -@dataclass -class HeartbeatPayload: - pass - - -@dataclass -class InstallCertificatePayload: - certificate_type: str - certificate: str - - -@dataclass -class LogStatusNotificationPayload: - status: str - request_id: int - - -@dataclass -class MeterValuesPayload: - evse_id: int - meter_value: List - - -@dataclass -class NotifyCentralChargingNeedsPayload: - evse_id: int - sa_schedule: List - - -@dataclass -class NotifyChargingLimitPayload: - charging_limit: Dict - charging_schedule: Optional[List] = None - evse_id: Optional[int] = None - - -@dataclass -class NotifyCustomerInformationPayload: - data: str - tbc: bool - seq_no: int - generated_at: str - request_id: Optional[int] = None - - -@dataclass -class NotifyDisplayMessagesPayload: - message_info: List - request_id: int - tbc: bool - - -@dataclass -class NotifyEVChargingNeedsPayload: - charging_needs: Dict - evse_id: int - max_schedule_tuples: Optional[int] = None - - -@dataclass -class NotifyEVChargingSchedulePayload: - time_base: str - charging_schedule: Dict - evse_id: int - - -@dataclass -class NotifyEventPayload: - generated_at: str - tbc: bool - seq_no: int - event_data: List - - -@dataclass -class NotifyMonitoringReportPayload: - monitor: List - tbc: bool - seq_no: int - generated_at: str - request_id: Optional[int] = None - - -@dataclass -class NotifyReportPayload: - generated_at: str - report_data: List - tbc: bool - seq_no: int - request_id: Optional[int] = None - - -@dataclass -class PublishFirmwarePayload: - location: str - checksum: str - retries: Optional[int] = None - - -@dataclass -class PublishFirmwareStatusNotificationPayload: - status: str - location: Optional[str] = None - - -@dataclass -class Renegotiate15118SchedulePayload: - evse: Dict - - -@dataclass -class ReportChargingProfilesPayload: - charging_limit_source: str - charging_profile: List - evse_id: int - request_id: Optional[int] = None - tbc: Optional[bool] = None - - -@dataclass -class RequestStartTransactionPayload: - id_token: Dict - remote_start_id: int - evse_id: Optional[int] = None - charging_profile: Optional[Dict] = None - - -@dataclass -class RequestStopTransactionPayload: - transaction_id: str - - -@dataclass -class ReservationStatusUpdatePayload: - reservation_id: int - reservation_update_status: str - - -@dataclass -class ReserveNowPayload: - id_token: Dict - reservation: Dict - group_id_token: Optional[Dict] = None - - -@dataclass -class ResetPayload: - type: str - - -@dataclass -class SecurityEventNotificationPayload: - type: str - timestamp: str - - -@dataclass -class SendLocalListPayload: - version_number: int - update_type: str - local_authorization_list: Optional[List] = None - - -@dataclass -class SetChargingProfilePayload: - evse_id: int - charging_profile: Dict - - -@dataclass -class SetDisplayMessagePayload: - message: Dict - - -@dataclass -class SetMonitoringBasePayload: - monitoring_base: str - - -@dataclass -class SetMonitoringLevelPayload: - severity: int - - -@dataclass -class SetNetworkProfilePayload: - configuration_slot: int - connection_data: Dict - - -@dataclass -class SetVariableMonitoringPayload: - set_monitoring_data: List - - -@dataclass -class SetVariablesPayload: - set_variable_data: List - - -@dataclass -class SignCertificatePayload: - csr: str - type_of_certificate: Optional[str] = None - - -@dataclass -class StatusNotificationPayload: - timestamp: str - connector_status: str - evse_id: int - connector_id: int - - -@dataclass -class TransactionEventPayload: - event_type: str - timestamp: str - trigger_reason: str - seq_no: int - transaction_data: Dict - meter_value: Optional[List] = None - offline: Optional[bool] = None - number_of_phases_used: Optional[int] = None - cable_max_current: Optional[int] = None - reservation_id: Optional[int] = None - evse: Optional[Dict] = None - id_token: Optional[Dict] = None - - -@dataclass -class TriggerMessagePayload: - requested_message: str - evse: Optional[Dict] = None - - -@dataclass -class UnlockConnectorPayload: - evse_id: int - connector_id: int - - -@dataclass -class UnpublishFirmwarePayload: - checksum: str - - -@dataclass -class Update15118EVCertificatePayload: - _15118_schema_version: str - exi_request: str - - -@dataclass -class UpdateFirmwarePayload: - request_id: int - firmware: Dict - retries: Optional[int] = None - retry_interval: Optional[int] = None diff --git a/ocpp/v20/call_result.py b/ocpp/v20/call_result.py deleted file mode 100644 index 85dbe38c6..000000000 --- a/ocpp/v20/call_result.py +++ /dev/null @@ -1,356 +0,0 @@ -from dataclasses import dataclass -from typing import Any, Dict, List, Optional - - -@dataclass -class AuthorizePayload: - id_token_info: Dict - certificate_status: Optional[str] = None - evse_id: Optional[List] = None - - -@dataclass -class BootNotificationPayload: - current_time: str - interval: int - status: str - - -@dataclass -class CancelReservationPayload: - status: str - - -@dataclass -class CertificateSignedPayload: - status: str - - -@dataclass -class ChangeAvailabilityPayload: - status: str - - -@dataclass -class ClearCachePayload: - status: str - - -@dataclass -class ClearChargingProfilePayload: - status: str - - -@dataclass -class ClearDisplayMessagePayload: - status: str - - -@dataclass -class ClearVariableMonitoringPayload: - clear_monitoring_result: List - - -@dataclass -class ClearedChargingLimitPayload: - pass - - -@dataclass -class CostUpdatedPayload: - pass - - -@dataclass -class CustomerInformationPayload: - status: str - - -@dataclass -class DataTransferPayload: - status: str - data: Any = None - - -@dataclass -class DeleteCertificatePayload: - status: str - - -@dataclass -class FirmwareStatusNotificationPayload: - pass - - -@dataclass -class Get15118EVCertificatePayload: - status: str - sa_provisioning_certificate_chain: Dict - contract_signature_certificate_chain: Dict - exi_response: str - - -@dataclass -class GetBaseReportPayload: - status: str - - -@dataclass -class GetCertificateStatusPayload: - status: str - ocsp_result: Optional[str] = None - - -@dataclass -class GetChargingProfilesPayload: - status: str - - -@dataclass -class GetCompositeSchedulePayload: - status: str - evse_id: int - schedule: Optional[Dict] = None - - -@dataclass -class GetDisplayMessagesPayload: - status: str - - -@dataclass -class GetInstalledCertificateIdsPayload: - status: str - certificate_hash_data: Optional[List] = None - - -@dataclass -class GetLocalListVersionPayload: - version_number: int - - -@dataclass -class GetLogPayload: - status: str - filename: Optional[str] = None - - -@dataclass -class GetMonitoringReportPayload: - status: str - - -@dataclass -class GetReportPayload: - status: str - - -@dataclass -class GetTransactionStatusPayload: - messages_in_queue: bool - ongoing_indicator: Optional[bool] = None - - -@dataclass -class GetVariablesPayload: - get_variable_result: List - - -@dataclass -class HeartbeatPayload: - current_time: str - - -@dataclass -class InstallCertificatePayload: - status: str - - -@dataclass -class LogStatusNotificationPayload: - pass - - -@dataclass -class MeterValuesPayload: - pass - - -@dataclass -class NotifyCentralChargingNeedsPayload: - status: str - - -@dataclass -class NotifyChargingLimitPayload: - pass - - -@dataclass -class NotifyCustomerInformationPayload: - pass - - -@dataclass -class NotifyDisplayMessagesPayload: - pass - - -@dataclass -class NotifyEVChargingNeedsPayload: - status: str - - -@dataclass -class NotifyEVChargingSchedulePayload: - status: str - - -@dataclass -class NotifyEventPayload: - pass - - -@dataclass -class NotifyMonitoringReportPayload: - pass - - -@dataclass -class NotifyReportPayload: - pass - - -@dataclass -class PublishFirmwarePayload: - status: str - - -@dataclass -class PublishFirmwareStatusNotificationPayload: - pass - - -@dataclass -class Renegotiate15118SchedulePayload: - status: str - - -@dataclass -class ReportChargingProfilesPayload: - pass - - -@dataclass -class RequestStartTransactionPayload: - status: str - transaction_id: Optional[str] = None - - -@dataclass -class RequestStopTransactionPayload: - status: str - - -@dataclass -class ReservationStatusUpdatePayload: - pass - - -@dataclass -class ReserveNowPayload: - status: str - - -@dataclass -class ResetPayload: - status: str - - -@dataclass -class SecurityEventNotificationPayload: - pass - - -@dataclass -class SendLocalListPayload: - status: str - - -@dataclass -class SetChargingProfilePayload: - status: str - - -@dataclass -class SetDisplayMessagePayload: - status: str - - -@dataclass -class SetMonitoringBasePayload: - status: str - - -@dataclass -class SetMonitoringLevelPayload: - status: str - - -@dataclass -class SetNetworkProfilePayload: - status: str - - -@dataclass -class SetVariableMonitoringPayload: - set_monitoring_result: List - - -@dataclass -class SetVariablesPayload: - set_variable_result: List - - -@dataclass -class SignCertificatePayload: - status: str - - -@dataclass -class StatusNotificationPayload: - pass - - -@dataclass -class TransactionEventPayload: - total_cost: Optional[int] = None - charging_priority: Optional[int] = None - id_token_info: Optional[Dict] = None - updated_personal_message: Optional[Dict] = None - - -@dataclass -class TriggerMessagePayload: - status: str - - -@dataclass -class UnlockConnectorPayload: - status: str - - -@dataclass -class UnpublishFirmwarePayload: - status: str - - -@dataclass -class Update15118EVCertificatePayload: - status: str - exi_response: Optional[str] = None - - -@dataclass -class UpdateFirmwarePayload: - status: str diff --git a/ocpp/v20/schemas/AuthorizeRequest_v1p0.json b/ocpp/v20/schemas/AuthorizeRequest_v1p0.json deleted file mode 100644 index 55289fcf2..000000000 --- a/ocpp/v20/schemas/AuthorizeRequest_v1p0.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "HashAlgorithmEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "SHA256", - "SHA384", - "SHA512" - ] - }, - "IdTokenEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Central", - "eMAID", - "ISO14443", - "KeyCode", - "Local", - "NoAuthorization", - "ISO15693" - ] - }, - "AdditionalInfoType": { - "javaType": "AdditionalInfo", - "type": "object", - "additionalProperties": true, - "properties": { - "additionalIdToken": { - "type": "string", - "maxLength": 36 - }, - "type": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "additionalIdToken", - "type" - ] - }, - "IdTokenType": { - "javaType": "IdToken", - "type": "object", - "additionalProperties": true, - "properties": { - "additionalInfo": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/AdditionalInfoType" - }, - "minItems": 1 - }, - "idToken": { - "type": "string", - "maxLength": 36 - }, - "type": { - "$ref": "#/definitions/IdTokenEnumType" - } - }, - "required": [ - "idToken", - "type" - ] - }, - "OCSPRequestDataType": { - "javaType": "OCSPRequestData", - "type": "object", - "additionalProperties": true, - "properties": { - "hashAlgorithm": { - "$ref": "#/definitions/HashAlgorithmEnumType" - }, - "issuerNameHash": { - "type": "string", - "maxLength": 128 - }, - "issuerKeyHash": { - "type": "string", - "maxLength": 128 - }, - "serialNumber": { - "type": "string", - "maxLength": 20 - }, - "responderURL": { - "type": "string", - "maxLength": 512 - } - }, - "required": [ - "hashAlgorithm", - "issuerNameHash", - "issuerKeyHash", - "serialNumber" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "15118CertificateHashData": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/OCSPRequestDataType" - }, - "minItems": 1, - "maxItems": 4 - }, - "idToken": { - "$ref": "#/definitions/IdTokenType" - }, - "evseId": { - "type": "array", - "additionalItems": false, - "items": { - "type": "integer" - }, - "minItems": 1 - } - }, - "required": [ - "idToken" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/AuthorizeResponse_v1p0.json b/ocpp/v20/schemas/AuthorizeResponse_v1p0.json deleted file mode 100644 index 6357990ed..000000000 --- a/ocpp/v20/schemas/AuthorizeResponse_v1p0.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "AuthorizationStatusEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Blocked", - "ConcurrentTx", - "Expired", - "Invalid", - "NoCredit", - "NotAllowedTypeEVSE", - "NotAtThisLocation", - "NotAtThisTime", - "Unknown" - ] - }, - "CertificateStatusEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "SignatureError", - "CertificateExpired", - "CertificateRevoked", - "NoCertificateAvailable", - "CertChainError", - "ContractCancelled" - ] - }, - "IdTokenEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Central", - "eMAID", - "ISO14443", - "KeyCode", - "Local", - "NoAuthorization", - "ISO15693" - ] - }, - "MessageFormatEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ASCII", - "HTML", - "URI", - "UTF8" - ] - }, - "GroupIdTokenType": { - "javaType": "GroupIdToken", - "type": "object", - "additionalProperties": true, - "properties": { - "idToken": { - "type": "string", - "maxLength": 36 - }, - "type": { - "$ref": "#/definitions/IdTokenEnumType" - } - }, - "required": [ - "idToken", - "type" - ] - }, - "IdTokenInfoType": { - "javaType": "IdTokenInfo", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "$ref": "#/definitions/AuthorizationStatusEnumType" - }, - "cacheExpiryDateTime": { - "type": "string", - "format": "date-time" - }, - "chargingPriority": { - "type": "integer" - }, - "groupIdToken": { - "$ref": "#/definitions/GroupIdTokenType" - }, - "language1": { - "type": "string", - "maxLength": 8 - }, - "language2": { - "type": "string", - "maxLength": 8 - }, - "personalMessage": { - "$ref": "#/definitions/MessageContentType" - } - }, - "required": [ - "status" - ] - }, - "MessageContentType": { - "javaType": "MessageContent", - "type": "object", - "additionalProperties": true, - "properties": { - "format": { - "$ref": "#/definitions/MessageFormatEnumType" - }, - "language": { - "type": "string", - "maxLength": 8 - }, - "content": { - "type": "string", - "maxLength": 512 - } - }, - "required": [ - "format", - "content" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "idTokenInfo": { - "$ref": "#/definitions/IdTokenInfoType" - }, - "certificateStatus": { - "$ref": "#/definitions/CertificateStatusEnumType" - }, - "evseId": { - "type": "array", - "additionalItems": false, - "items": { - "type": "integer" - }, - "minItems": 1 - } - }, - "required": [ - "idTokenInfo" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/BootNotificationRequest_v1p0.json b/ocpp/v20/schemas/BootNotificationRequest_v1p0.json deleted file mode 100644 index 39cb2f2a5..000000000 --- a/ocpp/v20/schemas/BootNotificationRequest_v1p0.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "BootReasonEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ApplicationReset", - "FirmwareUpdate", - "LocalReset", - "PowerUp", - "RemoteReset", - "ScheduledReset", - "Triggered", - "Unknown", - "Watchdog" - ] - }, - "ChargingStationType": { - "javaType": "ChargingStation", - "type": "object", - "additionalProperties": true, - "properties": { - "serialNumber": { - "type": "string", - "maxLength": 20 - }, - "model": { - "type": "string", - "maxLength": 20 - }, - "modem": { - "$ref": "#definitions/ModemType" - }, - "vendorName": { - "type": "string", - "maxLength": 50 - }, - "firmwareVersion": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "model", - "vendorName" - ] - }, - "ModemType": { - "javaType": "Modem", - "type": "object", - "additionalProperties": true, - "properties": { - "iccid": { - "type": "string", - "maxLength": 20 - }, - "imsi": { - "type": "string", - "maxLength": 20 - } - } - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "chargingStation": { - "$ref": "#definitions/ChargingStationType" - }, - "reason": { - "$ref": "#definitions/BootReasonEnumType" - } - }, - "required": [ - "reason", - "chargingStation" - ] -} diff --git a/ocpp/v20/schemas/BootNotificationResponse_v1p0.json b/ocpp/v20/schemas/BootNotificationResponse_v1p0.json deleted file mode 100644 index 67443dedf..000000000 --- a/ocpp/v20/schemas/BootNotificationResponse_v1p0.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "currentTime": { - "type": "string", - "format": "date-time" - }, - "interval": { - "type": "integer" - }, - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Pending", - "Rejected" - ] - } - }, - "required": [ - "currentTime", - "interval", - "status" - ] -} diff --git a/ocpp/v20/schemas/CancelReservationRequest_v1p0.json b/ocpp/v20/schemas/CancelReservationRequest_v1p0.json deleted file mode 100644 index 5b14f9983..000000000 --- a/ocpp/v20/schemas/CancelReservationRequest_v1p0.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "reservationId": { - "type": "integer" - } - }, - "required": [ - "reservationId" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/CancelReservationResponse_v1p0.json b/ocpp/v20/schemas/CancelReservationResponse_v1p0.json deleted file mode 100644 index 5cd67bdf0..000000000 --- a/ocpp/v20/schemas/CancelReservationResponse_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/CertificateSignedRequest_v1p0.json b/ocpp/v20/schemas/CertificateSignedRequest_v1p0.json deleted file mode 100644 index 30b364aec..000000000 --- a/ocpp/v20/schemas/CertificateSignedRequest_v1p0.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "cert": { - "type": "array", - "additionalItems": false, - "items": { - "type": "string", - "maxLength": 800 - }, - "minItems": 1 - }, - "typeOfCertificate": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ChargingStationCertificate", - "V2GCertificate" - ] - } - }, - "required": [ - "cert" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/CertificateSignedResponse_v1p0.json b/ocpp/v20/schemas/CertificateSignedResponse_v1p0.json deleted file mode 100644 index 5cd67bdf0..000000000 --- a/ocpp/v20/schemas/CertificateSignedResponse_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ChangeAvailabilityRequest_v1p0.json b/ocpp/v20/schemas/ChangeAvailabilityRequest_v1p0.json deleted file mode 100644 index 966cc849a..000000000 --- a/ocpp/v20/schemas/ChangeAvailabilityRequest_v1p0.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "evseId": { - "type": "integer" - }, - "operationalStatus": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Inoperative", - "Operative" - ] - } - }, - "required": [ - "evseId", - "operationalStatus" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ChangeAvailabilityResponse_v1p0.json b/ocpp/v20/schemas/ChangeAvailabilityResponse_v1p0.json deleted file mode 100644 index e839d6d2d..000000000 --- a/ocpp/v20/schemas/ChangeAvailabilityResponse_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "Scheduled" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ClearCacheRequest_v1p0.json b/ocpp/v20/schemas/ClearCacheRequest_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/ClearCacheRequest_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ClearCacheResponse_v1p0.json b/ocpp/v20/schemas/ClearCacheResponse_v1p0.json deleted file mode 100644 index 5cd67bdf0..000000000 --- a/ocpp/v20/schemas/ClearCacheResponse_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ClearChargingProfileRequest_v1p0.json b/ocpp/v20/schemas/ClearChargingProfileRequest_v1p0.json deleted file mode 100644 index 8aabba8f1..000000000 --- a/ocpp/v20/schemas/ClearChargingProfileRequest_v1p0.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "ChargingProfilePurposeEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ChargingStationExternalConstraints", - "ChargingStationMaxProfile", - "TxDefaultProfile", - "TxProfile" - ] - }, - "ClearChargingProfileType": { - "javaType": "ClearChargingProfile", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "chargingProfilePurpose": { - "$ref": "#/definitions/ChargingProfilePurposeEnumType" - }, - "stackLevel": { - "type": "integer" - } - } - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "evseId": { - "type": "integer" - }, - "chargingProfile": { - "$ref": "#/definitions/ClearChargingProfileType" - } - } -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ClearChargingProfileResponse_v1p0.json b/ocpp/v20/schemas/ClearChargingProfileResponse_v1p0.json deleted file mode 100644 index ad87cc90f..000000000 --- a/ocpp/v20/schemas/ClearChargingProfileResponse_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Unknown" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ClearDisplayMessageRequest_v1p0.json b/ocpp/v20/schemas/ClearDisplayMessageRequest_v1p0.json deleted file mode 100644 index c7250726e..000000000 --- a/ocpp/v20/schemas/ClearDisplayMessageRequest_v1p0.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - } - }, - "required": [ - "id" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ClearDisplayMessageResponse_v1p0.json b/ocpp/v20/schemas/ClearDisplayMessageResponse_v1p0.json deleted file mode 100644 index ad87cc90f..000000000 --- a/ocpp/v20/schemas/ClearDisplayMessageResponse_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Unknown" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ClearVariableMonitoringRequest_v1p0.json b/ocpp/v20/schemas/ClearVariableMonitoringRequest_v1p0.json deleted file mode 100644 index e9bb48ca0..000000000 --- a/ocpp/v20/schemas/ClearVariableMonitoringRequest_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "array", - "additionalItems": false, - "items": { - "type": "integer" - }, - "minItems": 1 - } - }, - "required": [ - "id" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ClearVariableMonitoringResponse_v1p0.json b/ocpp/v20/schemas/ClearVariableMonitoringResponse_v1p0.json deleted file mode 100644 index 56b783762..000000000 --- a/ocpp/v20/schemas/ClearVariableMonitoringResponse_v1p0.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "ClearMonitoringStatusEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "NotFound" - ] - }, - "ClearMonitoringResultType": { - "javaType": "ClearMonitoringResult", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/ClearMonitoringStatusEnumType" - } - }, - "required": [ - "id", - "status" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "clearMonitoringResult": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/ClearMonitoringResultType" - }, - "minItems": 1 - } - }, - "required": [ - "clearMonitoringResult" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ClearedChargingLimitRequest_v1p0.json b/ocpp/v20/schemas/ClearedChargingLimitRequest_v1p0.json deleted file mode 100644 index cbcb5e330..000000000 --- a/ocpp/v20/schemas/ClearedChargingLimitRequest_v1p0.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "chargingLimitSource": { - "type": "string", - "additionalProperties": true, - "enum": [ - "EMS", - "Other", - "SO", - "CSO" - ] - }, - "evseId": { - "type": "integer" - } - }, - "required": [ - "chargingLimitSource" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ClearedChargingLimitResponse_v1p0.json b/ocpp/v20/schemas/ClearedChargingLimitResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/ClearedChargingLimitResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/CostUpdatedRequest_v1p0.json b/ocpp/v20/schemas/CostUpdatedRequest_v1p0.json deleted file mode 100644 index 4808f7aaf..000000000 --- a/ocpp/v20/schemas/CostUpdatedRequest_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "totalCost": { - "type": "number" - }, - "transactionId": { - "type": "string", - "maxLength": 36 - } - }, - "required": [ - "totalCost", - "transactionId" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/CostUpdatedResponse_v1p0.json b/ocpp/v20/schemas/CostUpdatedResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/CostUpdatedResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/CustomerInformationRequest_v1p0.json b/ocpp/v20/schemas/CustomerInformationRequest_v1p0.json deleted file mode 100644 index c924d3365..000000000 --- a/ocpp/v20/schemas/CustomerInformationRequest_v1p0.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "HashAlgorithmEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "SHA256", - "SHA384", - "SHA512" - ] - }, - "IdTokenEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Central", - "eMAID", - "ISO14443", - "KeyCode", - "Local", - "NoAuthorization", - "ISO15693" - ] - }, - "AdditionalInfoType": { - "javaType": "AdditionalInfo", - "type": "object", - "additionalProperties": true, - "properties": { - "additionalIdToken": { - "type": "string", - "maxLength": 36 - }, - "type": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "additionalIdToken", - "type" - ] - }, - "CertificateHashDataType": { - "javaType": "CertificateHashData", - "type": "object", - "additionalProperties": true, - "properties": { - "hashAlgorithm": { - "$ref": "#/definitions/HashAlgorithmEnumType" - }, - "issuerNameHash": { - "type": "string", - "maxLength": 128 - }, - "issuerKeyHash": { - "type": "string", - "maxLength": 128 - }, - "serialNumber": { - "type": "string", - "maxLength": 20 - } - }, - "required": [ - "hashAlgorithm", - "issuerNameHash", - "issuerKeyHash", - "serialNumber" - ] - }, - "IdTokenType": { - "javaType": "IdToken", - "type": "object", - "additionalProperties": true, - "properties": { - "additionalInfo": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/AdditionalInfoType" - }, - "minItems": 1 - }, - "idToken": { - "type": "string", - "maxLength": 36 - }, - "type": { - "$ref": "#/definitions/IdTokenEnumType" - } - }, - "required": [ - "idToken", - "type" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "customerCertificate": { - "$ref": "#/definitions/CertificateHashDataType" - }, - "idToken": { - "$ref": "#/definitions/IdTokenType" - }, - "requestId": { - "type": "integer" - }, - "report": { - "type": "boolean" - }, - "clear": { - "type": "boolean" - }, - "customerIdentifier": { - "type": "string", - "maxLength": 64 - } - }, - "required": [ - "requestId", - "report", - "clear" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/CustomerInformationResponse_v1p0.json b/ocpp/v20/schemas/CustomerInformationResponse_v1p0.json deleted file mode 100644 index cad77599b..000000000 --- a/ocpp/v20/schemas/CustomerInformationResponse_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "Invalid" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/DataTransferRequest_v1p0.json b/ocpp/v20/schemas/DataTransferRequest_v1p0.json deleted file mode 100644 index 3ed1736e5..000000000 --- a/ocpp/v20/schemas/DataTransferRequest_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "messageId": { - "type": "string", - "maxLength": 50 - }, - "data": {}, - "vendorId": { - "type": "string", - "maxLength": 255 - } - }, - "required": [ - "vendorId" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/DataTransferResponse_v1p0.json b/ocpp/v20/schemas/DataTransferResponse_v1p0.json deleted file mode 100644 index d5d5cb412..000000000 --- a/ocpp/v20/schemas/DataTransferResponse_v1p0.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "UnknownMessageId", - "UnknownVendorId" - ] - }, - "data": {} - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/DeleteCertificateRequest_v1p0.json b/ocpp/v20/schemas/DeleteCertificateRequest_v1p0.json deleted file mode 100644 index 0fa6fd63a..000000000 --- a/ocpp/v20/schemas/DeleteCertificateRequest_v1p0.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "HashAlgorithmEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "SHA256", - "SHA384", - "SHA512" - ] - }, - "CertificateHashDataType": { - "javaType": "CertificateHashData", - "type": "object", - "additionalProperties": true, - "properties": { - "hashAlgorithm": { - "$ref": "#/definitions/HashAlgorithmEnumType" - }, - "issuerNameHash": { - "type": "string", - "maxLength": 128 - }, - "issuerKeyHash": { - "type": "string", - "maxLength": 128 - }, - "serialNumber": { - "type": "string", - "maxLength": 20 - } - }, - "required": [ - "hashAlgorithm", - "issuerNameHash", - "issuerKeyHash", - "serialNumber" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "certificateHashData": { - "$ref": "#/definitions/CertificateHashDataType" - } - }, - "required": [ - "certificateHashData" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/DeleteCertificateResponse_v1p0.json b/ocpp/v20/schemas/DeleteCertificateResponse_v1p0.json deleted file mode 100644 index 57dfea8c9..000000000 --- a/ocpp/v20/schemas/DeleteCertificateResponse_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Failed", - "NotFound" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/FirmwareStatusNotificationRequest_v1p0.json b/ocpp/v20/schemas/FirmwareStatusNotificationRequest_v1p0.json deleted file mode 100644 index 665e04274..000000000 --- a/ocpp/v20/schemas/FirmwareStatusNotificationRequest_v1p0.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "CertificateVerified", - "Downloaded", - "DownloadFailed", - "Downloading", - "DownloadScheduled", - "DownloadPaused", - "Idle", - "InstallationFailed", - "Installing", - "Installed", - "InstallRebooting", - "InstallScheduled", - "InstallVerificationFailed", - "InvalidSignature", - "InvalidCertificate", - "RevokedCertificate", - "PublishFailed", - "SignatureVerified" - ] - }, - "requestId": { - "type": "integer" - } - }, - "required": [ - "status", - "requestId" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/FirmwareStatusNotificationResponse_v1p0.json b/ocpp/v20/schemas/FirmwareStatusNotificationResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/FirmwareStatusNotificationResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/Get15118EVCertificateRequest_v1p0.json b/ocpp/v20/schemas/Get15118EVCertificateRequest_v1p0.json deleted file mode 100644 index 694c39fdf..000000000 --- a/ocpp/v20/schemas/Get15118EVCertificateRequest_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "15118SchemaVersion": { - "type": "string", - "maxLength": 50 - }, - "exiRequest": { - "type": "string", - "maxLength": 5500 - } - }, - "required": [ - "15118SchemaVersion", - "exiRequest" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/Get15118EVCertificateResponse_v1p0.json b/ocpp/v20/schemas/Get15118EVCertificateResponse_v1p0.json deleted file mode 100644 index ec8c444df..000000000 --- a/ocpp/v20/schemas/Get15118EVCertificateResponse_v1p0.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "15118EVCertificateStatusEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Failed" - ] - }, - "CertificateChainType": { - "javaType": "CertificateChain", - "type": "object", - "additionalProperties": true, - "properties": { - "certificate": { - "type": "string", - "maxLength": 800 - }, - "childCertificate": { - "type": "array", - "additionalItems": false, - "items": { - "type": "string", - "maxLength": 800 - }, - "minItems": 1, - "maxItems": 4 - } - }, - "required": [ - "certificate" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "$ref": "#/definitions/15118EVCertificateStatusEnumType" - }, - "saProvisioningCertificateChain": { - "$ref": "#/definitions/CertificateChainType" - }, - "contractSignatureCertificateChain": { - "$ref": "#/definitions/CertificateChainType" - }, - "exiResponse": { - "type": "string", - "maxLength": 5500 - } - }, - "required": [ - "status", - "exiResponse", - "contractSignatureCertificateChain", - "saProvisioningCertificateChain" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetBaseReportRequest_v1p0.json b/ocpp/v20/schemas/GetBaseReportRequest_v1p0.json deleted file mode 100644 index 7c6807414..000000000 --- a/ocpp/v20/schemas/GetBaseReportRequest_v1p0.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "requestId": { - "type": "integer" - }, - "reportBase": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ConfigurationInventory", - "FullInventory", - "SummaryInventory" - ] - } - }, - "required": [ - "requestId", - "reportBase" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetBaseReportResponse_v1p0.json b/ocpp/v20/schemas/GetBaseReportResponse_v1p0.json deleted file mode 100644 index 59370c308..000000000 --- a/ocpp/v20/schemas/GetBaseReportResponse_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "NotSupported" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetCertificateStatusRequest_v1p0.json b/ocpp/v20/schemas/GetCertificateStatusRequest_v1p0.json deleted file mode 100644 index e3b6e8349..000000000 --- a/ocpp/v20/schemas/GetCertificateStatusRequest_v1p0.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "HashAlgorithmEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "SHA256", - "SHA384", - "SHA512" - ] - }, - "OCSPRequestDataType": { - "javaType": "OCSPRequestData", - "type": "object", - "additionalProperties": true, - "properties": { - "hashAlgorithm": { - "$ref": "#/definitions/HashAlgorithmEnumType" - }, - "issuerNameHash": { - "type": "string", - "maxLength": 128 - }, - "issuerKeyHash": { - "type": "string", - "maxLength": 128 - }, - "serialNumber": { - "type": "string", - "maxLength": 20 - }, - "responderURL": { - "type": "string", - "maxLength": 512 - } - }, - "required": [ - "hashAlgorithm", - "issuerNameHash", - "issuerKeyHash", - "serialNumber" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "ocspRequestData": { - "$ref": "#/definitions/OCSPRequestDataType" - } - }, - "required": [ - "ocspRequestData" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetCertificateStatusResponse_v1p0.json b/ocpp/v20/schemas/GetCertificateStatusResponse_v1p0.json deleted file mode 100644 index f2023c411..000000000 --- a/ocpp/v20/schemas/GetCertificateStatusResponse_v1p0.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected" - ] - }, - "ocspResult": { - "type": "string", - "maxLength": 5500 - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetChargingProfilesRequest_v1p0.json b/ocpp/v20/schemas/GetChargingProfilesRequest_v1p0.json deleted file mode 100644 index b9e695c6e..000000000 --- a/ocpp/v20/schemas/GetChargingProfilesRequest_v1p0.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "ChargingLimitSourceEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "EMS", - "Other", - "SO", - "CSO" - ] - }, - "ChargingProfilePurposeEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ChargingStationExternalConstraints", - "ChargingStationMaxProfile", - "TxDefaultProfile", - "TxProfile" - ] - }, - "ChargingProfileCriterionType": { - "javaType": "ChargingProfileCriterion", - "type": "object", - "additionalProperties": true, - "properties": { - "chargingProfilePurpose": { - "$ref": "#/definitions/ChargingProfilePurposeEnumType" - }, - "stackLevel": { - "type": "integer" - }, - "chargingProfileId": { - "type": "array", - "additionalItems": false, - "items": { - "type": "integer" - }, - "minItems": 1 - }, - "chargingLimitSource": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/ChargingLimitSourceEnumType" - }, - "minItems": 1, - "maxItems": 4 - } - } - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "requestId": { - "type": "integer" - }, - "evseId": { - "type": "integer" - }, - "chargingProfile": { - "$ref": "#/definitions/ChargingProfileCriterionType" - } - }, - "required": [ - "chargingProfile" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetChargingProfilesResponse_v1p0.json b/ocpp/v20/schemas/GetChargingProfilesResponse_v1p0.json deleted file mode 100644 index fc17a6a6c..000000000 --- a/ocpp/v20/schemas/GetChargingProfilesResponse_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "NoProfiles" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetCompositeScheduleRequest_v1p0.json b/ocpp/v20/schemas/GetCompositeScheduleRequest_v1p0.json deleted file mode 100644 index 2ebb65a05..000000000 --- a/ocpp/v20/schemas/GetCompositeScheduleRequest_v1p0.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "duration": { - "type": "integer" - }, - "chargingRateUnit": { - "type": "string", - "additionalProperties": true, - "enum": [ - "W", - "A" - ] - }, - "evseId": { - "type": "integer" - } - }, - "required": [ - "duration", - "evseId" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetCompositeScheduleResponse_v1p0.json b/ocpp/v20/schemas/GetCompositeScheduleResponse_v1p0.json deleted file mode 100644 index aba5a9991..000000000 --- a/ocpp/v20/schemas/GetCompositeScheduleResponse_v1p0.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "ChargingRateUnitEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "W", - "A" - ] - }, - "GetCompositeScheduleStatusEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected" - ] - }, - "ChargingSchedulePeriodType": { - "javaType": "ChargingSchedulePeriod", - "type": "object", - "additionalProperties": true, - "properties": { - "startPeriod": { - "type": "integer" - }, - "limit": { - "type": "number" - }, - "numberPhases": { - "type": "integer" - }, - "phaseToUse": { - "type": "integer" - } - }, - "required": [ - "startPeriod", - "limit" - ] - }, - "ChargingScheduleType": { - "javaType": "ChargingSchedule", - "type": "object", - "additionalProperties": true, - "properties": { - "startSchedule": { - "type": "string", - "format": "date-time" - }, - "duration": { - "type": "integer" - }, - "chargingRateUnit": { - "$ref": "#/definitions/ChargingRateUnitEnumType" - }, - "chargingSchedulePeriod": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/ChargingSchedulePeriodType" - }, - "minItems": 1 - }, - "minChargingRate": { - "type": "number" - } - }, - "required": [ - "chargingRateUnit" - ] - }, - "CompositeScheduleType": { - "javaType": "CompositeSchedule", - "type": "object", - "additionalProperties": true, - "properties": { - "startDateTime": { - "type": "string", - "format": "date-time" - }, - "chargingSchedule": { - "$ref": "#/definitions/ChargingScheduleType" - } - } - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "$ref": "#/definitions/GetCompositeScheduleStatusEnumType" - }, - "evseId": { - "type": "integer" - }, - "schedule": { - "$ref": "#/definitions/CompositeScheduleType" - } - }, - "required": [ - "status", - "evseId" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetDisplayMessagesRequest_v1p0.json b/ocpp/v20/schemas/GetDisplayMessagesRequest_v1p0.json deleted file mode 100644 index be91864cf..000000000 --- a/ocpp/v20/schemas/GetDisplayMessagesRequest_v1p0.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "requestId": { - "type": "integer" - }, - "priority": { - "type": "string", - "additionalProperties": true, - "enum": [ - "AlwaysFront", - "InFront", - "NormalCycle" - ] - }, - "state": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Charging", - "Faulted", - "Idle", - "Unavailable" - ] - }, - "id": { - "type": "array", - "additionalItems": false, - "items": { - "type": "integer" - }, - "minItems": 1 - } - }, - "required": [ - "requestId" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetDisplayMessagesResponse_v1p0.json b/ocpp/v20/schemas/GetDisplayMessagesResponse_v1p0.json deleted file mode 100644 index ad87cc90f..000000000 --- a/ocpp/v20/schemas/GetDisplayMessagesResponse_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Unknown" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetInstalledCertificateIdsRequest_v1p0.json b/ocpp/v20/schemas/GetInstalledCertificateIdsRequest_v1p0.json deleted file mode 100644 index 648297f7f..000000000 --- a/ocpp/v20/schemas/GetInstalledCertificateIdsRequest_v1p0.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "typeOfCertificate": { - "type": "string", - "additionalProperties": true, - "enum": [ - "V2GRootCertficate", - "MORootCertificate", - "CSOSubCA1", - "CSOSubCA2", - "CSMSRootCertificate", - "ManufacturerRootCertificate" - ] - } - }, - "required": [ - "typeOfCertificate" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetInstalledCertificateIdsResponse_v1p0.json b/ocpp/v20/schemas/GetInstalledCertificateIdsResponse_v1p0.json deleted file mode 100644 index 1397f9605..000000000 --- a/ocpp/v20/schemas/GetInstalledCertificateIdsResponse_v1p0.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "GetInstalledCertificateStatusEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "NotFound" - ] - }, - "HashAlgorithmEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "SHA256", - "SHA384", - "SHA512" - ] - }, - "CertificateHashDataType": { - "javaType": "CertificateHashData", - "type": "object", - "additionalProperties": true, - "properties": { - "hashAlgorithm": { - "$ref": "#/definitions/HashAlgorithmEnumType" - }, - "issuerNameHash": { - "type": "string", - "maxLength": 128 - }, - "issuerKeyHash": { - "type": "string", - "maxLength": 128 - }, - "serialNumber": { - "type": "string", - "maxLength": 20 - } - }, - "required": [ - "hashAlgorithm", - "issuerNameHash", - "issuerKeyHash", - "serialNumber" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "certificateHashData": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/CertificateHashDataType" - }, - "minItems": 1 - }, - "status": { - "$ref": "#/definitions/GetInstalledCertificateStatusEnumType" - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetLocalListVersionRequest_v1p0.json b/ocpp/v20/schemas/GetLocalListVersionRequest_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/GetLocalListVersionRequest_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetLocalListVersionResponse_v1p0.json b/ocpp/v20/schemas/GetLocalListVersionResponse_v1p0.json deleted file mode 100644 index 29c3e8648..000000000 --- a/ocpp/v20/schemas/GetLocalListVersionResponse_v1p0.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "versionNumber": { - "type": "integer" - } - }, - "required": [ - "versionNumber" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetLogRequest_v1p0.json b/ocpp/v20/schemas/GetLogRequest_v1p0.json deleted file mode 100644 index 0d7633572..000000000 --- a/ocpp/v20/schemas/GetLogRequest_v1p0.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "LogEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "DiagnosticsLog", - "SecurityLog" - ] - }, - "LogParametersType": { - "javaType": "LogParameters", - "type": "object", - "additionalProperties": true, - "properties": { - "remoteLocation": { - "type": "string", - "maxLength": 512 - }, - "oldestTimestamp": { - "type": "string", - "format": "date-time" - }, - "latestTimestamp": { - "type": "string", - "format": "date-time" - } - }, - "required": [ - "remoteLocation" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "log": { - "$ref": "#/definitions/LogParametersType" - }, - "logType": { - "$ref": "#/definitions/LogEnumType" - }, - "requestId": { - "type": "integer" - }, - "retries": { - "type": "integer" - }, - "retryInterval": { - "type": "integer" - } - }, - "required": [ - "logType", - "requestId", - "log" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetLogResponse_v1p0.json b/ocpp/v20/schemas/GetLogResponse_v1p0.json deleted file mode 100644 index a75ceadce..000000000 --- a/ocpp/v20/schemas/GetLogResponse_v1p0.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "AcceptedCanceled" - ] - }, - "filename": { - "type": "string", - "maxLength": 255 - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetMonitoringReportRequest_v1p0.json b/ocpp/v20/schemas/GetMonitoringReportRequest_v1p0.json deleted file mode 100644 index 2e0a3dba0..000000000 --- a/ocpp/v20/schemas/GetMonitoringReportRequest_v1p0.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "MonitoringCriterionEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ThresholdMonitoring", - "DeltaMonitoring", - "PeriodicMonitoring" - ] - }, - "ComponentType": { - "javaType": "Component", - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - }, - "ComponentVariableType": { - "javaType": "ComponentVariable", - "type": "object", - "additionalProperties": true, - "properties": { - "component": { - "$ref": "#/definitions/ComponentType" - }, - "variable": { - "$ref": "#/definitions/VariableType" - } - }, - "required": [ - "component", - "variable" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "VariableType": { - "javaType": "Variable", - "type": "object", - "additionalProperties": true, - "properties": { - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "componentVariable": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/ComponentVariableType" - }, - "minItems": 1 - }, - "requestId": { - "type": "integer" - }, - "monitoringCriteria": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/MonitoringCriterionEnumType" - }, - "minItems": 1, - "maxItems": 3 - } - } -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetMonitoringReportResponse_v1p0.json b/ocpp/v20/schemas/GetMonitoringReportResponse_v1p0.json deleted file mode 100644 index 59370c308..000000000 --- a/ocpp/v20/schemas/GetMonitoringReportResponse_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "NotSupported" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetReportRequest_v1p0.json b/ocpp/v20/schemas/GetReportRequest_v1p0.json deleted file mode 100644 index cf71d20e1..000000000 --- a/ocpp/v20/schemas/GetReportRequest_v1p0.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "ComponentCriterionEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Active", - "Available", - "Enabled", - "Problem" - ] - }, - "ComponentType": { - "javaType": "Component", - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - }, - "ComponentVariableType": { - "javaType": "ComponentVariable", - "type": "object", - "additionalProperties": true, - "properties": { - "component": { - "$ref": "#/definitions/ComponentType" - }, - "variable": { - "$ref": "#/definitions/VariableType" - } - }, - "required": [ - "component", - "variable" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "VariableType": { - "javaType": "Variable", - "type": "object", - "additionalProperties": true, - "properties": { - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "componentVariable": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/ComponentVariableType" - }, - "minItems": 1 - }, - "requestId": { - "type": "integer" - }, - "componentCriteria": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/ComponentCriterionEnumType" - }, - "minItems": 1, - "maxItems": 4 - } - } -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetReportResponse_v1p0.json b/ocpp/v20/schemas/GetReportResponse_v1p0.json deleted file mode 100644 index 59370c308..000000000 --- a/ocpp/v20/schemas/GetReportResponse_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "NotSupported" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetTransactionStatusRequest_v1p0.json b/ocpp/v20/schemas/GetTransactionStatusRequest_v1p0.json deleted file mode 100644 index 0368c5043..000000000 --- a/ocpp/v20/schemas/GetTransactionStatusRequest_v1p0.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "transactionId": { - "type": "string", - "maxLength": 36 - } - } -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetTransactionStatusResponse_v1p0.json b/ocpp/v20/schemas/GetTransactionStatusResponse_v1p0.json deleted file mode 100644 index 814f585f4..000000000 --- a/ocpp/v20/schemas/GetTransactionStatusResponse_v1p0.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "ongoingIndicator": { - "type": "boolean" - }, - "messagesInQueue": { - "type": "boolean" - } - }, - "required": [ - "messagesInQueue" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetVariablesRequest_v1p0.json b/ocpp/v20/schemas/GetVariablesRequest_v1p0.json deleted file mode 100644 index 4282b4273..000000000 --- a/ocpp/v20/schemas/GetVariablesRequest_v1p0.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "AttributeEnumType": { - "type": "string", - "default": "Actual", - "additionalProperties": true, - "enum": [ - "Actual", - "Target", - "MinSet", - "MaxSet" - ] - }, - "ComponentType": { - "javaType": "Component", - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "GetVariableDataType": { - "javaType": "GetVariableData", - "type": "object", - "additionalProperties": true, - "properties": { - "attributeType": { - "$ref": "#/definitions/AttributeEnumType" - }, - "component": { - "$ref": "#/definitions/ComponentType" - }, - "variable": { - "$ref": "#/definitions/VariableType" - } - }, - "required": [ - "component", - "variable" - ] - }, - "VariableType": { - "javaType": "Variable", - "type": "object", - "additionalProperties": true, - "properties": { - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "getVariableData": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/GetVariableDataType" - }, - "minItems": 1 - } - }, - "required": [ - "getVariableData" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/GetVariablesResponse_v1p0.json b/ocpp/v20/schemas/GetVariablesResponse_v1p0.json deleted file mode 100644 index e96e68eda..000000000 --- a/ocpp/v20/schemas/GetVariablesResponse_v1p0.json +++ /dev/null @@ -1,126 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "AttributeEnumType": { - "type": "string", - "default": "Actual", - "additionalProperties": true, - "enum": [ - "Actual", - "Target", - "MinSet", - "MaxSet" - ] - }, - "GetVariableStatusEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "UnknownComponent", - "UnknownVariable", - "NotSupportedAttributeType" - ] - }, - "ComponentType": { - "javaType": "Component", - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "GetVariableResultType": { - "javaType": "GetVariableResult", - "type": "object", - "additionalProperties": true, - "properties": { - "attributeStatus": { - "$ref": "#/definitions/GetVariableStatusEnumType" - }, - "attributeType": { - "$ref": "#/definitions/AttributeEnumType" - }, - "attributeValue": { - "type": "string", - "maxLength": 1000 - }, - "component": { - "$ref": "#/definitions/ComponentType" - }, - "variable": { - "$ref": "#/definitions/VariableType" - } - }, - "required": [ - "attributeStatus", - "component", - "variable" - ] - }, - "VariableType": { - "javaType": "Variable", - "type": "object", - "additionalProperties": true, - "properties": { - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "getVariableResult": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/GetVariableResultType" - }, - "minItems": 1 - } - }, - "required": [ - "getVariableResult" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/HeartbeatRequest_v1p0.json b/ocpp/v20/schemas/HeartbeatRequest_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/HeartbeatRequest_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/HeartbeatResponse_v1p0.json b/ocpp/v20/schemas/HeartbeatResponse_v1p0.json deleted file mode 100644 index f303de207..000000000 --- a/ocpp/v20/schemas/HeartbeatResponse_v1p0.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "currentTime": { - "type": "string", - "format": "date-time" - } - }, - "required": [ - "currentTime" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/InstallCertificateRequest_v1p0.json b/ocpp/v20/schemas/InstallCertificateRequest_v1p0.json deleted file mode 100644 index 93f123ac8..000000000 --- a/ocpp/v20/schemas/InstallCertificateRequest_v1p0.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "certificateType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "V2GRootCertficate", - "MORootCertificate", - "CSOSubCA1", - "CSOSubCA2", - "CSMSRootCertificate", - "ManufacturerRootCertificate" - ] - }, - "certificate": { - "type": "string", - "maxLength": 800 - } - }, - "required": [ - "certificateType", - "certificate" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/InstallCertificateResponse_v1p0.json b/ocpp/v20/schemas/InstallCertificateResponse_v1p0.json deleted file mode 100644 index 89939d4ae..000000000 --- a/ocpp/v20/schemas/InstallCertificateResponse_v1p0.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "SignatureError", - "CertificateExpired", - "CertificateRevoked", - "NoCertificateAvailable", - "CertChainError", - "ContractCancelled" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/LogStatusNotificationRequest_v1p0.json b/ocpp/v20/schemas/LogStatusNotificationRequest_v1p0.json deleted file mode 100644 index b5cb62e74..000000000 --- a/ocpp/v20/schemas/LogStatusNotificationRequest_v1p0.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "BadMessage", - "Idle", - "NotSupportedOperation", - "PermissionDenied", - "Uploaded", - "UploadFailure", - "Uploading" - ] - }, - "requestId": { - "type": "integer" - } - }, - "required": [ - "status", - "requestId" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/LogStatusNotificationResponse_v1p0.json b/ocpp/v20/schemas/LogStatusNotificationResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/LogStatusNotificationResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/MeterValuesRequest_v1p0.json b/ocpp/v20/schemas/MeterValuesRequest_v1p0.json deleted file mode 100644 index 9d984d534..000000000 --- a/ocpp/v20/schemas/MeterValuesRequest_v1p0.json +++ /dev/null @@ -1,211 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "EncodingMethodEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Other", - "DLMS Message", - "COSEM Protected Data", - "EDL" - ] - }, - "LocationEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Body", - "Cable", - "EV", - "Inlet", - "Outlet" - ] - }, - "MeasurandEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Current.Export", - "Current.Import", - "Current.Offered", - "Energy.Active.Export.Register", - "Energy.Active.Import.Register", - "Energy.Reactive.Export.Register", - "Energy.Reactive.Import.Register", - "Energy.Active.Export.Interval", - "Energy.Active.Import.Interval", - "Energy.Active.Net", - "Energy.Reactive.Export.Interval", - "Energy.Reactive.Import.Interval", - "Energy.Reactive.Net", - "Energy.Apparent.Net", - "Energy.Apparent.Import", - "Energy.Apparent.Export", - "Frequency", - "Power.Active.Export", - "Power.Active.Import", - "Power.Factor", - "Power.Offered", - "Power.Reactive.Export", - "Power.Reactive.Import", - "SoC", - "Voltage" - ] - }, - "PhaseEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "L1", - "L2", - "L3", - "N", - "L1-N", - "L2-N", - "L3-N", - "L1-L2", - "L2-L3", - "L3-L1" - ] - }, - "ReadingContextEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Interruption.Begin", - "Interruption.End", - "Other", - "Sample.Clock", - "Sample.Periodic", - "Transaction.Begin", - "Transaction.End", - "Trigger" - ] - }, - "SignatureMethodEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ECDSAP256SHA256", - "ECDSAP384SHA384", - "ECDSA192SHA256" - ] - }, - "MeterValueType": { - "javaType": "MeterValue", - "type": "object", - "additionalProperties": true, - "properties": { - "sampledValue": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/SampledValueType" - }, - "minItems": 1 - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "required": [ - "timestamp", - "sampledValue" - ] - }, - "SampledValueType": { - "javaType": "SampledValue", - "type": "object", - "additionalProperties": true, - "properties": { - "value": { - "type": "number" - }, - "context": { - "$ref": "#/definitions/ReadingContextEnumType" - }, - "measurand": { - "$ref": "#/definitions/MeasurandEnumType" - }, - "phase": { - "$ref": "#/definitions/PhaseEnumType" - }, - "location": { - "$ref": "#/definitions/LocationEnumType" - }, - "signedMeterValue": { - "$ref": "#/definitions/SignedMeterValueType" - }, - "unitOfMeasure": { - "$ref": "#/definitions/UnitOfMeasureType" - } - }, - "required": [ - "value" - ] - }, - "SignedMeterValueType": { - "javaType": "SignedMeterValue", - "type": "object", - "additionalProperties": true, - "properties": { - "meterValueSignature": { - "type": "string", - "maxLength": 2500 - }, - "signatureMethod": { - "$ref": "#/definitions/SignatureMethodEnumType" - }, - "encodingMethod": { - "$ref": "#/definitions/EncodingMethodEnumType" - }, - "encodedMeterValue": { - "type": "string", - "maxLength": 512 - } - }, - "required": [ - "meterValueSignature", - "signatureMethod", - "encodingMethod", - "encodedMeterValue" - ] - }, - "UnitOfMeasureType": { - "javaType": "UnitOfMeasure", - "type": "object", - "additionalProperties": true, - "properties": { - "unit": { - "type": "string", - "maxLength": 20 - }, - "multiplier": { - "type": "integer" - } - } - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "evseId": { - "type": "integer" - }, - "meterValue": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/MeterValueType" - }, - "minItems": 1 - } - }, - "required": [ - "evseId", - "meterValue" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/MeterValuesResponse_v1p0.json b/ocpp/v20/schemas/MeterValuesResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/MeterValuesResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyCentralChargingNeedsRequest_v1p0.json b/ocpp/v20/schemas/NotifyCentralChargingNeedsRequest_v1p0.json deleted file mode 100644 index 5de029edf..000000000 --- a/ocpp/v20/schemas/NotifyCentralChargingNeedsRequest_v1p0.json +++ /dev/null @@ -1,190 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "CostKindEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "CarbonDioxideEmission", - "RelativePricePercentage", - "RenewableGenerationPercentage" - ] - }, - "ConsumptionCostType": { - "javaType": "ConsumptionCost", - "type": "object", - "additionalProperties": true, - "properties": { - "startValue": { - "type": "number" - }, - "cost": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/CostType" - }, - "minItems": 1, - "maxItems": 3 - } - }, - "required": [ - "startValue", - "cost" - ] - }, - "CostType": { - "javaType": "Cost", - "type": "object", - "additionalProperties": true, - "properties": { - "costKind": { - "$ref": "#/definitions/CostKindEnumType" - }, - "amount": { - "type": "number" - }, - "amountMultiplier": { - "type": "integer" - } - }, - "required": [ - "costKind", - "amount" - ] - }, - "PMaxScheduleType": { - "javaType": "PMaxSchedule", - "type": "object", - "additionalProperties": true, - "properties": { - "relativeTimeInterval": { - "$ref": "#/definitions/RelativeTimeIntervalType" - }, - "pMax": { - "type": "number" - } - }, - "required": [ - "pMax", - "relativeTimeInterval" - ] - }, - "RelativeTimeIntervalType": { - "javaType": "RelativeTimeInterval", - "type": "object", - "additionalProperties": true, - "properties": { - "start": { - "type": "integer" - }, - "duration": { - "type": "integer" - } - }, - "required": [ - "start" - ] - }, - "SalesTariffEntryType": { - "javaType": "SalesTariffEntry", - "type": "object", - "additionalProperties": true, - "properties": { - "relativeTimeInterval": { - "$ref": "#/definitions/RelativeTimeIntervalType" - }, - "ePriceLevel": { - "type": "integer", - "minimum": 0.0 - }, - "consumptionCost": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/ConsumptionCostType" - }, - "minItems": 1, - "maxItems": 3 - } - } - }, - "SalesTariffType": { - "javaType": "SalesTariff", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "salesTariffDescription": { - "type": "string", - "maxLength": 32 - }, - "numEPriceLevels": { - "type": "integer" - }, - "salesTariffEntry": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/SalesTariffEntryType" - }, - "minItems": 1, - "maxItems": 1024 - } - }, - "required": [ - "id", - "salesTariffEntry" - ] - }, - "SAScheduleType": { - "javaType": "SASchedule", - "type": "object", - "additionalProperties": true, - "properties": { - "pMaxSchedule": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/PMaxScheduleType" - }, - "minItems": 1, - "maxItems": 1024 - }, - "saScheduleTupleID": { - "type": "integer" - }, - "salesTariff": { - "$ref": "#/definitions/SalesTariffType" - } - }, - "required": [ - "saScheduleTupleID", - "pMaxSchedule" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "evseId": { - "type": "integer" - }, - "saSchedule": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/SAScheduleType" - }, - "minItems": 1, - "maxItems": 3 - } - }, - "required": [ - "evseId", - "saSchedule" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyCentralChargingNeedsResponse_v1p0.json b/ocpp/v20/schemas/NotifyCentralChargingNeedsResponse_v1p0.json deleted file mode 100644 index 5cd67bdf0..000000000 --- a/ocpp/v20/schemas/NotifyCentralChargingNeedsResponse_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyChargingLimitRequest_v1p0.json b/ocpp/v20/schemas/NotifyChargingLimitRequest_v1p0.json deleted file mode 100644 index f96fdb2b3..000000000 --- a/ocpp/v20/schemas/NotifyChargingLimitRequest_v1p0.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "ChargingLimitSourceEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "EMS", - "Other", - "SO", - "CSO" - ] - }, - "ChargingRateUnitEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "W", - "A" - ] - }, - "ChargingLimitType": { - "javaType": "ChargingLimit", - "type": "object", - "additionalProperties": true, - "properties": { - "chargingLimitSource": { - "$ref": "#/definitions/ChargingLimitSourceEnumType" - }, - "isGridCritical": { - "type": "boolean" - } - }, - "required": [ - "chargingLimitSource" - ] - }, - "ChargingSchedulePeriodType": { - "javaType": "ChargingSchedulePeriod", - "type": "object", - "additionalProperties": true, - "properties": { - "startPeriod": { - "type": "integer" - }, - "limit": { - "type": "number" - }, - "numberPhases": { - "type": "integer" - }, - "phaseToUse": { - "type": "integer" - } - }, - "required": [ - "startPeriod", - "limit" - ] - }, - "ChargingScheduleType": { - "javaType": "ChargingSchedule", - "type": "object", - "additionalProperties": true, - "properties": { - "startSchedule": { - "type": "string", - "format": "date-time" - }, - "duration": { - "type": "integer" - }, - "chargingRateUnit": { - "$ref": "#/definitions/ChargingRateUnitEnumType" - }, - "chargingSchedulePeriod": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/ChargingSchedulePeriodType" - }, - "minItems": 1 - }, - "minChargingRate": { - "type": "number" - } - }, - "required": [ - "chargingRateUnit", - "chargingSchedulePeriod" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "chargingSchedule": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/ChargingScheduleType" - }, - "minItems": 1 - }, - "evseId": { - "type": "integer" - }, - "chargingLimit": { - "$ref": "#/definitions/ChargingLimitType" - } - }, - "required": [ - "chargingLimit" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyChargingLimitResponse_v1p0.json b/ocpp/v20/schemas/NotifyChargingLimitResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/NotifyChargingLimitResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyCustomerInformationRequest_v1p0.json b/ocpp/v20/schemas/NotifyCustomerInformationRequest_v1p0.json deleted file mode 100644 index b9086c1d2..000000000 --- a/ocpp/v20/schemas/NotifyCustomerInformationRequest_v1p0.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "data": { - "type": "string", - "maxLength": 512 - }, - "tbc": { - "type": "boolean" - }, - "seqNo": { - "type": "integer" - }, - "generatedAt": { - "type": "string", - "format": "date-time" - }, - "requestId": { - "type": "integer" - } - }, - "required": [ - "data", - "tbc", - "seqNo", - "generatedAt" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyCustomerInformationResponse_v1p0.json b/ocpp/v20/schemas/NotifyCustomerInformationResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/NotifyCustomerInformationResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyDisplayMessagesRequest_v1p0.json b/ocpp/v20/schemas/NotifyDisplayMessagesRequest_v1p0.json deleted file mode 100644 index a404c1882..000000000 --- a/ocpp/v20/schemas/NotifyDisplayMessagesRequest_v1p0.json +++ /dev/null @@ -1,156 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "MessageFormatEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ASCII", - "HTML", - "URI", - "UTF8" - ] - }, - "MessagePriorityEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "AlwaysFront", - "InFront", - "NormalCycle" - ] - }, - "MessageStateEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Charging", - "Faulted", - "Idle", - "Unavailable" - ] - }, - "ComponentType": { - "javaType": "Component", - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "MessageContentType": { - "javaType": "MessageContent", - "type": "object", - "additionalProperties": true, - "properties": { - "format": { - "$ref": "#/definitions/MessageFormatEnumType" - }, - "language": { - "type": "string", - "maxLength": 8 - }, - "content": { - "type": "string", - "maxLength": 512 - } - }, - "required": [ - "format", - "content" - ] - }, - "MessageInfoType": { - "javaType": "MessageInfo", - "type": "object", - "additionalProperties": true, - "properties": { - "display": { - "$ref": "#/definitions/ComponentType" - }, - "id": { - "type": "integer" - }, - "priority": { - "$ref": "#/definitions/MessagePriorityEnumType" - }, - "state": { - "$ref": "#/definitions/MessageStateEnumType" - }, - "startDateTime": { - "type": "string", - "format": "date-time" - }, - "endDateTime": { - "type": "string", - "format": "date-time" - }, - "transactionId": { - "type": "string", - "maxLength": 36 - }, - "message": { - "$ref": "#/definitions/MessageContentType" - } - }, - "required": [ - "id", - "priority", - "message" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "messageInfo": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/MessageInfoType" - }, - "minItems": 1 - }, - "requestId": { - "type": "integer" - }, - "tbc": { - "type": "boolean" - } - }, - "required": [ - "requestId", - "tbc", - "messageInfo" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyDisplayMessagesResponse_v1p0.json b/ocpp/v20/schemas/NotifyDisplayMessagesResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/NotifyDisplayMessagesResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyEVChargingNeedsRequest_v1p0.json b/ocpp/v20/schemas/NotifyEVChargingNeedsRequest_v1p0.json deleted file mode 100644 index 6515826df..000000000 --- a/ocpp/v20/schemas/NotifyEVChargingNeedsRequest_v1p0.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "EnergyTransferModeEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "AC_single_phase_core", - "AC_three_phase_core", - "DC_combo_core", - "DC_core", - "DC_extended", - "DC_unique" - ] - }, - "ACChargingParametersType": { - "javaType": "ACChargingParameters", - "type": "object", - "additionalProperties": true, - "properties": { - "energyAmount": { - "type": "integer" - }, - "evMinCurrent": { - "type": "integer" - }, - "evMaxCurrent": { - "type": "integer" - }, - "evMaxVoltage": { - "type": "integer" - } - }, - "required": [ - "energyAmount", - "evMinCurrent", - "evMaxCurrent", - "evMaxVoltage" - ] - }, - "ChargingNeedsType": { - "javaType": "ChargingNeeds", - "type": "object", - "additionalProperties": true, - "properties": { - "acChargingParameters": { - "$ref": "#/definitions/ACChargingParametersType" - }, - "dcChargingParameters": { - "$ref": "#/definitions/DCChargingParametersType" - }, - "requestedEnergyTransfer": { - "$ref": "#/definitions/EnergyTransferModeEnumType" - }, - "departureTime": { - "type": "string", - "format": "date-time" - } - }, - "required": [ - "requestedEnergyTransfer" - ] - }, - "DCChargingParametersType": { - "javaType": "DCChargingParameters", - "type": "object", - "additionalProperties": true, - "properties": { - "evMaxCurrent": { - "type": "integer" - }, - "evMaxVoltage": { - "type": "integer" - }, - "energyAmount": { - "type": "integer" - }, - "evMaxPower": { - "type": "integer" - }, - "stateOfCharge": { - "type": "integer", - "minimum": 0.0, - "maximum": 100.0 - }, - "evEnergyCapacity": { - "type": "integer" - }, - "fullSoC": { - "type": "integer", - "minimum": 0.0, - "maximum": 100.0 - }, - "bulkSoC": { - "type": "integer", - "minimum": 0.0, - "maximum": 100.0 - } - }, - "required": [ - "evMaxCurrent", - "evMaxVoltage" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "maxScheduleTuples": { - "type": "integer" - }, - "chargingNeeds": { - "$ref": "#/definitions/ChargingNeedsType" - }, - "evseId": { - "type": "integer" - } - }, - "required": [ - "evseId", - "chargingNeeds" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyEVChargingNeedsResponse_v1p0.json b/ocpp/v20/schemas/NotifyEVChargingNeedsResponse_v1p0.json deleted file mode 100644 index 268f2a526..000000000 --- a/ocpp/v20/schemas/NotifyEVChargingNeedsResponse_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "Processing" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyEVChargingScheduleRequest_v1p0.json b/ocpp/v20/schemas/NotifyEVChargingScheduleRequest_v1p0.json deleted file mode 100644 index 1bc701127..000000000 --- a/ocpp/v20/schemas/NotifyEVChargingScheduleRequest_v1p0.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "ChargingRateUnitEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "W", - "A" - ] - }, - "ChargingSchedulePeriodType": { - "javaType": "ChargingSchedulePeriod", - "type": "object", - "additionalProperties": true, - "properties": { - "startPeriod": { - "type": "integer" - }, - "limit": { - "type": "number" - }, - "numberPhases": { - "type": "integer" - }, - "phaseToUse": { - "type": "integer" - } - }, - "required": [ - "startPeriod", - "limit" - ] - }, - "ChargingScheduleType": { - "javaType": "ChargingSchedule", - "type": "object", - "additionalProperties": true, - "properties": { - "startSchedule": { - "type": "string", - "format": "date-time" - }, - "duration": { - "type": "integer" - }, - "chargingRateUnit": { - "$ref": "#/definitions/ChargingRateUnitEnumType" - }, - "chargingSchedulePeriod": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/ChargingSchedulePeriodType" - }, - "minItems": 1 - }, - "minChargingRate": { - "type": "number" - } - }, - "required": [ - "chargingRateUnit" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "timeBase": { - "type": "string", - "format": "date-time" - }, - "chargingSchedule": { - "$ref": "#/definitions/ChargingScheduleType" - }, - "evseId": { - "type": "integer" - } - }, - "required": [ - "timeBase", - "evseId", - "chargingSchedule" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyEVChargingScheduleResponse_v1p0.json b/ocpp/v20/schemas/NotifyEVChargingScheduleResponse_v1p0.json deleted file mode 100644 index 5cd67bdf0..000000000 --- a/ocpp/v20/schemas/NotifyEVChargingScheduleResponse_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyEventRequest_v1p0.json b/ocpp/v20/schemas/NotifyEventRequest_v1p0.json deleted file mode 100644 index dbb136f20..000000000 --- a/ocpp/v20/schemas/NotifyEventRequest_v1p0.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "EventTriggerEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Alerting", - "Delta", - "Periodic" - ] - }, - "MonitorEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "UpperThreshold", - "LowerThreshold", - "Delta", - "Periodic", - "PeriodicClockAligned" - ] - }, - "ComponentType": { - "javaType": "Component", - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - }, - "EventDataType": { - "javaType": "EventData", - "type": "object", - "additionalProperties": true, - "properties": { - "eventId": { - "type": "integer" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "trigger": { - "$ref": "#/definitions/EventTriggerEnumType" - }, - "cause": { - "type": "integer" - }, - "actualValue": { - "type": "string", - "maxLength": 1000 - }, - "techCode": { - "type": "string", - "maxLength": 50 - }, - "techInfo": { - "type": "string", - "maxLength": 500 - }, - "cleared": { - "type": "boolean" - }, - "component": { - "$ref": "#/definitions/ComponentType" - }, - "variable": { - "$ref": "#/definitions/VariableType" - }, - "variableMonitoringEvent": { - "$ref": "#/definitions/VariableMonitoringType" - } - }, - "required": [ - "eventId", - "timestamp", - "trigger", - "actualValue", - "cleared", - "component", - "variable" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "VariableMonitoringType": { - "javaType": "VariableMonitoring", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "value": { - "type": "number" - }, - "type": { - "$ref": "#/definitions/MonitorEnumType" - }, - "severity": { - "type": "integer" - }, - "transaction": { - "type": "boolean" - } - }, - "required": [ - "id", - "value", - "type", - "severity", - "transaction" - ] - }, - "VariableType": { - "javaType": "Variable", - "type": "object", - "additionalProperties": true, - "properties": { - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "generatedAt": { - "type": "string", - "format": "date-time" - }, - "tbc": { - "type": "boolean", - "default": "false" - }, - "seqNo": { - "type": "integer" - }, - "eventData": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/EventDataType" - }, - "minItems": 1 - } - }, - "required": [ - "generatedAt", - "tbc", - "seqNo", - "eventData" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyEventResponse_v1p0.json b/ocpp/v20/schemas/NotifyEventResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/NotifyEventResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyMonitoringReportRequest_v1p0.json b/ocpp/v20/schemas/NotifyMonitoringReportRequest_v1p0.json deleted file mode 100644 index ffb72d82d..000000000 --- a/ocpp/v20/schemas/NotifyMonitoringReportRequest_v1p0.json +++ /dev/null @@ -1,159 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "MonitorEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "UpperThreshold", - "LowerThreshold", - "Delta", - "Periodic", - "PeriodicClockAligned" - ] - }, - "ComponentType": { - "javaType": "Component", - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "MonitoringDataType": { - "javaType": "MonitoringData", - "type": "object", - "additionalProperties": true, - "properties": { - "component": { - "$ref": "#/definitions/ComponentType" - }, - "variable": { - "$ref": "#/definitions/VariableType" - }, - "variableMonitoring": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/VariableMonitoringType" - }, - "minItems": 1 - } - }, - "required": [ - "component", - "variable", - "variableMonitoring" - ] - }, - "VariableMonitoringType": { - "javaType": "VariableMonitoring", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "value": { - "type": "number" - }, - "type": { - "$ref": "#/definitions/MonitorEnumType" - }, - "severity": { - "type": "integer" - }, - "transaction": { - "type": "boolean" - } - }, - "required": [ - "id", - "value", - "type", - "severity", - "transaction" - ] - }, - "VariableType": { - "javaType": "Variable", - "type": "object", - "additionalProperties": true, - "properties": { - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "monitor": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/MonitoringDataType" - }, - "minItems": 1 - }, - "requestId": { - "type": "integer" - }, - "tbc": { - "type": "boolean", - "default": "false" - }, - "seqNo": { - "type": "integer" - }, - "generatedAt": { - "type": "string", - "format": "date-time" - } - }, - "required": [ - "tbc", - "seqNo", - "generatedAt", - "monitor" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyMonitoringReportResponse_v1p0.json b/ocpp/v20/schemas/NotifyMonitoringReportResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/NotifyMonitoringReportResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyReportRequest_v1p0.json b/ocpp/v20/schemas/NotifyReportRequest_v1p0.json deleted file mode 100644 index e374d2a3f..000000000 --- a/ocpp/v20/schemas/NotifyReportRequest_v1p0.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "AttributeEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Actual", - "Target", - "MinSet", - "MaxSet" - ] - }, - "DataEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "string", - "decimal", - "integer", - "dateTime", - "boolean", - "OptionList", - "SequenceList", - "MemberList" - ] - }, - "MutabilityEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ReadOnly", - "WriteOnly", - "ReadWrite" - ] - }, - "ComponentType": { - "javaType": "Component", - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "ReportDataType": { - "javaType": "ReportData", - "type": "object", - "additionalProperties": true, - "properties": { - "component": { - "$ref": "#/definitions/ComponentType" - }, - "variable": { - "$ref": "#/definitions/VariableType" - }, - "variableAttribute": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/VariableAttributeType" - }, - "minItems": 1, - "maxItems": 4 - }, - "variableCharacteristics": { - "$ref": "#/definitions/VariableCharacteristicsType" - } - }, - "required": [ - "component", - "variable", - "variableAttribute" - ] - }, - "VariableAttributeType": { - "javaType": "VariableAttribute", - "type": "object", - "additionalProperties": true, - "properties": { - "type": { - "$ref": "#/definitions/AttributeEnumType" - }, - "value": { - "type": "string", - "maxLength": 1000 - }, - "mutability": { - "$ref": "#/definitions/MutabilityEnumType" - }, - "persistence": { - "type": "boolean" - }, - "constant": { - "type": "boolean" - } - }, - "required": [ - "value", - "persistence", - "constant" - ] - }, - "VariableCharacteristicsType": { - "javaType": "VariableCharacteristics", - "type": "object", - "additionalProperties": true, - "properties": { - "unit": { - "type": "string", - "maxLength": 16 - }, - "dataType": { - "$ref": "#/definitions/DataEnumType" - }, - "minLimit": { - "type": "number" - }, - "maxLimit": { - "type": "number" - }, - "valuesList": { - "type": "string", - "maxLength": 1000 - }, - "supportsMonitoring": { - "type": "boolean" - } - }, - "required": [ - "dataType", - "supportsMonitoring" - ] - }, - "VariableType": { - "javaType": "Variable", - "type": "object", - "additionalProperties": true, - "properties": { - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "requestId": { - "type": "integer" - }, - "generatedAt": { - "type": "string", - "format": "date-time" - }, - "reportData": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/ReportDataType" - }, - "minItems": 1 - }, - "tbc": { - "type": "boolean", - "default": "false" - }, - "seqNo": { - "type": "integer" - } - }, - "required": [ - "generatedAt", - "tbc", - "seqNo", - "reportData" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/NotifyReportResponse_v1p0.json b/ocpp/v20/schemas/NotifyReportResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/NotifyReportResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/PublishFirmwareRequest_v1p0.json b/ocpp/v20/schemas/PublishFirmwareRequest_v1p0.json deleted file mode 100644 index dae0dd788..000000000 --- a/ocpp/v20/schemas/PublishFirmwareRequest_v1p0.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "location": { - "type": "string", - "maxLength": 512 - }, - "retries": { - "type": "integer" - }, - "checksum": { - "type": "string", - "maxLength": 32 - } - }, - "required": [ - "location", - "checksum" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/PublishFirmwareResponse_v1p0.json b/ocpp/v20/schemas/PublishFirmwareResponse_v1p0.json deleted file mode 100644 index 5cd67bdf0..000000000 --- a/ocpp/v20/schemas/PublishFirmwareResponse_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/PublishFirmwareStatusNotificationRequest_v1p0.json b/ocpp/v20/schemas/PublishFirmwareStatusNotificationRequest_v1p0.json deleted file mode 100644 index ec224a7bd..000000000 --- a/ocpp/v20/schemas/PublishFirmwareStatusNotificationRequest_v1p0.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Downloaded", - "DownloadFailed", - "Downloading", - "DownloadScheduled", - "DownloadPaused", - "PublishFailed", - "Published", - "InvalidChecksum", - "ChecksumVerified" - ] - }, - "location": { - "type": "string", - "maxLength": 512 - } - }, - "required": [ - "status" - ] -} diff --git a/ocpp/v20/schemas/PublishFirmwareStatusNotificationResponse_v1p0.json b/ocpp/v20/schemas/PublishFirmwareStatusNotificationResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/PublishFirmwareStatusNotificationResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/Renegotiate15118ScheduleRequest_v1p0.json b/ocpp/v20/schemas/Renegotiate15118ScheduleRequest_v1p0.json deleted file mode 100644 index 6ed92a5ac..000000000 --- a/ocpp/v20/schemas/Renegotiate15118ScheduleRequest_v1p0.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - } - }, - "required": [ - "evse" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/Renegotiate15118ScheduleResponse_v1p0.json b/ocpp/v20/schemas/Renegotiate15118ScheduleResponse_v1p0.json deleted file mode 100644 index 5cd67bdf0..000000000 --- a/ocpp/v20/schemas/Renegotiate15118ScheduleResponse_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ReportChargingProfilesRequest_v1p0.json b/ocpp/v20/schemas/ReportChargingProfilesRequest_v1p0.json deleted file mode 100644 index f2e4eac81..000000000 --- a/ocpp/v20/schemas/ReportChargingProfilesRequest_v1p0.json +++ /dev/null @@ -1,182 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "ChargingLimitSourceEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "EMS", - "Other", - "SO", - "CSO" - ] - }, - "ChargingProfileKindEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Absolute", - "Recurring", - "Relative" - ] - }, - "ChargingProfilePurposeEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ChargingStationExternalConstraints", - "ChargingStationMaxProfile", - "TxDefaultProfile", - "TxProfile" - ] - }, - "ChargingRateUnitEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "W", - "A" - ] - }, - "RecurrencyKindEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Daily", - "Weekly" - ] - }, - "ChargingProfileType": { - "javaType": "ChargingProfile", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "stackLevel": { - "type": "integer" - }, - "primary": { - "type": "boolean" - }, - "chargingProfilePurpose": { - "$ref": "#/definitions/ChargingProfilePurposeEnumType" - }, - "chargingProfileKind": { - "$ref": "#/definitions/ChargingProfileKindEnumType" - }, - "recurrencyKind": { - "$ref": "#/definitions/RecurrencyKindEnumType" - }, - "validFrom": { - "type": "string", - "format": "date-time" - }, - "validTo": { - "type": "string", - "format": "date-time" - }, - "chargingSchedule": { - "$ref": "#/definitions/ChargingScheduleType" - }, - "transactionId": { - "type": "string", - "maxLength": 36 - } - }, - "required": [ - "id", - "stackLevel", - "chargingProfilePurpose", - "chargingProfileKind", - "chargingSchedule" - ] - }, - "ChargingSchedulePeriodType": { - "javaType": "ChargingSchedulePeriod", - "type": "object", - "additionalProperties": true, - "properties": { - "startPeriod": { - "type": "integer" - }, - "limit": { - "type": "number" - }, - "numberPhases": { - "type": "integer" - }, - "phaseToUse": { - "type": "integer" - } - }, - "required": [ - "startPeriod", - "limit" - ] - }, - "ChargingScheduleType": { - "javaType": "ChargingSchedule", - "type": "object", - "additionalProperties": true, - "properties": { - "startSchedule": { - "type": "string", - "format": "date-time" - }, - "duration": { - "type": "integer" - }, - "chargingRateUnit": { - "$ref": "#/definitions/ChargingRateUnitEnumType" - }, - "chargingSchedulePeriod": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/ChargingSchedulePeriodType" - }, - "minItems": 1 - }, - "minChargingRate": { - "type": "number" - } - }, - "required": [ - "chargingRateUnit", - "chargingSchedulePeriod" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "requestId": { - "type": "integer" - }, - "chargingLimitSource": { - "$ref": "#/definitions/ChargingLimitSourceEnumType" - }, - "chargingProfile": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/ChargingProfileType" - }, - "minItems": 1 - }, - "tbc": { - "type": "boolean" - }, - "evseId": { - "type": "integer" - } - }, - "required": [ - "chargingLimitSource", - "evseId", - "chargingProfile" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ReportChargingProfilesResponse_v1p0.json b/ocpp/v20/schemas/ReportChargingProfilesResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/ReportChargingProfilesResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/RequestStartTransactionRequest_v1p0.json b/ocpp/v20/schemas/RequestStartTransactionRequest_v1p0.json deleted file mode 100644 index 5305d28dd..000000000 --- a/ocpp/v20/schemas/RequestStartTransactionRequest_v1p0.json +++ /dev/null @@ -1,221 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "ChargingProfileKindEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Absolute", - "Recurring", - "Relative" - ] - }, - "ChargingProfilePurposeEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ChargingStationExternalConstraints", - "ChargingStationMaxProfile", - "TxDefaultProfile", - "TxProfile" - ] - }, - "ChargingRateUnitEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "W", - "A" - ] - }, - "IdTokenEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Central", - "eMAID", - "ISO14443", - "KeyCode", - "Local", - "NoAuthorization", - "ISO15693" - ] - }, - "RecurrencyKindEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Daily", - "Weekly" - ] - }, - "AdditionalInfoType": { - "javaType": "AdditionalInfo", - "type": "object", - "additionalProperties": true, - "properties": { - "additionalIdToken": { - "type": "string", - "maxLength": 36 - }, - "type": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "additionalIdToken", - "type" - ] - }, - "ChargingProfileType": { - "javaType": "ChargingProfile", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "stackLevel": { - "type": "integer" - }, - "primary": { - "type": "boolean" - }, - "chargingProfilePurpose": { - "$ref": "#/definitions/ChargingProfilePurposeEnumType" - }, - "chargingProfileKind": { - "$ref": "#/definitions/ChargingProfileKindEnumType" - }, - "recurrencyKind": { - "$ref": "#/definitions/RecurrencyKindEnumType" - }, - "validFrom": { - "type": "string", - "format": "date-time" - }, - "validTo": { - "type": "string", - "format": "date-time" - }, - "chargingSchedule": { - "$ref": "#/definitions/ChargingScheduleType" - }, - "transactionId": { - "type": "string", - "maxLength": 36 - } - }, - "required": [ - "id", - "stackLevel", - "chargingProfilePurpose", - "chargingProfileKind", - "chargingSchedule" - ] - }, - "ChargingSchedulePeriodType": { - "javaType": "ChargingSchedulePeriod", - "type": "object", - "additionalProperties": true, - "properties": { - "startPeriod": { - "type": "integer" - }, - "limit": { - "type": "number" - }, - "numberPhases": { - "type": "integer" - }, - "phaseToUse": { - "type": "integer" - } - }, - "required": [ - "startPeriod", - "limit" - ] - }, - "ChargingScheduleType": { - "javaType": "ChargingSchedule", - "type": "object", - "additionalProperties": true, - "properties": { - "startSchedule": { - "type": "string", - "format": "date-time" - }, - "duration": { - "type": "integer" - }, - "chargingRateUnit": { - "$ref": "#/definitions/ChargingRateUnitEnumType" - }, - "chargingSchedulePeriod": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/ChargingSchedulePeriodType" - }, - "minItems": 1 - }, - "minChargingRate": { - "type": "number" - } - }, - "required": [ - "chargingRateUnit", - "chargingSchedulePeriod" - ] - }, - "IdTokenType": { - "javaType": "IdToken", - "type": "object", - "additionalProperties": true, - "properties": { - "additionalInfo": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/AdditionalInfoType" - }, - "minItems": 1 - }, - "idToken": { - "type": "string", - "maxLength": 36 - }, - "type": { - "$ref": "#/definitions/IdTokenEnumType" - } - }, - "required": [ - "idToken", - "type" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "evseId": { - "type": "integer" - }, - "idToken": { - "$ref": "#/definitions/IdTokenType" - }, - "remoteStartId": { - "type": "integer" - }, - "chargingProfile": { - "$ref": "#/definitions/ChargingProfileType" - } - }, - "required": [ - "remoteStartId", - "idToken" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/RequestStartTransactionResponse_v1p0.json b/ocpp/v20/schemas/RequestStartTransactionResponse_v1p0.json deleted file mode 100644 index 3ed196659..000000000 --- a/ocpp/v20/schemas/RequestStartTransactionResponse_v1p0.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected" - ] - }, - "transactionId": { - "type": "string", - "maxLength": 36 - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/RequestStopTransactionRequest_v1p0.json b/ocpp/v20/schemas/RequestStopTransactionRequest_v1p0.json deleted file mode 100644 index c07587106..000000000 --- a/ocpp/v20/schemas/RequestStopTransactionRequest_v1p0.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "transactionId": { - "type": "string", - "maxLength": 36 - } - }, - "required": [ - "transactionId" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/RequestStopTransactionResponse_v1p0.json b/ocpp/v20/schemas/RequestStopTransactionResponse_v1p0.json deleted file mode 100644 index 5cd67bdf0..000000000 --- a/ocpp/v20/schemas/RequestStopTransactionResponse_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ReservationStatusUpdateRequest_v1p0.json b/ocpp/v20/schemas/ReservationStatusUpdateRequest_v1p0.json deleted file mode 100644 index 615f9cad6..000000000 --- a/ocpp/v20/schemas/ReservationStatusUpdateRequest_v1p0.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "reservationId": { - "type": "integer" - }, - "reservationUpdateStatus": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Expired", - "Removed" - ] - } - }, - "required": [ - "reservationId", - "reservationUpdateStatus" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ReservationStatusUpdateResponse_v1p0.json b/ocpp/v20/schemas/ReservationStatusUpdateResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/ReservationStatusUpdateResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ReserveNowRequest_v1p0.json b/ocpp/v20/schemas/ReserveNowRequest_v1p0.json deleted file mode 100644 index f0198bcdf..000000000 --- a/ocpp/v20/schemas/ReserveNowRequest_v1p0.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "ConnectorEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "cCCS1", - "cCCS2", - "cG105", - "cTesla", - "cType1", - "cType2", - "s309-1P-16A", - "s309-1P-32A", - "s309-3P-16A", - "s309-3P-32A", - "sBS1361", - "sCEE-7-7", - "sType2", - "sType3", - "Other1PhMax16A", - "Other1PhOver16A", - "Other3Ph", - "Pan", - "wInductive", - "wResonant", - "Undetermined", - "Unknown" - ] - }, - "IdTokenEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Central", - "eMAID", - "ISO14443", - "KeyCode", - "Local", - "NoAuthorization", - "ISO15693" - ] - }, - "AdditionalInfoType": { - "javaType": "AdditionalInfo", - "type": "object", - "additionalProperties": true, - "properties": { - "additionalIdToken": { - "type": "string", - "maxLength": 36 - }, - "type": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "additionalIdToken", - "type" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "IdTokenType": { - "javaType": "IdToken", - "type": "object", - "additionalProperties": true, - "properties": { - "additionalInfo": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/AdditionalInfoType" - }, - "minItems": 1 - }, - "idToken": { - "type": "string", - "maxLength": 36 - }, - "type": { - "$ref": "#/definitions/IdTokenEnumType" - } - }, - "required": [ - "idToken", - "type" - ] - }, - "ReservationType": { - "javaType": "Reservation", - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "id": { - "type": "integer" - }, - "expiryDateTime": { - "type": "string", - "format": "date-time" - }, - "connectorCode": { - "$ref": "#/definitions/ConnectorEnumType" - } - }, - "required": [ - "id", - "expiryDateTime", - "evse" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "idToken": { - "$ref": "#/definitions/IdTokenType" - }, - "groupIdToken": { - "$ref": "#/definitions/IdTokenType" - }, - "reservation": { - "$ref": "#/definitions/ReservationType" - } - }, - "required": [ - "idToken", - "reservation" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ReserveNowResponse_v1p0.json b/ocpp/v20/schemas/ReserveNowResponse_v1p0.json deleted file mode 100644 index da6ea53ac..000000000 --- a/ocpp/v20/schemas/ReserveNowResponse_v1p0.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Faulted", - "Occupied", - "Rejected", - "Unavailable" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ResetRequest_v1p0.json b/ocpp/v20/schemas/ResetRequest_v1p0.json deleted file mode 100644 index c52f98a68..000000000 --- a/ocpp/v20/schemas/ResetRequest_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "type": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Immediate", - "OnIdle" - ] - } - }, - "required": [ - "type" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/ResetResponse_v1p0.json b/ocpp/v20/schemas/ResetResponse_v1p0.json deleted file mode 100644 index e839d6d2d..000000000 --- a/ocpp/v20/schemas/ResetResponse_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "Scheduled" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SecurityEventNotificationRequest_v1p0.json b/ocpp/v20/schemas/SecurityEventNotificationRequest_v1p0.json deleted file mode 100644 index d2ea5defe..000000000 --- a/ocpp/v20/schemas/SecurityEventNotificationRequest_v1p0.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "type": { - "type": "string", - "additionalProperties": true, - "enum": [ - "FirmwareUpdated", - "FailedToAuthenticateAtCsms", - "CsmsFailedToAuthenticate", - "SettingSystemTime", - "StartupOfTheDevice", - "ResetOrReboot", - "SecurityLogWasCleared", - "ReconfigurationOfSecurityParameters", - "MemoryExhaustion", - "InvalidMessages", - "AttemptedReplayAttacks", - "TamperDetectionActivated", - "InvalidFirmwareSignature", - "InvalidFirmwareSigningCertificate", - "InvalidCsmsCertificate", - "InvalidChargingStationCertificate", - "InvalidTLSVersion", - "InvalidTLSCipherSuite" - ] - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "required": [ - "type", - "timestamp" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SecurityEventNotificationResponse_v1p0.json b/ocpp/v20/schemas/SecurityEventNotificationResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/SecurityEventNotificationResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SendLocalListRequest_v1p0.json b/ocpp/v20/schemas/SendLocalListRequest_v1p0.json deleted file mode 100644 index 6482dc2e2..000000000 --- a/ocpp/v20/schemas/SendLocalListRequest_v1p0.json +++ /dev/null @@ -1,210 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "AuthorizationStatusEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Blocked", - "ConcurrentTx", - "Expired", - "Invalid", - "NoCredit", - "NotAllowedTypeEVSE", - "NotAtThisLocation", - "NotAtThisTime", - "Unknown" - ] - }, - "IdTokenEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Central", - "eMAID", - "ISO14443", - "KeyCode", - "Local", - "NoAuthorization", - "ISO15693" - ] - }, - "MessageFormatEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ASCII", - "HTML", - "URI", - "UTF8" - ] - }, - "UpdateEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Differential", - "Full" - ] - }, - "AdditionalInfoType": { - "javaType": "AdditionalInfo", - "type": "object", - "additionalProperties": true, - "properties": { - "additionalIdToken": { - "type": "string", - "maxLength": 36 - }, - "type": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "additionalIdToken", - "type" - ] - }, - "AuthorizationData": { - "javaType": "AuthorizationData", - "type": "object", - "additionalProperties": true, - "properties": { - "idToken": { - "$ref": "#/definitions/IdTokenType" - }, - "idTokenInfo": { - "$ref": "#/definitions/IdTokenInfoType" - } - }, - "required": [ - "idToken" - ] - }, - "GroupIdTokenType": { - "javaType": "GroupIdToken", - "type": "object", - "additionalProperties": true, - "properties": { - "idToken": { - "type": "string", - "maxLength": 36 - }, - "type": { - "$ref": "#/definitions/IdTokenEnumType" - } - }, - "required": [ - "idToken", - "type" - ] - }, - "IdTokenInfoType": { - "javaType": "IdTokenInfo", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "$ref": "#/definitions/AuthorizationStatusEnumType" - }, - "cacheExpiryDateTime": { - "type": "string", - "format": "date-time" - }, - "chargingPriority": { - "type": "integer" - }, - "groupIdToken": { - "$ref": "#/definitions/GroupIdTokenType" - }, - "language1": { - "type": "string", - "maxLength": 8 - }, - "language2": { - "type": "string", - "maxLength": 8 - }, - "personalMessage": { - "$ref": "#/definitions/MessageContentType" - } - }, - "required": [ - "status" - ] - }, - "IdTokenType": { - "javaType": "IdToken", - "type": "object", - "additionalProperties": true, - "properties": { - "additionalInfo": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/AdditionalInfoType" - }, - "minItems": 1 - }, - "idToken": { - "type": "string", - "maxLength": 36 - }, - "type": { - "$ref": "#/definitions/IdTokenEnumType" - } - }, - "required": [ - "idToken", - "type" - ] - }, - "MessageContentType": { - "javaType": "MessageContent", - "type": "object", - "additionalProperties": true, - "properties": { - "format": { - "$ref": "#/definitions/MessageFormatEnumType" - }, - "language": { - "type": "string", - "maxLength": 8 - }, - "content": { - "type": "string", - "maxLength": 512 - } - }, - "required": [ - "format", - "content" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "localAuthorizationList": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/AuthorizationData" - }, - "minItems": 1 - }, - "versionNumber": { - "type": "integer" - }, - "updateType": { - "$ref": "#/definitions/UpdateEnumType" - } - }, - "required": [ - "versionNumber", - "updateType" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SendLocalListResponse_v1p0.json b/ocpp/v20/schemas/SendLocalListResponse_v1p0.json deleted file mode 100644 index 8fd3949aa..000000000 --- a/ocpp/v20/schemas/SendLocalListResponse_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Failed", - "VersionMismatch" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SetChargingProfileRequest_v1p0.json b/ocpp/v20/schemas/SetChargingProfileRequest_v1p0.json deleted file mode 100644 index bdf6023d8..000000000 --- a/ocpp/v20/schemas/SetChargingProfileRequest_v1p0.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "ChargingProfileKindEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Absolute", - "Recurring", - "Relative" - ] - }, - "ChargingProfilePurposeEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ChargingStationExternalConstraints", - "ChargingStationMaxProfile", - "TxDefaultProfile", - "TxProfile" - ] - }, - "ChargingRateUnitEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "W", - "A" - ] - }, - "RecurrencyKindEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Daily", - "Weekly" - ] - }, - "ChargingProfileType": { - "javaType": "ChargingProfile", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "stackLevel": { - "type": "integer" - }, - "primary": { - "type": "boolean" - }, - "chargingProfilePurpose": { - "$ref": "#/definitions/ChargingProfilePurposeEnumType" - }, - "chargingProfileKind": { - "$ref": "#/definitions/ChargingProfileKindEnumType" - }, - "recurrencyKind": { - "$ref": "#/definitions/RecurrencyKindEnumType" - }, - "validFrom": { - "type": "string", - "format": "date-time" - }, - "validTo": { - "type": "string", - "format": "date-time" - }, - "chargingSchedule": { - "$ref": "#/definitions/ChargingScheduleType" - }, - "transactionId": { - "type": "string", - "maxLength": 36 - } - }, - "required": [ - "id", - "stackLevel", - "chargingProfilePurpose", - "chargingProfileKind", - "chargingSchedule" - ] - }, - "ChargingSchedulePeriodType": { - "javaType": "ChargingSchedulePeriod", - "type": "object", - "additionalProperties": true, - "properties": { - "startPeriod": { - "type": "integer" - }, - "limit": { - "type": "number" - }, - "numberPhases": { - "type": "integer" - }, - "phaseToUse": { - "type": "integer" - } - }, - "required": [ - "startPeriod", - "limit" - ] - }, - "ChargingScheduleType": { - "javaType": "ChargingSchedule", - "type": "object", - "additionalProperties": true, - "properties": { - "startSchedule": { - "type": "string", - "format": "date-time" - }, - "duration": { - "type": "integer" - }, - "chargingRateUnit": { - "$ref": "#/definitions/ChargingRateUnitEnumType" - }, - "chargingSchedulePeriod": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/ChargingSchedulePeriodType" - }, - "minItems": 1 - }, - "minChargingRate": { - "type": "number" - } - }, - "required": [ - "chargingRateUnit", - "chargingSchedulePeriod" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "evseId": { - "type": "integer" - }, - "chargingProfile": { - "$ref": "#/definitions/ChargingProfileType" - } - }, - "required": [ - "evseId", - "chargingProfile" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SetChargingProfileResponse_v1p0.json b/ocpp/v20/schemas/SetChargingProfileResponse_v1p0.json deleted file mode 100644 index 5cd67bdf0..000000000 --- a/ocpp/v20/schemas/SetChargingProfileResponse_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SetDisplayMessageRequest_v1p0.json b/ocpp/v20/schemas/SetDisplayMessageRequest_v1p0.json deleted file mode 100644 index 24dcf89ab..000000000 --- a/ocpp/v20/schemas/SetDisplayMessageRequest_v1p0.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "MessageFormatEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ASCII", - "HTML", - "URI", - "UTF8" - ] - }, - "MessagePriorityEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "AlwaysFront", - "InFront", - "NormalCycle" - ] - }, - "MessageStateEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Charging", - "Faulted", - "Idle", - "Unavailable" - ] - }, - "ComponentType": { - "javaType": "Component", - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "MessageContentType": { - "javaType": "MessageContent", - "type": "object", - "additionalProperties": true, - "properties": { - "format": { - "$ref": "#/definitions/MessageFormatEnumType" - }, - "language": { - "type": "string", - "maxLength": 8 - }, - "content": { - "type": "string", - "maxLength": 512 - } - }, - "required": [ - "format", - "content" - ] - }, - "MessageInfoType": { - "javaType": "MessageInfo", - "type": "object", - "additionalProperties": true, - "properties": { - "display": { - "$ref": "#/definitions/ComponentType" - }, - "id": { - "type": "integer" - }, - "priority": { - "$ref": "#/definitions/MessagePriorityEnumType" - }, - "state": { - "$ref": "#/definitions/MessageStateEnumType" - }, - "startDateTime": { - "type": "string", - "format": "date-time" - }, - "endDateTime": { - "type": "string", - "format": "date-time" - }, - "transactionId": { - "type": "string", - "maxLength": 36 - }, - "message": { - "$ref": "#/definitions/MessageContentType" - } - }, - "required": [ - "id", - "priority", - "message" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "message": { - "$ref": "#/definitions/MessageInfoType" - } - }, - "required": [ - "message" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SetDisplayMessageResponse_v1p0.json b/ocpp/v20/schemas/SetDisplayMessageResponse_v1p0.json deleted file mode 100644 index a2a5431c4..000000000 --- a/ocpp/v20/schemas/SetDisplayMessageResponse_v1p0.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "NotSupportedMessageFormat", - "Rejected", - "NotSupportedPriority", - "NotSupportedState", - "UnknownTransaction" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SetMonitoringBaseRequest_v1p0.json b/ocpp/v20/schemas/SetMonitoringBaseRequest_v1p0.json deleted file mode 100644 index 7808ad5f1..000000000 --- a/ocpp/v20/schemas/SetMonitoringBaseRequest_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "monitoringBase": { - "type": "string", - "additionalProperties": true, - "enum": [ - "All", - "FactoryDefault", - "None" - ] - } - }, - "required": [ - "monitoringBase" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SetMonitoringBaseResponse_v1p0.json b/ocpp/v20/schemas/SetMonitoringBaseResponse_v1p0.json deleted file mode 100644 index 59370c308..000000000 --- a/ocpp/v20/schemas/SetMonitoringBaseResponse_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "NotSupported" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SetMonitoringLevelRequest_v1p0.json b/ocpp/v20/schemas/SetMonitoringLevelRequest_v1p0.json deleted file mode 100644 index 723338a6d..000000000 --- a/ocpp/v20/schemas/SetMonitoringLevelRequest_v1p0.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "severity": { - "type": "integer" - } - }, - "required": [ - "severity" - ] -} - diff --git a/ocpp/v20/schemas/SetMonitoringLevelResponse_v1p0.json b/ocpp/v20/schemas/SetMonitoringLevelResponse_v1p0.json deleted file mode 100644 index 8b143014a..000000000 --- a/ocpp/v20/schemas/SetMonitoringLevelResponse_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected" - ] - } - }, - "required": [ - "status" - ] -} - diff --git a/ocpp/v20/schemas/SetNetworkProfileRequest_v1p0.json b/ocpp/v20/schemas/SetNetworkProfileRequest_v1p0.json deleted file mode 100644 index 3972a9380..000000000 --- a/ocpp/v20/schemas/SetNetworkProfileRequest_v1p0.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "APNAuthenticationEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "CHAP", - "NONE", - "PAP", - "AUTO" - ] - }, - "OCPPInterfaceEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Wired0", - "Wired1", - "Wired2", - "Wired3", - "Wireless0", - "Wireless1", - "Wireless2", - "Wireless3" - ] - }, - "OCPPTransportEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "JSON", - "SOAP" - ] - }, - "OCPPVersionEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "OCPP12", - "OCPP15", - "OCPP16", - "OCPP20" - ] - }, - "VPNEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "IKEv2", - "IPSec", - "L2TP", - "PPTP" - ] - }, - "APNType": { - "javaType": "APN", - "type": "object", - "additionalProperties": true, - "properties": { - "apn": { - "type": "string", - "maxLength": 512 - }, - "apnUserName": { - "type": "string", - "maxLength": 20 - }, - "apnPassword": { - "type": "string", - "maxLength": 20 - }, - "simPin": { - "type": "integer" - }, - "preferredNetwork": { - "type": "string", - "maxLength": 6 - }, - "useOnlyPreferredNetwork": { - "type": "boolean" - }, - "apnAuthentication": { - "$ref": "#/definitions/APNAuthenticationEnumType" - } - }, - "required": [ - "apn", - "apnAuthentication" - ] - }, - "NetworkConnectionProfileType": { - "javaType": "NetworkConnectionProfile", - "type": "object", - "additionalProperties": true, - "properties": { - "apn": { - "$ref": "#/definitions/APNType" - }, - "ocppVersion": { - "$ref": "#/definitions/OCPPVersionEnumType" - }, - "ocppTransport": { - "$ref": "#/definitions/OCPPTransportEnumType" - }, - "ocppCsmsUrl": { - "type": "string", - "maxLength": 512 - }, - "messageTimeout": { - "type": "integer" - }, - "ocppInterface": { - "$ref": "#/definitions/OCPPInterfaceEnumType" - }, - "vpn": { - "$ref": "#/definitions/VPNType" - } - }, - "required": [ - "ocppVersion", - "ocppTransport", - "ocppCsmsUrl", - "messageTimeout", - "ocppInterface" - ] - }, - "VPNType": { - "javaType": "VPN", - "type": "object", - "additionalProperties": true, - "properties": { - "server": { - "type": "string", - "maxLength": 512 - }, - "user": { - "type": "string", - "maxLength": 20 - }, - "group": { - "type": "string", - "maxLength": 20 - }, - "password": { - "type": "string", - "maxLength": 20 - }, - "key": { - "type": "string", - "maxLength": 255 - }, - "type": { - "$ref": "#/definitions/VPNEnumType" - } - }, - "required": [ - "server", - "user", - "password", - "key", - "type" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "configurationSlot": { - "type": "integer" - }, - "connectionData": { - "$ref": "#/definitions/NetworkConnectionProfileType" - } - }, - "required": [ - "configurationSlot", - "connectionData" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SetNetworkProfileResponse_v1p0.json b/ocpp/v20/schemas/SetNetworkProfileResponse_v1p0.json deleted file mode 100644 index 896af00ac..000000000 --- a/ocpp/v20/schemas/SetNetworkProfileResponse_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "Failed" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SetVariableMonitoringRequest_v1p0.json b/ocpp/v20/schemas/SetVariableMonitoringRequest_v1p0.json deleted file mode 100644 index 8f45e028b..000000000 --- a/ocpp/v20/schemas/SetVariableMonitoringRequest_v1p0.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "MonitorEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "UpperThreshold", - "LowerThreshold", - "Delta", - "Periodic", - "PeriodicClockAligned" - ] - }, - "ComponentType": { - "javaType": "Component", - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "SetMonitoringDataType": { - "javaType": "SetMonitoringData", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "value": { - "type": "number" - }, - "type": { - "$ref": "#/definitions/MonitorEnumType" - }, - "severity": { - "type": "integer" - }, - "transaction": { - "type": "boolean" - }, - "component": { - "$ref": "#/definitions/ComponentType" - }, - "variable": { - "$ref": "#/definitions/VariableType" - } - }, - "required": [ - "value", - "type", - "severity", - "component", - "variable" - ] - }, - "VariableType": { - "javaType": "Variable", - "type": "object", - "additionalProperties": true, - "properties": { - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "setMonitoringData": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/SetMonitoringDataType" - }, - "minItems": 1 - } - }, - "required": [ - "setMonitoringData" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SetVariableMonitoringResponse_v1p0.json b/ocpp/v20/schemas/SetVariableMonitoringResponse_v1p0.json deleted file mode 100644 index 07d93730f..000000000 --- a/ocpp/v20/schemas/SetVariableMonitoringResponse_v1p0.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "MonitorEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "UpperThreshold", - "LowerThreshold", - "Delta", - "Periodic", - "PeriodicClockAligned" - ] - }, - "SetMonitoringStatusEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "UnknownComponent", - "UnknownVariable", - "UnsupportedMonitorType", - "Rejected", - "OutOfRange", - "Duplicate" - ] - }, - "ComponentType": { - "javaType": "Component", - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "SetMonitoringResultType": { - "javaType": "SetMonitoringResult", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "type": { - "$ref": "#/definitions/MonitorEnumType" - }, - "severity": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/SetMonitoringStatusEnumType" - }, - "component": { - "$ref": "#/definitions/ComponentType" - }, - "variable": { - "$ref": "#/definitions/VariableType" - } - }, - "required": [ - "type", - "severity", - "status", - "component", - "variable" - ] - }, - "VariableType": { - "javaType": "Variable", - "type": "object", - "additionalProperties": true, - "properties": { - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "setMonitoringResult": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/SetMonitoringResultType" - }, - "minItems": 1 - } - }, - "required": [ - "setMonitoringResult" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SetVariablesRequest_v1p0.json b/ocpp/v20/schemas/SetVariablesRequest_v1p0.json deleted file mode 100644 index 32424c9cb..000000000 --- a/ocpp/v20/schemas/SetVariablesRequest_v1p0.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "AttributeEnumType": { - "type": "string", - "default": "Actual", - "additionalProperties": true, - "enum": [ - "Actual", - "Target", - "MinSet", - "MaxSet" - ] - }, - "ComponentType": { - "javaType": "Component", - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "SetVariableDataType": { - "javaType": "SetVariableData", - "type": "object", - "additionalProperties": true, - "properties": { - "attributeType": { - "$ref": "#/definitions/AttributeEnumType" - }, - "attributeValue": { - "type": "string", - "maxLength": 1000 - }, - "component": { - "$ref": "#/definitions/ComponentType" - }, - "variable": { - "$ref": "#/definitions/VariableType" - } - }, - "required": [ - "attributeValue", - "component", - "variable" - ] - }, - "VariableType": { - "javaType": "Variable", - "type": "object", - "additionalProperties": true, - "properties": { - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "setVariableData": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/SetVariableDataType" - }, - "minItems": 1 - } - }, - "required": [ - "setVariableData" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SetVariablesResponse_v1p0.json b/ocpp/v20/schemas/SetVariablesResponse_v1p0.json deleted file mode 100644 index 4ae7f683a..000000000 --- a/ocpp/v20/schemas/SetVariablesResponse_v1p0.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "AttributeEnumType": { - "type": "string", - "default": "Actual", - "additionalProperties": true, - "enum": [ - "Actual", - "Target", - "MinSet", - "MaxSet" - ] - }, - "SetVariableStatusEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "InvalidValue", - "UnknownComponent", - "UnknownVariable", - "NotSupportedAttributeType", - "OutOfRange", - "RebootRequired" - ] - }, - "ComponentType": { - "javaType": "Component", - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "SetVariableResultType": { - "javaType": "SetVariableResult", - "type": "object", - "additionalProperties": true, - "properties": { - "attributeType": { - "$ref": "#/definitions/AttributeEnumType" - }, - "attributeStatus": { - "$ref": "#/definitions/SetVariableStatusEnumType" - }, - "component": { - "$ref": "#/definitions/ComponentType" - }, - "variable": { - "$ref": "#/definitions/VariableType" - } - }, - "required": [ - "attributeStatus", - "component", - "variable" - ] - }, - "VariableType": { - "javaType": "Variable", - "type": "object", - "additionalProperties": true, - "properties": { - "name": { - "type": "string", - "maxLength": 50 - }, - "instance": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "name" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "setVariableResult": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/SetVariableResultType" - }, - "minItems": 1 - } - }, - "required": [ - "setVariableResult" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SignCertificateRequest_v1p0.json b/ocpp/v20/schemas/SignCertificateRequest_v1p0.json deleted file mode 100644 index e3b212769..000000000 --- a/ocpp/v20/schemas/SignCertificateRequest_v1p0.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "csr": { - "type": "string", - "maxLength": 800 - }, - "typeOfCertificate": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ChargingStationCertificate", - "V2GCertificate" - ] - } - }, - "required": [ - "csr" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/SignCertificateResponse_v1p0.json b/ocpp/v20/schemas/SignCertificateResponse_v1p0.json deleted file mode 100644 index 5cd67bdf0..000000000 --- a/ocpp/v20/schemas/SignCertificateResponse_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/StatusNotificationRequest_v1p0.json b/ocpp/v20/schemas/StatusNotificationRequest_v1p0.json deleted file mode 100644 index 2759d6fa2..000000000 --- a/ocpp/v20/schemas/StatusNotificationRequest_v1p0.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "timestamp": { - "type": "string", - "format": "date-time" - }, - "connectorStatus": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Available", - "Occupied", - "Reserved", - "Unavailable", - "Faulted" - ] - }, - "evseId": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "timestamp", - "connectorStatus", - "evseId", - "connectorId" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/StatusNotificationResponse_v1p0.json b/ocpp/v20/schemas/StatusNotificationResponse_v1p0.json deleted file mode 100644 index 49b69e9fd..000000000 --- a/ocpp/v20/schemas/StatusNotificationResponse_v1p0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true -} \ No newline at end of file diff --git a/ocpp/v20/schemas/TransactionEventRequest_v1p0.json b/ocpp/v20/schemas/TransactionEventRequest_v1p0.json deleted file mode 100644 index 66b30a018..000000000 --- a/ocpp/v20/schemas/TransactionEventRequest_v1p0.json +++ /dev/null @@ -1,414 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "ChargingStateEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Charging", - "EVDetected", - "SuspendedEV", - "SuspendedEVSE" - ] - }, - "EncodingMethodEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Other", - "DLMS Message", - "COSEM Protected Data", - "EDL" - ] - }, - "IdTokenEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Central", - "eMAID", - "ISO14443", - "KeyCode", - "Local", - "NoAuthorization", - "ISO15693" - ] - }, - "LocationEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Body", - "Cable", - "EV", - "Inlet", - "Outlet" - ] - }, - "MeasurandEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Current.Export", - "Current.Import", - "Current.Offered", - "Energy.Active.Export.Register", - "Energy.Active.Import.Register", - "Energy.Reactive.Export.Register", - "Energy.Reactive.Import.Register", - "Energy.Active.Export.Interval", - "Energy.Active.Import.Interval", - "Energy.Active.Net", - "Energy.Reactive.Export.Interval", - "Energy.Reactive.Import.Interval", - "Energy.Reactive.Net", - "Energy.Apparent.Net", - "Energy.Apparent.Import", - "Energy.Apparent.Export", - "Frequency", - "Power.Active.Export", - "Power.Active.Import", - "Power.Factor", - "Power.Offered", - "Power.Reactive.Export", - "Power.Reactive.Import", - "SoC", - "Voltage" - ] - }, - "PhaseEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "L1", - "L2", - "L3", - "N", - "L1-N", - "L2-N", - "L3-N", - "L1-L2", - "L2-L3", - "L3-L1" - ] - }, - "ReadingContextEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Interruption.Begin", - "Interruption.End", - "Other", - "Sample.Clock", - "Sample.Periodic", - "Transaction.Begin", - "Transaction.End", - "Trigger" - ] - }, - "ReasonEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "DeAuthorized", - "EmergencyStop", - "EnergyLimitReached", - "EVDisconnected", - "GroundFault", - "ImmediateReset", - "Local", - "LocalOutOfCredit", - "MasterPass", - "Other", - "OvercurrentFault", - "PowerLoss", - "PowerQuality", - "Reboot", - "Remote", - "SOCLimitReached", - "StoppedByEV", - "TimeLimitReached", - "Timeout", - "UnlockCommand" - ] - }, - "SignatureMethodEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ECDSAP256SHA256", - "ECDSAP384SHA384", - "ECDSA192SHA256" - ] - }, - "TransactionEventEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Ended", - "Started", - "Updated" - ] - }, - "TriggerReasonEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Authorized", - "CablePluggedIn", - "ChargingRateChanged", - "ChargingStateChanged", - "Deauthorized", - "EnergyLimitReached", - "EVCommunicationLost", - "EVConnectTimeout", - "MeterValueClock", - "MeterValuePeriodic", - "TimeLimitReached", - "Trigger", - "UnlockCommand", - "StopAuthorized", - "EVDeparted", - "EVDetected", - "RemoteStop", - "RemoteStart" - ] - }, - "AdditionalInfoType": { - "javaType": "AdditionalInfo", - "type": "object", - "additionalProperties": true, - "properties": { - "additionalIdToken": { - "type": "string", - "maxLength": 36 - }, - "type": { - "type": "string", - "maxLength": 50 - } - }, - "required": [ - "additionalIdToken", - "type" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "IdTokenType": { - "javaType": "IdToken", - "type": "object", - "additionalProperties": true, - "properties": { - "additionalInfo": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/AdditionalInfoType" - }, - "minItems": 1 - }, - "idToken": { - "type": "string", - "maxLength": 36 - }, - "type": { - "$ref": "#/definitions/IdTokenEnumType" - } - }, - "required": [ - "idToken", - "type" - ] - }, - "MeterValueType": { - "javaType": "MeterValue", - "type": "object", - "additionalProperties": true, - "properties": { - "sampledValue": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/SampledValueType" - }, - "minItems": 1 - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "required": [ - "timestamp", - "sampledValue" - ] - }, - "SampledValueType": { - "javaType": "SampledValue", - "type": "object", - "additionalProperties": true, - "properties": { - "value": { - "type": "number" - }, - "context": { - "$ref": "#/definitions/ReadingContextEnumType" - }, - "measurand": { - "$ref": "#/definitions/MeasurandEnumType" - }, - "phase": { - "$ref": "#/definitions/PhaseEnumType" - }, - "location": { - "$ref": "#/definitions/LocationEnumType" - }, - "signedMeterValue": { - "$ref": "#/definitions/SignedMeterValueType" - }, - "unitOfMeasure": { - "$ref": "#/definitions/UnitOfMeasureType" - } - }, - "required": [ - "value" - ] - }, - "SignedMeterValueType": { - "javaType": "SignedMeterValue", - "type": "object", - "additionalProperties": true, - "properties": { - "meterValueSignature": { - "type": "string", - "maxLength": 2500 - }, - "signatureMethod": { - "$ref": "#/definitions/SignatureMethodEnumType" - }, - "encodingMethod": { - "$ref": "#/definitions/EncodingMethodEnumType" - }, - "encodedMeterValue": { - "type": "string", - "maxLength": 512 - } - }, - "required": [ - "meterValueSignature", - "signatureMethod", - "encodingMethod", - "encodedMeterValue" - ] - }, - "TransactionType": { - "javaType": "Transaction", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "string", - "maxLength": 36 - }, - "chargingState": { - "$ref": "#/definitions/ChargingStateEnumType" - }, - "timeSpentCharging": { - "type": "integer" - }, - "stoppedReason": { - "$ref": "#/definitions/ReasonEnumType" - }, - "remoteStartId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - }, - "UnitOfMeasureType": { - "javaType": "UnitOfMeasure", - "type": "object", - "additionalProperties": true, - "properties": { - "unit": { - "type": "string", - "maxLength": 20 - }, - "multiplier": { - "type": "integer" - } - } - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "eventType": { - "$ref": "#/definitions/TransactionEventEnumType" - }, - "meterValue": { - "type": "array", - "additionalItems": false, - "items": { - "$ref": "#/definitions/MeterValueType" - }, - "minItems": 1 - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "triggerReason": { - "$ref": "#/definitions/TriggerReasonEnumType" - }, - "seqNo": { - "type": "integer" - }, - "offline": { - "type": "boolean" - }, - "numberOfPhasesUsed": { - "type": "integer" - }, - "cableMaxCurrent": { - "type": "number" - }, - "reservationId": { - "type": "integer" - }, - "transactionData": { - "$ref": "#/definitions/TransactionType" - }, - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "idToken": { - "$ref": "#/definitions/IdTokenType" - } - }, - "required": [ - "eventType", - "timestamp", - "triggerReason", - "seqNo", - "transactionData" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/TransactionEventResponse_v1p0.json b/ocpp/v20/schemas/TransactionEventResponse_v1p0.json deleted file mode 100644 index c89e9ef4b..000000000 --- a/ocpp/v20/schemas/TransactionEventResponse_v1p0.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "AuthorizationStatusEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Blocked", - "ConcurrentTx", - "Expired", - "Invalid", - "NoCredit", - "NotAllowedTypeEVSE", - "NotAtThisLocation", - "NotAtThisTime", - "Unknown" - ] - }, - "IdTokenEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Central", - "eMAID", - "ISO14443", - "KeyCode", - "Local", - "NoAuthorization", - "ISO15693" - ] - }, - "MessageFormatEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "ASCII", - "HTML", - "URI", - "UTF8" - ] - }, - "GroupIdTokenType": { - "javaType": "GroupIdToken", - "type": "object", - "additionalProperties": true, - "properties": { - "idToken": { - "type": "string", - "maxLength": 36 - }, - "type": { - "$ref": "#/definitions/IdTokenEnumType" - } - }, - "required": [ - "idToken", - "type" - ] - }, - "IdTokenInfoType": { - "javaType": "IdTokenInfo", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "$ref": "#/definitions/AuthorizationStatusEnumType" - }, - "cacheExpiryDateTime": { - "type": "string", - "format": "date-time" - }, - "chargingPriority": { - "type": "integer" - }, - "groupIdToken": { - "$ref": "#/definitions/GroupIdTokenType" - }, - "language1": { - "type": "string", - "maxLength": 8 - }, - "language2": { - "type": "string", - "maxLength": 8 - }, - "personalMessage": { - "$ref": "#/definitions/MessageContentType" - } - }, - "required": [ - "status" - ] - }, - "MessageContentType": { - "javaType": "MessageContent", - "type": "object", - "additionalProperties": true, - "properties": { - "format": { - "$ref": "#/definitions/MessageFormatEnumType" - }, - "language": { - "type": "string", - "maxLength": 8 - }, - "content": { - "type": "string", - "maxLength": 512 - } - }, - "required": [ - "format", - "content" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "totalCost": { - "type": "number" - }, - "chargingPriority": { - "type": "integer" - }, - "idTokenInfo": { - "$ref": "#/definitions/IdTokenInfoType" - }, - "updatedPersonalMessage": { - "$ref": "#/definitions/MessageContentType" - } - } -} \ No newline at end of file diff --git a/ocpp/v20/schemas/TriggerMessageRequest_v1p0.json b/ocpp/v20/schemas/TriggerMessageRequest_v1p0.json deleted file mode 100644 index 8c6c96ff7..000000000 --- a/ocpp/v20/schemas/TriggerMessageRequest_v1p0.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "MessageTriggerEnumType": { - "type": "string", - "additionalProperties": true, - "enum": [ - "BootNotification", - "LogStatusNotification", - "FirmwareStatusNotification", - "Heartbeat", - "MeterValues", - "SignChargingStationCertificate", - "SignV2GCertificate", - "StatusNotification", - "TransactionEvent" - ] - }, - "EVSEType": { - "javaType": "EVSE", - "type": "object", - "additionalProperties": true, - "properties": { - "id": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "id" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "evse": { - "$ref": "#/definitions/EVSEType" - }, - "requestedMessage": { - "$ref": "#/definitions/MessageTriggerEnumType" - } - }, - "required": [ - "requestedMessage" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/TriggerMessageResponse_v1p0.json b/ocpp/v20/schemas/TriggerMessageResponse_v1p0.json deleted file mode 100644 index 9147d7c04..000000000 --- a/ocpp/v20/schemas/TriggerMessageResponse_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "NotImplemented" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/UnlockConnectorRequest_v1p0.json b/ocpp/v20/schemas/UnlockConnectorRequest_v1p0.json deleted file mode 100644 index 6f86c6db2..000000000 --- a/ocpp/v20/schemas/UnlockConnectorRequest_v1p0.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "evseId": { - "type": "integer" - }, - "connectorId": { - "type": "integer" - } - }, - "required": [ - "evseId", - "connectorId" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/UnlockConnectorResponse_v1p0.json b/ocpp/v20/schemas/UnlockConnectorResponse_v1p0.json deleted file mode 100644 index 4b06ee55c..000000000 --- a/ocpp/v20/schemas/UnlockConnectorResponse_v1p0.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Unlocked", - "UnlockFailed" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/UnpublishFirmwareRequest_v1p0.json b/ocpp/v20/schemas/UnpublishFirmwareRequest_v1p0.json deleted file mode 100644 index 4f3e8cc94..000000000 --- a/ocpp/v20/schemas/UnpublishFirmwareRequest_v1p0.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "checksum": { - "type": "string", - "maxLength": 32 - } - }, - "required": [ - "checksum" - ] -} diff --git a/ocpp/v20/schemas/UnpublishFirmwareResponse_v1p0.json b/ocpp/v20/schemas/UnpublishFirmwareResponse_v1p0.json deleted file mode 100644 index 2fa6589ac..000000000 --- a/ocpp/v20/schemas/UnpublishFirmwareResponse_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "DownloadOngoing", - "NoFirmware", - "Unpublished" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/Update15118EVCertificateRequest_v1p0.json b/ocpp/v20/schemas/Update15118EVCertificateRequest_v1p0.json deleted file mode 100644 index 694c39fdf..000000000 --- a/ocpp/v20/schemas/Update15118EVCertificateRequest_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "15118SchemaVersion": { - "type": "string", - "maxLength": 50 - }, - "exiRequest": { - "type": "string", - "maxLength": 5500 - } - }, - "required": [ - "15118SchemaVersion", - "exiRequest" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/Update15118EVCertificateResponse_v1p0.json b/ocpp/v20/schemas/Update15118EVCertificateResponse_v1p0.json deleted file mode 100644 index fa02e958d..000000000 --- a/ocpp/v20/schemas/Update15118EVCertificateResponse_v1p0.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Failed" - ] - }, - "exiResponse": { - "type": "string", - "maxLength": 5500 - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/UpdateFirmwareRequest_v1p0.json b/ocpp/v20/schemas/UpdateFirmwareRequest_v1p0.json deleted file mode 100644 index 67bc70084..000000000 --- a/ocpp/v20/schemas/UpdateFirmwareRequest_v1p0.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "definitions": { - "FirmwareType": { - "javaType": "Firmware", - "type": "object", - "additionalProperties": true, - "properties": { - "location": { - "type": "string", - "maxLength": 512 - }, - "retrieveDateTime": { - "type": "string", - "format": "date-time" - }, - "installDateTime": { - "type": "string", - "format": "date-time" - }, - "signingCertificate": { - "type": "string", - "maxLength": 800 - }, - "signature": { - "type": "string", - "maxLength": 800 - } - }, - "required": [ - "location", - "retrieveDateTime" - ] - } - }, - "type": "object", - "additionalProperties": true, - "properties": { - "retries": { - "type": "integer" - }, - "retryInterval": { - "type": "integer" - }, - "requestId": { - "type": "integer" - }, - "firmware": { - "$ref": "#/definitions/FirmwareType" - } - }, - "required": [ - "requestId", - "firmware" - ] -} \ No newline at end of file diff --git a/ocpp/v20/schemas/UpdateFirmwareResponse_v1p0.json b/ocpp/v20/schemas/UpdateFirmwareResponse_v1p0.json deleted file mode 100644 index 058700949..000000000 --- a/ocpp/v20/schemas/UpdateFirmwareResponse_v1p0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-06/schema#", - "comment": "OCPP 2.0 - v1p0", - "type": "object", - "additionalProperties": true, - "properties": { - "status": { - "type": "string", - "additionalProperties": true, - "enum": [ - "Accepted", - "Rejected", - "AcceptedCanceled" - ] - } - }, - "required": [ - "status" - ] -} \ No newline at end of file diff --git a/ocpp/v201/call.py b/ocpp/v201/call.py index f97f9a1e1..ddc681606 100644 --- a/ocpp/v201/call.py +++ b/ocpp/v201/call.py @@ -1,9 +1,10 @@ +import warnings from dataclasses import dataclass from typing import Any, Dict, List, Optional @dataclass -class AuthorizePayload: +class Authorize: id_token: Dict certificate: Optional[str] = None iso15118_certificate_hash_data: Optional[List] = None @@ -11,72 +12,72 @@ class AuthorizePayload: @dataclass -class BootNotificationPayload: +class BootNotification: charging_station: Dict reason: str custom_data: Optional[Dict[str, Any]] = None @dataclass -class CancelReservationPayload: +class CancelReservation: reservation_id: int custom_data: Optional[Dict[str, Any]] = None @dataclass -class CertificateSignedPayload: +class CertificateSigned: certificate_chain: str certificate_type: Optional[str] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class ChangeAvailabilityPayload: +class ChangeAvailability: operational_status: str evse: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class ClearCachePayload: +class ClearCache: custom_data: Optional[Dict[str, Any]] = None @dataclass -class ClearChargingProfilePayload: +class ClearChargingProfile: charging_profile_id: Optional[int] = None charging_profile_criteria: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class ClearDisplayMessagePayload: +class ClearDisplayMessage: id: int custom_data: Optional[Dict[str, Any]] = None @dataclass -class ClearVariableMonitoringPayload: +class ClearVariableMonitoring: id: List custom_data: Optional[Dict[str, Any]] = None @dataclass -class ClearedChargingLimitPayload: +class ClearedChargingLimit: charging_limit_source: str evse_id: Optional[int] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class CostUpdatedPayload: - total_cost: int +class CostUpdated: + total_cost: float transaction_id: str custom_data: Optional[Dict[str, Any]] = None @dataclass -class CustomerInformationPayload: +class CustomerInformation: request_id: int report: bool clear: bool @@ -87,28 +88,28 @@ class CustomerInformationPayload: @dataclass -class DataTransferPayload: +class DataTransfer: vendor_id: str message_id: Optional[str] = None - data: Optional[str] = None + data: Optional[Any] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class DeleteCertificatePayload: +class DeleteCertificate: certificate_hash_data: Dict custom_data: Optional[Dict[str, Any]] = None @dataclass -class FirmwareStatusNotificationPayload: +class FirmwareStatusNotification: status: str request_id: Optional[int] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class Get15118EVCertificatePayload: +class Get15118EVCertificate: iso15118_schema_version: str action: str exi_request: str @@ -116,20 +117,20 @@ class Get15118EVCertificatePayload: @dataclass -class GetBaseReportPayload: +class GetBaseReport: request_id: int report_base: str custom_data: Optional[Dict[str, Any]] = None @dataclass -class GetCertificateStatusPayload: +class GetCertificateStatus: ocsp_request_data: Dict custom_data: Optional[Dict[str, Any]] = None @dataclass -class GetChargingProfilesPayload: +class GetChargingProfiles: request_id: int charging_profile: Dict evse_id: Optional[int] = None @@ -137,7 +138,7 @@ class GetChargingProfilesPayload: @dataclass -class GetCompositeSchedulePayload: +class GetCompositeSchedule: duration: int evse_id: int charging_rate_unit: Optional[str] = None @@ -145,7 +146,7 @@ class GetCompositeSchedulePayload: @dataclass -class GetDisplayMessagesPayload: +class GetDisplayMessages: request_id: int id: Optional[List] = None priority: Optional[str] = None @@ -154,18 +155,18 @@ class GetDisplayMessagesPayload: @dataclass -class GetInstalledCertificateIdsPayload: +class GetInstalledCertificateIds: certificate_type: Optional[List] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class GetLocalListVersionPayload: +class GetLocalListVersion: custom_data: Optional[Dict[str, Any]] = None @dataclass -class GetLogPayload: +class GetLog: log: Dict log_type: str request_id: int @@ -175,7 +176,7 @@ class GetLogPayload: @dataclass -class GetMonitoringReportPayload: +class GetMonitoringReport: request_id: int component_variable: Optional[List] = None monitoring_criteria: Optional[List] = None @@ -183,7 +184,7 @@ class GetMonitoringReportPayload: @dataclass -class GetReportPayload: +class GetReport: request_id: int component_variable: Optional[List] = None component_criteria: Optional[List] = None @@ -191,45 +192,45 @@ class GetReportPayload: @dataclass -class GetTransactionStatusPayload: +class GetTransactionStatus: transaction_id: Optional[str] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class GetVariablesPayload: +class GetVariables: get_variable_data: List custom_data: Optional[Dict[str, Any]] = None @dataclass -class HeartbeatPayload: +class Heartbeat: custom_data: Optional[Dict[str, Any]] = None @dataclass -class InstallCertificatePayload: +class InstallCertificate: certificate_type: str certificate: str custom_data: Optional[Dict[str, Any]] = None @dataclass -class LogStatusNotificationPayload: +class LogStatusNotification: status: str request_id: Optional[int] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class MeterValuesPayload: +class MeterValues: evse_id: int meter_value: List custom_data: Optional[Dict[str, Any]] = None @dataclass -class NotifyChargingLimitPayload: +class NotifyChargingLimit: charging_limit: Dict charging_schedule: Optional[List] = None evse_id: Optional[int] = None @@ -237,7 +238,7 @@ class NotifyChargingLimitPayload: @dataclass -class NotifyCustomerInformationPayload: +class NotifyCustomerInformation: data: str seq_no: int generated_at: str @@ -247,7 +248,7 @@ class NotifyCustomerInformationPayload: @dataclass -class NotifyDisplayMessagesPayload: +class NotifyDisplayMessages: request_id: int message_info: Optional[List] = None tbc: Optional[bool] = None @@ -255,7 +256,7 @@ class NotifyDisplayMessagesPayload: @dataclass -class NotifyEVChargingNeedsPayload: +class NotifyEVChargingNeeds: charging_needs: Dict evse_id: int max_schedule_tuples: Optional[int] = None @@ -263,7 +264,7 @@ class NotifyEVChargingNeedsPayload: @dataclass -class NotifyEVChargingSchedulePayload: +class NotifyEVChargingSchedule: time_base: str charging_schedule: Dict evse_id: int @@ -271,7 +272,7 @@ class NotifyEVChargingSchedulePayload: @dataclass -class NotifyEventPayload: +class NotifyEvent: generated_at: str seq_no: int event_data: List @@ -280,7 +281,7 @@ class NotifyEventPayload: @dataclass -class NotifyMonitoringReportPayload: +class NotifyMonitoringReport: request_id: int seq_no: int generated_at: str @@ -290,7 +291,7 @@ class NotifyMonitoringReportPayload: @dataclass -class NotifyReportPayload: +class NotifyReport: request_id: int generated_at: str seq_no: int @@ -300,7 +301,7 @@ class NotifyReportPayload: @dataclass -class PublishFirmwarePayload: +class PublishFirmware: location: str checksum: str request_id: int @@ -310,7 +311,7 @@ class PublishFirmwarePayload: @dataclass -class PublishFirmwareStatusNotificationPayload: +class PublishFirmwareStatusNotification: status: str location: Optional[List] = None request_id: Optional[int] = None @@ -318,7 +319,7 @@ class PublishFirmwareStatusNotificationPayload: @dataclass -class ReportChargingProfilesPayload: +class ReportChargingProfiles: request_id: int charging_limit_source: str charging_profile: List @@ -328,7 +329,7 @@ class ReportChargingProfilesPayload: @dataclass -class RequestStartTransactionPayload: +class RequestStartTransaction: id_token: Dict remote_start_id: int evse_id: Optional[int] = None @@ -338,20 +339,20 @@ class RequestStartTransactionPayload: @dataclass -class RequestStopTransactionPayload: +class RequestStopTransaction: transaction_id: str custom_data: Optional[Dict[str, Any]] = None @dataclass -class ReservationStatusUpdatePayload: +class ReservationStatusUpdate: reservation_id: int reservation_update_status: str custom_data: Optional[Dict[str, Any]] = None @dataclass -class ReserveNowPayload: +class ReserveNow: id: int expiry_date_time: str id_token: Dict @@ -362,14 +363,14 @@ class ReserveNowPayload: @dataclass -class ResetPayload: +class Reset: type: str evse_id: Optional[int] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class SecurityEventNotificationPayload: +class SecurityEventNotification: type: str timestamp: str tech_info: Optional[str] = None @@ -377,7 +378,7 @@ class SecurityEventNotificationPayload: @dataclass -class SendLocalListPayload: +class SendLocalList: version_number: int update_type: str local_authorization_list: Optional[List] = None @@ -385,58 +386,58 @@ class SendLocalListPayload: @dataclass -class SetChargingProfilePayload: +class SetChargingProfile: evse_id: int charging_profile: Dict custom_data: Optional[Dict[str, Any]] = None @dataclass -class SetDisplayMessagePayload: +class SetDisplayMessage: message: Dict custom_data: Optional[Dict[str, Any]] = None @dataclass -class SetMonitoringBasePayload: +class SetMonitoringBase: monitoring_base: str custom_data: Optional[Dict[str, Any]] = None @dataclass -class SetMonitoringLevelPayload: +class SetMonitoringLevel: severity: int custom_data: Optional[Dict[str, Any]] = None @dataclass -class SetNetworkProfilePayload: +class SetNetworkProfile: configuration_slot: int connection_data: Dict custom_data: Optional[Dict[str, Any]] = None @dataclass -class SetVariableMonitoringPayload: +class SetVariableMonitoring: set_monitoring_data: List custom_data: Optional[Dict[str, Any]] = None @dataclass -class SetVariablesPayload: +class SetVariables: set_variable_data: List custom_data: Optional[Dict[str, Any]] = None @dataclass -class SignCertificatePayload: +class SignCertificate: csr: str certificate_type: Optional[str] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class StatusNotificationPayload: +class StatusNotification: timestamp: str connector_status: str evse_id: int @@ -445,7 +446,7 @@ class StatusNotificationPayload: @dataclass -class TransactionEventPayload: +class TransactionEvent: event_type: str timestamp: str trigger_reason: str @@ -462,29 +463,861 @@ class TransactionEventPayload: @dataclass -class TriggerMessagePayload: +class TriggerMessage: requested_message: str evse: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class UnlockConnectorPayload: +class UnlockConnector: evse_id: int connector_id: int custom_data: Optional[Dict[str, Any]] = None @dataclass -class UnpublishFirmwarePayload: +class UnpublishFirmware: checksum: str custom_data: Optional[Dict[str, Any]] = None @dataclass -class UpdateFirmwarePayload: +class UpdateFirmware: request_id: int firmware: Dict retries: Optional[int] = None retry_interval: Optional[int] = None custom_data: Optional[Dict[str, Any]] = None + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class AuthorizePayload(Authorize): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class BootNotificationPayload(BootNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class CancelReservationPayload(CancelReservation): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class CertificateSignedPayload(CertificateSigned): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ChangeAvailabilityPayload(ChangeAvailability): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ClearCachePayload(ClearCache): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ClearChargingProfilePayload(ClearChargingProfile): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ClearDisplayMessagePayload(ClearDisplayMessage): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ClearVariableMonitoringPayload(ClearVariableMonitoring): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ClearedChargingLimitPayload(ClearedChargingLimit): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class CostUpdatedPayload(CostUpdated): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class CustomerInformationPayload(CustomerInformation): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class DataTransferPayload(DataTransfer): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class DeleteCertificatePayload(DeleteCertificate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class FirmwareStatusNotificationPayload(FirmwareStatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class Get15118EVCertificatePayload(Get15118EVCertificate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetBaseReportPayload(GetBaseReport): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetCertificateStatusPayload(GetCertificateStatus): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetChargingProfilesPayload(GetChargingProfiles): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetCompositeSchedulePayload(GetCompositeSchedule): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetDisplayMessagesPayload(GetDisplayMessages): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetInstalledCertificateIdsPayload(GetInstalledCertificateIds): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetLocalListVersionPayload(GetLocalListVersion): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetLogPayload(GetLog): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetMonitoringReportPayload(GetMonitoringReport): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetReportPayload(GetReport): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetTransactionStatusPayload(GetTransactionStatus): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetVariablesPayload(GetVariables): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class HeartbeatPayload(Heartbeat): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class InstallCertificatePayload(InstallCertificate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class LogStatusNotificationPayload(LogStatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class MeterValuesPayload(MeterValues): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyChargingLimitPayload(NotifyChargingLimit): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyCustomerInformationPayload(NotifyCustomerInformation): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyDisplayMessagesPayload(NotifyDisplayMessages): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyEVChargingNeedsPayload(NotifyEVChargingNeeds): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyEVChargingSchedulePayload(NotifyEVChargingSchedule): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyEventPayload(NotifyEvent): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyMonitoringReportPayload(NotifyMonitoringReport): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyReportPayload(NotifyReport): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class PublishFirmwarePayload(PublishFirmware): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class PublishFirmwareStatusNotificationPayload(PublishFirmwareStatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ReportChargingProfilesPayload(ReportChargingProfiles): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class RequestStartTransactionPayload(RequestStartTransaction): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class RequestStopTransactionPayload(RequestStopTransaction): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ReservationStatusUpdatePayload(ReservationStatusUpdate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ReserveNowPayload(ReserveNow): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ResetPayload(Reset): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SecurityEventNotificationPayload(SecurityEventNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SendLocalListPayload(SendLocalList): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetChargingProfilePayload(SetChargingProfile): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetDisplayMessagePayload(SetDisplayMessage): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetMonitoringBasePayload(SetMonitoringBase): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetMonitoringLevelPayload(SetMonitoringLevel): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetNetworkProfilePayload(SetNetworkProfile): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetVariableMonitoringPayload(SetVariableMonitoring): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetVariablesPayload(SetVariables): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SignCertificatePayload(SignCertificate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class StatusNotificationPayload(StatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class TransactionEventPayload(TransactionEvent): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class TriggerMessagePayload(TriggerMessage): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class UnlockConnectorPayload(UnlockConnector): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class UnpublishFirmwarePayload(UnpublishFirmware): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class UpdateFirmwarePayload(UpdateFirmware): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) diff --git a/ocpp/v201/call_result.py b/ocpp/v201/call_result.py index 6f3b25f0b..520537ce0 100644 --- a/ocpp/v201/call_result.py +++ b/ocpp/v201/call_result.py @@ -1,16 +1,17 @@ +import warnings from dataclasses import dataclass from typing import Any, Dict, List, Optional @dataclass -class AuthorizePayload: +class Authorize: id_token_info: Dict certificate_status: Optional[str] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class BootNotificationPayload: +class BootNotification: current_time: str interval: int status: str @@ -19,92 +20,92 @@ class BootNotificationPayload: @dataclass -class CancelReservationPayload: +class CancelReservation: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class CertificateSignedPayload: +class CertificateSigned: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class ChangeAvailabilityPayload: +class ChangeAvailability: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class ClearCachePayload: +class ClearCache: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class ClearChargingProfilePayload: +class ClearChargingProfile: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class ClearDisplayMessagePayload: +class ClearDisplayMessage: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class ClearVariableMonitoringPayload: +class ClearVariableMonitoring: clear_monitoring_result: List custom_data: Optional[Dict[str, Any]] = None @dataclass -class ClearedChargingLimitPayload: +class ClearedChargingLimit: custom_data: Optional[Dict[str, Any]] = None @dataclass -class CostUpdatedPayload: +class CostUpdated: custom_data: Optional[Dict[str, Any]] = None @dataclass -class CustomerInformationPayload: +class CustomerInformation: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class DataTransferPayload: +class DataTransfer: status: str status_info: Optional[Dict] = None - data: Optional[Dict] = None + data: Optional[Any] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class DeleteCertificatePayload: +class DeleteCertificate: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class FirmwareStatusNotificationPayload: +class FirmwareStatusNotification: custom_data: Optional[Dict[str, Any]] = None @dataclass -class Get15118EVCertificatePayload: +class Get15118EVCertificate: status: str exi_response: str status_info: Optional[Dict] = None @@ -112,14 +113,14 @@ class Get15118EVCertificatePayload: @dataclass -class GetBaseReportPayload: +class GetBaseReport: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class GetCertificateStatusPayload: +class GetCertificateStatus: status: str status_info: Optional[Dict] = None ocsp_result: Optional[str] = None @@ -127,14 +128,14 @@ class GetCertificateStatusPayload: @dataclass -class GetChargingProfilesPayload: +class GetChargingProfiles: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class GetCompositeSchedulePayload: +class GetCompositeSchedule: status: str status_info: Optional[Dict] = None schedule: Optional[Dict] = None @@ -142,14 +143,14 @@ class GetCompositeSchedulePayload: @dataclass -class GetDisplayMessagesPayload: +class GetDisplayMessages: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class GetInstalledCertificateIdsPayload: +class GetInstalledCertificateIds: status: str status_info: Optional[Dict] = None certificate_hash_data_chain: Optional[List] = None @@ -157,13 +158,13 @@ class GetInstalledCertificateIdsPayload: @dataclass -class GetLocalListVersionPayload: +class GetLocalListVersion: version_number: int custom_data: Optional[Dict[str, Any]] = None @dataclass -class GetLogPayload: +class GetLog: status: str status_info: Optional[Dict] = None filename: Optional[str] = None @@ -171,118 +172,118 @@ class GetLogPayload: @dataclass -class GetMonitoringReportPayload: +class GetMonitoringReport: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class GetReportPayload: +class GetReport: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class GetTransactionStatusPayload: +class GetTransactionStatus: messages_in_queue: bool ongoing_indicator: Optional[bool] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class GetVariablesPayload: +class GetVariables: get_variable_result: List custom_data: Optional[Dict[str, Any]] = None @dataclass -class HeartbeatPayload: +class Heartbeat: current_time: str custom_data: Optional[Dict[str, Any]] = None @dataclass -class InstallCertificatePayload: +class InstallCertificate: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class LogStatusNotificationPayload: +class LogStatusNotification: custom_data: Optional[Dict[str, Any]] = None @dataclass -class MeterValuesPayload: +class MeterValues: custom_data: Optional[Dict[str, Any]] = None @dataclass -class NotifyChargingLimitPayload: +class NotifyChargingLimit: custom_data: Optional[Dict[str, Any]] = None @dataclass -class NotifyCustomerInformationPayload: +class NotifyCustomerInformation: custom_data: Optional[Dict[str, Any]] = None @dataclass -class NotifyDisplayMessagesPayload: +class NotifyDisplayMessages: custom_data: Optional[Dict[str, Any]] = None @dataclass -class NotifyEVChargingNeedsPayload: +class NotifyEVChargingNeeds: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class NotifyEVChargingSchedulePayload: +class NotifyEVChargingSchedule: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class NotifyEventPayload: +class NotifyEvent: custom_data: Optional[Dict[str, Any]] = None @dataclass -class NotifyMonitoringReportPayload: +class NotifyMonitoringReport: custom_data: Optional[Dict[str, Any]] = None @dataclass -class NotifyReportPayload: +class NotifyReport: custom_data: Optional[Dict[str, Any]] = None @dataclass -class PublishFirmwarePayload: +class PublishFirmware: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class PublishFirmwareStatusNotificationPayload: +class PublishFirmwareStatusNotification: custom_data: Optional[Dict[str, Any]] = None @dataclass -class ReportChargingProfilesPayload: +class ReportChargingProfiles: custom_data: Optional[Dict[str, Any]] = None @dataclass -class RequestStartTransactionPayload: +class RequestStartTransaction: status: str status_info: Optional[Dict] = None transaction_id: Optional[str] = None @@ -290,104 +291,104 @@ class RequestStartTransactionPayload: @dataclass -class RequestStopTransactionPayload: +class RequestStopTransaction: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class ReservationStatusUpdatePayload: +class ReservationStatusUpdate: custom_data: Optional[Dict[str, Any]] = None @dataclass -class ReserveNowPayload: +class ReserveNow: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class ResetPayload: +class Reset: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class SecurityEventNotificationPayload: +class SecurityEventNotification: custom_data: Optional[Dict[str, Any]] = None @dataclass -class SendLocalListPayload: +class SendLocalList: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class SetChargingProfilePayload: +class SetChargingProfile: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class SetDisplayMessagePayload: +class SetDisplayMessage: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class SetMonitoringBasePayload: +class SetMonitoringBase: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class SetMonitoringLevelPayload: +class SetMonitoringLevel: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class SetNetworkProfilePayload: +class SetNetworkProfile: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class SetVariableMonitoringPayload: +class SetVariableMonitoring: set_monitoring_result: List custom_data: Optional[Dict[str, Any]] = None @dataclass -class SetVariablesPayload: +class SetVariables: set_variable_result: List custom_data: Optional[Dict[str, Any]] = None @dataclass -class SignCertificatePayload: +class SignCertificate: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class StatusNotificationPayload: +class StatusNotification: custom_data: Optional[Dict[str, Any]] = None @dataclass -class TransactionEventPayload: +class TransactionEvent: total_cost: Optional[int] = None charging_priority: Optional[int] = None id_token_info: Optional[Dict] = None @@ -396,27 +397,859 @@ class TransactionEventPayload: @dataclass -class TriggerMessagePayload: +class TriggerMessage: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class UnlockConnectorPayload: +class UnlockConnector: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None @dataclass -class UnpublishFirmwarePayload: +class UnpublishFirmware: status: str custom_data: Optional[Dict[str, Any]] = None @dataclass -class UpdateFirmwarePayload: +class UpdateFirmware: status: str status_info: Optional[Dict] = None custom_data: Optional[Dict[str, Any]] = None + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class AuthorizePayload(Authorize): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class BootNotificationPayload(BootNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class CancelReservationPayload(CancelReservation): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class CertificateSignedPayload(CertificateSigned): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ChangeAvailabilityPayload(ChangeAvailability): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ClearCachePayload(ClearCache): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ClearChargingProfilePayload(ClearChargingProfile): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ClearDisplayMessagePayload(ClearDisplayMessage): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ClearVariableMonitoringPayload(ClearVariableMonitoring): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ClearedChargingLimitPayload(ClearedChargingLimit): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class CostUpdatedPayload(CostUpdated): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class CustomerInformationPayload(CustomerInformation): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class DataTransferPayload(DataTransfer): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class DeleteCertificatePayload(DeleteCertificate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class FirmwareStatusNotificationPayload(FirmwareStatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class Get15118EVCertificatePayload(Get15118EVCertificate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetBaseReportPayload(GetBaseReport): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetCertificateStatusPayload(GetCertificateStatus): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetChargingProfilesPayload(GetChargingProfiles): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetCompositeSchedulePayload(GetCompositeSchedule): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetDisplayMessagesPayload(GetDisplayMessages): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetInstalledCertificateIdsPayload(GetInstalledCertificateIds): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetLocalListVersionPayload(GetLocalListVersion): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetLogPayload(GetLog): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetMonitoringReportPayload(GetMonitoringReport): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetReportPayload(GetReport): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetTransactionStatusPayload(GetTransactionStatus): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class GetVariablesPayload(GetVariables): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class HeartbeatPayload(Heartbeat): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class InstallCertificatePayload(InstallCertificate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class LogStatusNotificationPayload(LogStatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class MeterValuesPayload(MeterValues): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyChargingLimitPayload(NotifyChargingLimit): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyCustomerInformationPayload(NotifyCustomerInformation): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyDisplayMessagesPayload(NotifyDisplayMessages): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyEVChargingNeedsPayload(NotifyEVChargingNeeds): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyEVChargingSchedulePayload(NotifyEVChargingSchedule): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyEventPayload(NotifyEvent): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyMonitoringReportPayload(NotifyMonitoringReport): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class NotifyReportPayload(NotifyReport): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class PublishFirmwarePayload(PublishFirmware): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class PublishFirmwareStatusNotificationPayload(PublishFirmwareStatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ReportChargingProfilesPayload(ReportChargingProfiles): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class RequestStartTransactionPayload(RequestStartTransaction): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class RequestStopTransactionPayload(RequestStopTransaction): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ReservationStatusUpdatePayload(ReservationStatusUpdate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ReserveNowPayload(ReserveNow): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class ResetPayload(Reset): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SecurityEventNotificationPayload(SecurityEventNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SendLocalListPayload(SendLocalList): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetChargingProfilePayload(SetChargingProfile): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetDisplayMessagePayload(SetDisplayMessage): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetMonitoringBasePayload(SetMonitoringBase): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetMonitoringLevelPayload(SetMonitoringLevel): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetNetworkProfilePayload(SetNetworkProfile): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetVariableMonitoringPayload(SetVariableMonitoring): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SetVariablesPayload(SetVariables): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class SignCertificatePayload(SignCertificate): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class StatusNotificationPayload(StatusNotification): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class TransactionEventPayload(TransactionEvent): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class TriggerMessagePayload(TriggerMessage): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class UnlockConnectorPayload(UnlockConnector): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class UnpublishFirmwarePayload(UnpublishFirmware): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) + + +# Dataclass soon to be deprecated use equal class name without the suffix 'Payload' +@dataclass +class UpdateFirmwarePayload(UpdateFirmware): + def __post_init__(self): + warnings.warn( + ( + __class__.__name__ + + " is deprecated, use instead " + + __class__.__mro__[1].__name__ + ) + ) diff --git a/ocpp/v201/datatypes.py b/ocpp/v201/datatypes.py index 98afe9628..1a63ba43f 100644 --- a/ocpp/v201/datatypes.py +++ b/ocpp/v201/datatypes.py @@ -67,7 +67,7 @@ class CertificateHashDataChainType: certificate_type: enums.GetCertificateIdUseType certificate_hash_data: CertificateHashDataType - child_certificate_hash_data: Optional[List[CertificateHashDataType]] + child_certificate_hash_data: Optional[List[CertificateHashDataType]] = None @dataclass @@ -101,7 +101,7 @@ class ChargingNeedsType: ChargingNeedsType is used by: NotifyEVChargingNeedsRequest """ - request_energy_transfer: enums.EnergyTransferModeType + requested_energy_transfer: enums.EnergyTransferModeType departure_time: Optional[str] = None ac_charging_parameters: Optional[ACChargingParametersType] = None dc_charging_parameters: Optional[DCChargingParametersType] = None @@ -530,7 +530,7 @@ class MessageInfoType: message: MessageContentType state: Optional[enums.MessageStateType] = None start_date_time: Optional[str] = None - end_data_time: Optional[str] = None + end_date_time: Optional[str] = None transaction_id: Optional[str] = None display: Optional[ComponentType] = None diff --git a/ocpp/v201/enums.py b/ocpp/v201/enums.py index 50503d60f..6d0dbb7b3 100644 --- a/ocpp/v201/enums.py +++ b/ocpp/v201/enums.py @@ -1,7 +1,14 @@ -from enum import Enum +try: + # breaking change introduced in python 3.11 + from enum import StrEnum +except ImportError: # pragma: no cover + from enum import Enum # pragma: no cover + class StrEnum(str, Enum): # pragma: no cover + pass # pragma: no cover -class Action(str, Enum): + +class Action(StrEnum): """An Action is a required part of a Call message.""" Authorize = "Authorize" @@ -14,7 +21,7 @@ class Action(str, Enum): ClearDisplayMessage = "ClearDisplayMessage" ClearedChargingLimit = "ClearedChargingLimit" ClearVariableMonitoring = "ClearVariableMonitoring" - CostUpdate = "CostUpdate" + CostUpdated = "CostUpdated" CustomerInformation = "CustomerInformation" DataTransfer = "DataTransfer" DeleteCertificate = "DeleteCertificate" @@ -73,7 +80,7 @@ class Action(str, Enum): # Enums -class APNAuthenticationType(str, Enum): +class APNAuthenticationType(StrEnum): """ APNAuthenticationEnumType is used by setNetworkProfileSetNetworkProfileRequest.APNType @@ -85,22 +92,23 @@ class APNAuthenticationType(str, Enum): auto = "AUTO" -class AttributeType(str, Enum): +class AttributeType(StrEnum): """ AttributeEnumType is used by Common:VariableAttributeType, getVariables:GetVariablesRequest.GetVariableDataType , getVariables:GetVariablesResponse.GetVariableResultType , setVariables:SetVariablesRequest.SetVariableDataType , - setVariables:SetVariablesResponse.SetVariableResultType + setVariables:SetVariablesResponse.SetVariableResultType , + ConnectedEV component variable AttributeType """ actual = "Actual" target = "Target" - minSet = "MinSet" - maxSet = "MaxSet" + min_set = "MinSet" + max_set = "MaxSet" -class AuthorizationStatusType(str, Enum): +class AuthorizationStatusType(StrEnum): """ Elements that constitute an entry of a Local Authorization List update. """ @@ -120,7 +128,7 @@ class AuthorizationStatusType(str, Enum): unknown = "Unknown" -class AuthorizeCertificateStatusType(str, Enum): +class AuthorizeCertificateStatusType(StrEnum): """ Status of the EV Contract certificate. """ @@ -134,7 +142,7 @@ class AuthorizeCertificateStatusType(str, Enum): contract_cancelled = "ContractCancelled" -class BootReasonType(str, Enum): +class BootReasonType(StrEnum): """ BootReasonEnumType is used by bootNotificationBootNotificationRequest """ @@ -150,7 +158,7 @@ class BootReasonType(str, Enum): watchdog = "Watchdog" -class CancelReservationStatusType(str, Enum): +class CancelReservationStatusType(StrEnum): """ Status in CancelReservationResponse. """ @@ -159,7 +167,7 @@ class CancelReservationStatusType(str, Enum): rejected = "Rejected" -class CertificateActionType(str, Enum): +class CertificateActionType(StrEnum): """ CertificateActionEnumType is used by get15118EVCertificateGet15118EVCertificateRequest @@ -169,12 +177,12 @@ class CertificateActionType(str, Enum): update = "Update" -class CertificateSignedStatusType(str, Enum): +class CertificateSignedStatusType(StrEnum): accepted = "Accepted" rejected = "Rejected" -class CertificateSigningUseType(str, Enum): +class CertificateSigningUseType(StrEnum): """ CertificateSigningUseEnumType is used by signCertificate SignCertificateRequest , @@ -185,7 +193,7 @@ class CertificateSigningUseType(str, Enum): v2g_certificate = "V2GCertificate" -class ChangeAvailabilityStatusType(str, Enum): +class ChangeAvailabilityStatusType(StrEnum): """ Status returned in response to ChangeAvailability.req. """ @@ -195,7 +203,7 @@ class ChangeAvailabilityStatusType(str, Enum): scheduled = "Scheduled" -class ChargingLimitSourceType(str, Enum): +class ChargingLimitSourceType(StrEnum): """ Enumeration for indicating from which source a charging limit originates. """ @@ -206,7 +214,7 @@ class ChargingLimitSourceType(str, Enum): cso = "CSO" -class ChargingProfileKindType(str, Enum): +class ChargingProfileKindType(StrEnum): """ "Absolute" Schedule periods are relative to a fixed point in time defined in the schedule. @@ -220,7 +228,7 @@ class ChargingProfileKindType(str, Enum): relative = "Relative" -class ChargingProfilePurposeType(str, Enum): +class ChargingProfilePurposeType(StrEnum): """ In load balancing scenarios, the Charge Point has one or more local charging profiles that limit the power or current to be shared by all @@ -264,7 +272,7 @@ class ChargingProfilePurposeType(str, Enum): tx_profile = "TxProfile" -class ChargingProfileStatus(str, Enum): +class ChargingProfileStatus(StrEnum): """ Status returned in response to SetChargingProfile.req. """ @@ -273,7 +281,7 @@ class ChargingProfileStatus(str, Enum): rejected = "Rejected" -class ChargingRateUnitType(str, Enum): +class ChargingRateUnitType(StrEnum): """ Unit in which a charging schedule is defined, as used in GetCompositeSchedule.req and ChargingSchedule @@ -283,7 +291,7 @@ class ChargingRateUnitType(str, Enum): amps = "A" -class ChargingStateType(str, Enum): +class ChargingStateType(StrEnum): """ The state of the charging process. """ @@ -295,7 +303,7 @@ class ChargingStateType(str, Enum): idle = "Idle" -class ClearCacheStatusType(str, Enum): +class ClearCacheStatusType(StrEnum): """ Status returned in response to ClearCache.req. """ @@ -304,7 +312,7 @@ class ClearCacheStatusType(str, Enum): rejected = "Rejected" -class ClearChargingProfileStatusType(str, Enum): +class ClearChargingProfileStatusType(StrEnum): """ Status returned in response to ClearChargingProfile.req. """ @@ -313,7 +321,7 @@ class ClearChargingProfileStatusType(str, Enum): unknown = "Unknown" -class ClearMessageStatusType(str, Enum): +class ClearMessageStatusType(StrEnum): """ Status returned in response to ClearDisplayMessageRequest. """ @@ -322,7 +330,7 @@ class ClearMessageStatusType(str, Enum): unknown = "Unknown" -class ClearMonitoringStatusType(str, Enum): +class ClearMonitoringStatusType(StrEnum): """ ClearMonitoringStatusEnumType is used by CommonClearMonitoringResultType """ @@ -332,7 +340,7 @@ class ClearMonitoringStatusType(str, Enum): not_found = "NotFound" -class ComponentCriterionType(str, Enum): +class ComponentCriterionType(StrEnum): """ ComponentCriterionEnumType is used by getReportGetReportRequest """ @@ -343,7 +351,7 @@ class ComponentCriterionType(str, Enum): problem = "Problem" -class ConnectorStatusType(str, Enum): +class ConnectorStatusType(StrEnum): """ Status reported in StatusNotification.req. A status can be reported for the Charge Point main controller (connectorId = 0) or for a specific @@ -362,7 +370,7 @@ class ConnectorStatusType(str, Enum): faulted = "Faulted" -class ConnectorType(str, Enum): +class ConnectorType(StrEnum): """ Allowed values of ConnectorCode. """ @@ -421,7 +429,7 @@ class ConnectorType(str, Enum): unknown = "Unknown" -class CostKindType(str, Enum): +class CostKindType(StrEnum): """ CostKindEnumType is used by CommonCostType """ @@ -431,7 +439,7 @@ class CostKindType(str, Enum): renewable_generation_percentage = "RenewableGenerationPercentage" -class CustomerInformationStatusType(str, Enum): +class CustomerInformationStatusType(StrEnum): """ Status in CustomerInformationResponse """ @@ -441,7 +449,7 @@ class CustomerInformationStatusType(str, Enum): invalid = "Invalid" -class DataTransferStatusType(str, Enum): +class DataTransferStatusType(StrEnum): """ Status in DataTransferResponse. """ @@ -452,7 +460,7 @@ class DataTransferStatusType(str, Enum): unknown_vendor_id = "UnknownVendorId" -class DataType(str, Enum): +class DataType(StrEnum): """ DataEnumType is used by CommonVariableCharacteristicsType """ @@ -468,7 +476,7 @@ class DataType(str, Enum): password_string = "passwordString" -class DeleteCertificateStatusType(str, Enum): +class DeleteCertificateStatusType(StrEnum): """ DeleteCertificateStatusEnumType is used by deleteCertificateDeleteCertificateResponse @@ -479,7 +487,7 @@ class DeleteCertificateStatusType(str, Enum): not_found = "NotFound" -class DisplayMessageStatusType(str, Enum): +class DisplayMessageStatusType(StrEnum): """ Result for a SetDisplayMessageRequest as used in a SetDisplayMessageResponse. @@ -493,7 +501,7 @@ class DisplayMessageStatusType(str, Enum): unknown_transaction = "UnknownTransaction" -class EnergyTransferModeType(str, Enum): +class EnergyTransferModeType(StrEnum): """ Enumeration of energy transfer modes. """ @@ -504,7 +512,7 @@ class EnergyTransferModeType(str, Enum): ac_three_phase = "AC_three_phase" -class EventNotificationType(str, Enum): +class EventNotificationType(StrEnum): """ Specifies the event notification type of the message. """ @@ -515,7 +523,7 @@ class EventNotificationType(str, Enum): custom_monitor = "CustomMonitor" -class EventTriggerType(str, Enum): +class EventTriggerType(StrEnum): """ EventTriggerEnumType is used by notifyEventNotifyEventRequest.EventDataType @@ -526,7 +534,7 @@ class EventTriggerType(str, Enum): periodic = "Periodic" -class FirmwareStatusType(str, Enum): +class FirmwareStatusType(StrEnum): """ Status of a firmware download as reported in FirmwareStatusNotificationRequest @@ -548,7 +556,7 @@ class FirmwareStatusType(str, Enum): signature_verified = "SignatureVerified" -class GenericDeviceModelStatusType(str, Enum): +class GenericDeviceModelStatusType(StrEnum): """ Status of a firmware download as reported in GetBaseReportResponse """ @@ -559,7 +567,7 @@ class GenericDeviceModelStatusType(str, Enum): empty_result_set = "EmptyResultSet" -class GenericStatusType(str, Enum): +class GenericStatusType(StrEnum): """ Generic message response status """ @@ -568,7 +576,7 @@ class GenericStatusType(str, Enum): rejected = "Rejected" -class GetCertificateIdUseType(str, Enum): +class GetCertificateIdUseType(StrEnum): v2g_root_certificate = "V2GRootCertificate" mo_root_certificate = "MORootCertificate" csms_root_certificate = "CSMSRootCertificate" @@ -576,7 +584,7 @@ class GetCertificateIdUseType(str, Enum): manufacturer_root_certificate = "ManufacturerRootCertificate" -class GetCertificateStatusType(str, Enum): +class GetCertificateStatusType(StrEnum): """ GetCertificateStatusEnumType is used by getCertificateStatusGetCertificateStatusResponse @@ -586,7 +594,7 @@ class GetCertificateStatusType(str, Enum): failed = "Failed" -class GetChargingProfileStatusType(str, Enum): +class GetChargingProfileStatusType(StrEnum): """ GetChargingProfileStatusEnumType is used by getChargingProfilesGetChargingProfilesResponse @@ -596,7 +604,7 @@ class GetChargingProfileStatusType(str, Enum): no_profiles = "NoProfiles" -class GetDisplayMessagesStatusType(str, Enum): +class GetDisplayMessagesStatusType(StrEnum): """ GetDisplayMessagesStatusEnumType is used by getDisplayMessagesGetDisplayMessagesResponse @@ -606,7 +614,7 @@ class GetDisplayMessagesStatusType(str, Enum): unknown = "Unknown" -class GetInstalledCertificateStatusType(str, Enum): +class GetInstalledCertificateStatusType(StrEnum): """ GetInstalledCertificateStatusEnumType is used by getInstalledCertificateIdsGetInstalledCertificateIdsResponse @@ -616,7 +624,7 @@ class GetInstalledCertificateStatusType(str, Enum): notFound = "NotFound" -class GetVariableStatusType(str, Enum): +class GetVariableStatusType(StrEnum): """ GetVariableStatusEnumType is used by getVariablesGetVariablesResponse.GetVariableResultType @@ -629,7 +637,7 @@ class GetVariableStatusType(str, Enum): not_supported_attribute_type = "NotSupportedAttributeType" -class HashAlgorithmType(str, Enum): +class HashAlgorithmType(StrEnum): """ HashAlgorithmEnumType is used by CommonCertificateHashDataType , CommonOCSPRequestDataType @@ -640,7 +648,7 @@ class HashAlgorithmType(str, Enum): sha512 = "SHA512" -class IdTokenType(str, Enum): +class IdTokenType(StrEnum): """ Allowable values of the IdTokenType field. """ @@ -655,7 +663,7 @@ class IdTokenType(str, Enum): no_authorization = "NoAuthorization" -class InstallCertificateStatusType(str, Enum): +class InstallCertificateStatusType(StrEnum): """ InstallCertificateStatusEnumType is used by installCertificateInstallCertificateResponse @@ -666,7 +674,7 @@ class InstallCertificateStatusType(str, Enum): failed = "Failed" -class InstallCertificateUseType(str, Enum): +class InstallCertificateUseType(StrEnum): """ InstallCertificateUseEnumType is used by installCertificateInstallCertificateRequest @@ -678,7 +686,7 @@ class InstallCertificateUseType(str, Enum): manufacturer_root_certificate = "ManufacturerRootCertificate" -class Iso15118EVCertificateStatusType(str, Enum): +class Iso15118EVCertificateStatusType(StrEnum): """ Iso15118EVCertificateStatusEnumType is used by get15118EVCertificateGet15118EVCertificateResponse @@ -688,7 +696,7 @@ class Iso15118EVCertificateStatusType(str, Enum): failed = "Failed" -class LocationType(str, Enum): +class LocationType(StrEnum): """ Allowable values of the optional "location" field of a value element in SampledValue. @@ -701,7 +709,7 @@ class LocationType(str, Enum): outlet = "Outlet" -class LogType(str, Enum): +class LogType(StrEnum): """ LogEnumType is used by getLogGetLogRequest """ @@ -710,7 +718,7 @@ class LogType(str, Enum): security_log = "SecurityLog" -class LogStatusType(str, Enum): +class LogStatusType(StrEnum): """ Generic message response status """ @@ -720,7 +728,7 @@ class LogStatusType(str, Enum): accepted_canceled = "AcceptedCanceled" -class MeasurandType(str, Enum): +class MeasurandType(StrEnum): """ Allowable values of the optional "measurand" field of a Value element, as used in MeterValues.req and StopTransaction.req messages. Default value of @@ -754,7 +762,7 @@ class MeasurandType(str, Enum): voltage = "Voltage" -class MessageFormatType(str, Enum): +class MessageFormatType(StrEnum): """ Format of a message to be displayed on the display of the Charging Station. """ @@ -765,7 +773,7 @@ class MessageFormatType(str, Enum): utf8 = "UTF8" -class MessagePriorityType(str, Enum): +class MessagePriorityType(StrEnum): """ Priority with which a message should be displayed on a Charging Station. """ @@ -775,7 +783,7 @@ class MessagePriorityType(str, Enum): normal_cycle = "NormalCycle" -class MessageStateType(str, Enum): +class MessageStateType(StrEnum): """ State of the Charging Station during which a message SHALL be displayed. """ @@ -785,7 +793,7 @@ class MessageStateType(str, Enum): idle = "Idle" -class MessageTriggerType(str, Enum): +class MessageTriggerType(StrEnum): """ Type of request to be triggered in a TriggerMessage.req """ @@ -806,7 +814,7 @@ class MessageTriggerType(str, Enum): publish_firmware_status_notification = "PublishFirmwareStatusNotification" -class MonitorType(str, Enum): +class MonitorType(StrEnum): """ MonitorEnumType is used by CommonVariableMonitoringType """ @@ -818,7 +826,7 @@ class MonitorType(str, Enum): periodic_clock_aligned = "PeriodicClockAligned" -class MonitorBaseType(str, Enum): +class MonitorBaseType(StrEnum): """ MonitoringBaseEnumType is used by setMonitoringBaseSetMonitoringBaseRequest @@ -829,7 +837,7 @@ class MonitorBaseType(str, Enum): hard_wired_only = "HardWiredOnly" -class MonitoringCriterionType(str, Enum): +class MonitoringCriterionType(StrEnum): """ MonitoringCriterionEnumType is used by getMonitoringReportGetMonitoringReportRequest @@ -840,7 +848,7 @@ class MonitoringCriterionType(str, Enum): periodic_monitoring = "PeriodicMonitoring" -class MutabilityType(str, Enum): +class MutabilityType(StrEnum): """ MutabilityEnumType is used by CommonVariableAttributeType """ @@ -850,7 +858,7 @@ class MutabilityType(str, Enum): read_write = "ReadWrite" -class NotifyEVChargingNeedsStatusType(str, Enum): +class NotifyEVChargingNeedsStatusType(StrEnum): """ Accepted a SASchedule will be provided momentarily. Rejected Servoce is Not Available @@ -862,7 +870,7 @@ class NotifyEVChargingNeedsStatusType(str, Enum): processing = "Processing" -class OCPPInterfaceType(str, Enum): +class OCPPInterfaceType(StrEnum): """ Enumeration of network interfaces. """ @@ -877,7 +885,7 @@ class OCPPInterfaceType(str, Enum): wireless3 = "Wireless3" -class OCPPTransportType(str, Enum): +class OCPPTransportType(StrEnum): """ Enumeration of OCPP transport mechanisms. SOAP is currently not a valid value for OCPP 2.0. @@ -887,7 +895,7 @@ class OCPPTransportType(str, Enum): soap = "SOAP" -class OCPPVersionType(str, Enum): +class OCPPVersionType(StrEnum): """ Enumeration of OCPP transport mechanisms. SOAP is currently not a valid value for OCPP 2.0. @@ -899,7 +907,7 @@ class OCPPVersionType(str, Enum): ocpp20 = "OCPP20" -class OperationalStatusType(str, Enum): +class OperationalStatusType(StrEnum): """ Requested availability change in ChangeAvailability.req. """ @@ -908,7 +916,7 @@ class OperationalStatusType(str, Enum): operative = "Operative" -class PhaseType(str, Enum): +class PhaseType(StrEnum): """ Phase as used in SampledValue. Phase specifies how a measured value is to be interpreted. Please note that not all values of Phase are applicable to @@ -927,7 +935,7 @@ class PhaseType(str, Enum): l3_l1 = "L3-L1" -class PublishFirmwareStatusType(str, Enum): +class PublishFirmwareStatusType(StrEnum): """ Status for when publishing a Firmware """ @@ -944,7 +952,7 @@ class PublishFirmwareStatusType(str, Enum): publish_failed = "PublishFailed" -class ReadingContextType(str, Enum): +class ReadingContextType(StrEnum): """ Values of the context field of a value in SampledValue. """ @@ -959,7 +967,7 @@ class ReadingContextType(str, Enum): trigger = "Trigger" -class ReasonType(str, Enum): +class ReasonType(StrEnum): """ Reason for stopping a transaction in StopTransactionRequest """ @@ -985,7 +993,7 @@ class ReasonType(str, Enum): timeout = "Timeout" -class RecurrencyKindType(str, Enum): +class RecurrencyKindType(StrEnum): """ "Daily" The schedule restarts at the beginning of the next day. "Weekly" The schedule restarts at the beginning of the next week @@ -996,7 +1004,7 @@ class RecurrencyKindType(str, Enum): weekly = "Weekly" -class RegistrationStatusType(str, Enum): +class RegistrationStatusType(StrEnum): """ Result of registration in response to BootNotification.req. """ @@ -1006,7 +1014,7 @@ class RegistrationStatusType(str, Enum): rejected = "Rejected" -class ReportBaseType(str, Enum): +class ReportBaseType(StrEnum): """ Report Base Type required in GetBaseReportRequest """ @@ -1016,7 +1024,7 @@ class ReportBaseType(str, Enum): summary_inventory = "SummaryInventory" -class RequestStartStopStatusType(str, Enum): +class RequestStartStopStatusType(StrEnum): """ The result of a RemoteStartTransaction.req or RemoteStopTransaction.req request. @@ -1026,12 +1034,12 @@ class RequestStartStopStatusType(str, Enum): rejected = "Rejected" -class ReservationUpdateStatusType(str, Enum): +class ReservationUpdateStatusType(StrEnum): expired = "Expired" removed = "Removed" -class ReserveNowStatusType(str, Enum): +class ReserveNowStatusType(StrEnum): """ Status in ReserveNowResponse. """ @@ -1043,7 +1051,7 @@ class ReserveNowStatusType(str, Enum): unavailable = "Unavailable" -class ResetStatusType(str, Enum): +class ResetStatusType(StrEnum): """ Result of Reset.req """ @@ -1053,7 +1061,7 @@ class ResetStatusType(str, Enum): scheduled = "Scheduled" -class ResetType(str, Enum): +class ResetType(StrEnum): """ Type of reset requested by Reset.req """ @@ -1062,7 +1070,7 @@ class ResetType(str, Enum): on_idle = "OnIdle" -class SendLocalListStatusType(str, Enum): +class SendLocalListStatusType(StrEnum): """ Type of update for a SendLocalList Request. """ @@ -1072,7 +1080,7 @@ class SendLocalListStatusType(str, Enum): version_mismatch = "VersionMismatch" -class SetMonitoringStatusType(str, Enum): +class SetMonitoringStatusType(StrEnum): """ Status in SetVariableMonitoringResponse """ @@ -1085,7 +1093,7 @@ class SetMonitoringStatusType(str, Enum): duplicate = "Duplicate" -class SetNetworkProfileStatusType(str, Enum): +class SetNetworkProfileStatusType(StrEnum): """ Status in SetNetworkProfileResponse """ @@ -1095,7 +1103,7 @@ class SetNetworkProfileStatusType(str, Enum): failed = "Failed" -class SetVariableStatusType(str, Enum): +class SetVariableStatusType(StrEnum): """ Status in ChangeConfigurationResponse. """ @@ -1108,7 +1116,7 @@ class SetVariableStatusType(str, Enum): reboot_required = "RebootRequired" -class TransactionEventType(str, Enum): +class TransactionEventType(StrEnum): """ Type of Event in TransactionEventRequest """ @@ -1118,7 +1126,7 @@ class TransactionEventType(str, Enum): updated = "Updated" -class TriggerMessageStatusType(str, Enum): +class TriggerMessageStatusType(StrEnum): """ Status in TriggerMessageResponse. """ @@ -1128,7 +1136,7 @@ class TriggerMessageStatusType(str, Enum): not_implemented = "NotImplemented" -class TriggerReasonType(str, Enum): +class TriggerReasonType(StrEnum): """ Reason that triggered a transactionEventRequest """ @@ -1156,7 +1164,7 @@ class TriggerReasonType(str, Enum): reset_command = "ResetCommand" -class TxStartStopPointType(str, Enum): +class TxStartStopPointType(StrEnum): """ The values allowed for the TxStartPoint and TxStopPoint variables. """ @@ -1169,7 +1177,7 @@ class TxStartStopPointType(str, Enum): power_path_closed = "PowerPathClosed" -class UnlockStatusType(str, Enum): +class UnlockStatusType(StrEnum): """ Status in response to UnlockConnector.req. """ @@ -1180,7 +1188,7 @@ class UnlockStatusType(str, Enum): unknown_connector = "UnknownConnector" -class UnpublishFirmwareStatusType(str, Enum): +class UnpublishFirmwareStatusType(StrEnum): """ Status for when unpublishing a Firmware (used by UnpublishFirmwareResponse) """ @@ -1190,7 +1198,7 @@ class UnpublishFirmwareStatusType(str, Enum): unpublished = "Unpublished" -class UpdateFirmwareStatusType(str, Enum): +class UpdateFirmwareStatusType(StrEnum): """ Generic message response status for UpdateFirmwareResponse """ @@ -1202,7 +1210,7 @@ class UpdateFirmwareStatusType(str, Enum): revoked_certificate = "RevokedCertificate" -class UpdateType(str, Enum): +class UpdateType(StrEnum): """ Type of update for a SendLocalList Request. """ @@ -1211,7 +1219,7 @@ class UpdateType(str, Enum): full = "Full" -class UploadLogStatusType(str, Enum): +class UploadLogStatusType(StrEnum): """ Status in LogStatusNotificationRequest. """ @@ -1226,7 +1234,7 @@ class UploadLogStatusType(str, Enum): accepted_canceled = "AcceptedCanceled" -class VPNType(str, Enum): +class VPNType(StrEnum): """ Enumeration of VPN Types used in SetNetworkProfileRequest.VPNType """ @@ -1240,7 +1248,7 @@ class VPNType(str, Enum): # DataTypes -class UnitOfMeasureType(str, Enum): +class UnitOfMeasureType(StrEnum): """ Allowable values of the optional "unit" field of a Value element, as used in MeterValues.req and StopTransaction.req messages. Default value of @@ -1283,8 +1291,10 @@ class UnitOfMeasureType(str, Enum): k = "K" -class StatusInfoReasonType(str, Enum): - """Standardized reason codes for StatusInfo defined in Appendix 5.""" +class StatusInfoReasonType(StrEnum): + """ + Standardized reason codes for StatusInfo defined in Appendix 5. v1.3 + """ cs_not_accepted = "CSNotAccepted" duplicate_profile = "DuplicateProfile" @@ -1295,11 +1305,13 @@ class StatusInfoReasonType(str, Enum): invalid_certificate = "InvalidCertificate" invalid_csr = "InvalidCSR" invalid_id_token = "InvalidIdToken" + invalid_message_sequence = "InvalidMessageSequence" invalid_profile = "InvalidProfile" invaild_schedule = "InvalidSchedule" invalid_stack_level = "InvalidStackLevel" invalid_url = "InvalidURL" invalid_value = "InvalidValue" + missing_device_model_info = "MissingDeviceModelInfo" missing_param = "MissingParam" no_cable = "NoCable" no_error = "NoError" @@ -1329,8 +1341,10 @@ class StatusInfoReasonType(str, Enum): write_only = "WriteOnly" -class SecurityEventType(str, Enum): - """Security Events as listed in Appendices (Appendix 1. Security Events)""" +class SecurityEventType(StrEnum): + """ + Security Events as listed in Appendices (Appendix 1. Security Events) v1.3 + """ firmware_updated = "FirmwareUpdated" failed_to_authenticate_at_csms = "FailedToAuthenticateAtCsms" @@ -1350,3 +1364,1350 @@ class SecurityEventType(str, Enum): invalid_charging_station_certificate = "InvalidChargingStationCertificate" invalid_tls_version = "InvalidTLSVersion" invalid_tls_cipher_suite = "InvalidTLSCipherSuite" + maintenance_login_accepted = "MaintenanceLoginAccepted" + maintenance_login_failed = "MaintenanceLoginFailed" + + +class ControllerComponentName(StrEnum): + """ + Referenced Controller Components (Logical Components) + Sourced from ocpp 2.0.1 part 2 appendices 3.1 v1.3, in + appendices_CSV_v1.3.zip dm_components_vars.csv and components.csv. + """ + + aligned_data_ctrlr = "AlignedDataCtrlr" + auth_cache_ctrlr = "AuthCacheCtrlr" + auth_ctrlr = "AuthCtrlr" + chademo_ctrlr = "CHAdeMOCtrlr" + clock_ctrlr = "ClockCtrlr" + customization_ctrlr = "CustomizationCtrlr" + device_data_ctrlr = "DeviceDataCtrlr" + display_message_ctrlr = "DisplayMessageCtrlr" + iso15118_ctrlr = "ISO15118Ctrlr" + local_auth_list_ctrlr = "LocalAuthListCtrlr" + monitoring_ctrlr = "MonitoringCtrlr" + ocpp_comm_ctrlr = "OCPPCommCtrlr" + reservation_ctrlr = "ReservationCtrlr" + sampled_data_ctrlr = "SampledDataCtrlr" + security_ctrlr = "SecurityCtrlr" + smart_charging_ctrlr = "SmartChargingCtrlr" + tariff_cost_ctrlr = "TariffCostCtrlr" + tx_ctrlr = "TxCtrlr" + + +class PhysicalComponentName(StrEnum): + """ + Referenced Physical Components - sourced from dm_components_vars.csv. + Note: specific variables for each component are sourced from a union of + ocpp 2.0.1 part 2 appendices 3.2 v1.3 and dm_components_vars.csv + from appendices_CSV_v1.3.zip. That is for all Physical Components in + section 3.2. expressed in this module as enums, + e.g. the variables of ControllerVariableName enum + """ + + access_barrier = "AccessBarrier" + ac_dc_converter = "AcDcConverter" + ac_phase_selector = "AcPhaseSelector" + actuator = "Actuator" + air_cooling_system = "AirCoolingSystem" + area_ventilation = "AreaVentilation" + bay_occupancy_sensor = "BayOccupancySensor" + beacon_lighting = "BeaconLighting" + cable_breakaway_sensor = "CableBreakawaySensor" + case_access_sensor = "CaseAccessSensor" + charging_station = "ChargingStation" + charging_status_indicator = "ChargingStatusIndicator" + connected_ev = "ConnectedEV" + connector = "Connector" + connector_holster_release = "ConnectorHolsterRelease" + connector_holster_sensor = "ConnectorHolsterSensor" + connector_plug_retention_lock = "ConnectorPlugRetentionLock" + connector_protection_release = "ConnectorProtectionRelease" + controller = "Controller" + control_metering = "ControlMetering" + cppwm_controller = "CPPWMController" + data_link = "DataLink" + display = "Display" + distribution_panel = "DistributionPanel" + electrical_feed = "ElectricalFeed" + elv_supply = "ELVSupply" + emergency_stop_sensor = "EmergencyStopSensor" + environmental_lighting = "EnvironmentalLighting" + ev_retention_lock = "EVRetentionLock" + evse = "EVSE" + external_temperature_sensor = "ExternalTemperatureSensor" + fiscal_metering = "FiscalMetering" + flood_sensor = "FloodSensor" + ground_isolation_protection = "GroundIsolationProtection" + heater = "Heater" + humidity_sensor = "HumiditySensor" + light_sensor = "LightSensor" + liquid_cooling_system = "LiquidCoolingSystem" + local_availability_sensor = "LocalAvailabilitySensor" + local_controller = "LocalController" + local_energy_storage = "LocalEnergyStorage" + over_current_protection = "OverCurrentProtection" + over_current_protection_recloser = "OverCurrentProtectionRecloser" + power_contactor = "PowerContactor" + rcd = "RCD" + rcd_recloser = "RCDRecloser" + real_time_clock = "RealTimeClock" + shock_sensor = "ShockSensor" + spaces_count_signage = "SpacesCountSignage" + switch = "Switch" + temperature_sensor = "TemperatureSensor" + tilt_sensor = "TiltSensor" + token_reader = "TokenReader" + ui_input = "UIInput" + upstream_protection_trigger = "UpstreamProtectionTrigger" + vehicle_id_sensor = "VehicleIdSensor" + + +class GenericVariableName(StrEnum): + """ + Variable names where the component type is non-specific + derived from a union of in appendices_CSV_v1.3.zip, + dm_components_vars.csv (Generic) and variables.csv + """ + + ac_current = "ACCurrent" + active = "Active" + ac_voltage = "ACVoltage" + allow_reset = "AllowReset" + angle = "Angle" + attempts = "Attempts" + availability_state = "AvailabilityState" + available = "Available" + certificate = "Certificate" + charge_protocol = "ChargeProtocol" + charging_complete_bulk = "ChargingCompleteBulk" + charging_complete_full = "ChargingCompleteFull" + charging_time = "ChargingTime" + color = "Color" + complete = "Complete" + connected_time = "ConnectedTime" + connector_type = "ConnectorType" + count = "Count" + currency = "Currency" + current_imbalance = "CurrentImbalance" + data_text = "DataText" + date_time = "DateTime" + dc_current = "DCCurrent" + dc_voltage = "DCVoltage" + departure_time = "DepartureTime" + ec_variant = "ECVariant" + enabled = "Enabled" + energy = "Energy" + energy_capacity = "EnergyCapacity" + energy_export = "EnergyExport" + energy_export_register = "EnergyExportRegister" + energy_import = "EnergyImport" + energy_import_register = "EnergyImportRegister" + entries = "Entries" + evse_id = "EvseId" + fallback = "Fallback" + fan_speed = "FanSpeed" + firmware_version = "FirmwareVersion" + force = "Force" + formats = "Formats" + frequency = "Frequency" + fuse_rating = "FuseRating" + height = "Height" + humidity = "Humidity" + hysteresis = "Hysteresis" + iccid = "ICCID" + impedance = "Impedance" + imsi = "IMSI" + interval = "Interval" + length = "Length" + light = "Light" + manufacturer = "Manufacturer" + message = "Message" + minimum_status_duration = "MinimumStatusDuration" + mode = "Mode" + model = "Model" + network_address = "NetworkAddress" + operated = "Operated" + operating_times = "OperatingTimes" + overload = "Overload" + percent = "Percent" + phase_rotation = "PhaseRotation" + post_charging_time = "PostChargingTime" + power = "Power" + problem = "Problem" + protecting = "Protecting" + remaining_time_bulk = "RemainingTimeBulk" + remaining_time_full = "RemainingTimeFull" + secc_id = "SeccId" + serial_number = "SerialNumber" + signal_strength = "SignalStrength" + state = "State" + state_of_charge = "StateOfCharge" + state_of_charge_bulk = "StateOfChargeBulk" + storage = "Storage" + supply_phases = "SupplyPhases" + suspending = "Suspending" + suspension = "Suspension" + temperature = "Temperature" + time = "Time" + time_offset = "TimeOffset" + timeout = "Timeout" + token = "Token" + token_type = "TokenType" + tries = "Tries" + tripped = "Tripped" + vehicle_id = "VehicleId" + version_date = "VersionDate" + version_number = "VersionNumber" + voltage_imbalance = "VoltageImbalance" + + +class AlignedDataCtrlrVariableName(StrEnum): + """ + Variable names where the component type is AlignedDataCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + enabled = "Enabled" + interval = "Interval" + measurands = "Measurands" + send_during_idle = "SendDuringIdle" + sign_readings = "SignReadings" + tx_ended_interval = "TxEndedInterval" + tx_ended_measurands = "TxEndedMeasurands" + + +class AuthCacheCtrlrVariableName(StrEnum): + """ + Variable names where the component type is AuthCacheCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + enabled = "Enabled" + life_time = "LifeTime" + policy = "Policy" + storage = "Storage" + disable_post_authorize = "DisablePostAuthorize" + + +class AuthCtrlrVariableName(StrEnum): + """ + Variable names where the component type is AuthCtrlr + See ControllerComponentName for referenced logical component + """ + + additional_info_items_per_message = "AdditionalInfoItemsPerMessage" + authorize_remote_start = "AuthorizeRemoteStart" + enabled = "Enabled" + local_authorize_offline = "LocalAuthorizeOffline" + local_pre_authorize = "LocalPreAuthorize" + master_pass_group_id = "MasterPassGroupId" + offline_tx_for_unknown_id_enabled = "OfflineTxForUnknownIdEnabled" + disable_remote_authorization = "DisableRemoteAuthorization" + + +class CHAdeMOCtrlrVariableName(StrEnum): + """ + Variable names where the component type is CHAdeMOCtrlr + See ControllerComponentName for referenced logical component + """ + + enabled = "Enabled" + active = "Active" + complete = "Complete" + tripped = "Tripped" + problem = "Problem" + selftest_active = "SelftestActive" + selftest_active_set = "SelftestActive(Set)" + chademo_protocol_number = "CHAdeMOProtocolNumber" + vehicle_status = "VehicleStatus" + dynamic_control = "DynamicControl" + high_current_control = "HighCurrentControl" + high_voltage_control = "HighVoltageControl" + auto_manufacturer_code = "AutoManufacturerCode" + + +class ClockCtrlrVariableName(StrEnum): + """ + Variable names where the component type is ClockCtrlr + See ControllerComponentName for referenced logical component + """ + + date_time = "DateTime" + next_time_offset_transition_date_time = "NextTimeOffsetTransitionDateTime" + ntp_server_uri = "NtpServerUri" + ntp_source = "NtpSource" + time_adjustment_reporting_threshold = "TimeAdjustmentReportingThreshold" + time_offset = "TimeOffset" + time_source = "TimeSource" + time_zone = "TimeZone" + + +class CustomizationCtrlrVariableName(StrEnum): + """ + Variable names where the component type is CustomizationCtrlr + See ControllerComponentName for referenced logical component + """ + + custom_implementation_enabled = "CustomImplementationEnabled" + + +class DeviceDataCtrlrVariableName(StrEnum): + """ + Variable names where the component type is DeviceDataCtrlr + See ControllerComponentName for referenced logical component + """ + + bytes_per_message = "BytesPerMessage" + configuration_value_size = "ConfigurationValueSize" + items_per_message = "ItemsPerMessage" + reporting_value_size = "ReportingValueSize" + value_size = "ValueSize" + + +class DeviceDataCtrlrInstanceName(StrEnum): + """ + Instance names where the component type is DeviceDataCtrlr + """ + + get_report = "GetReport" + get_variables = "GetVariables" + set_variables = "SetVariables" + + +class DisplayMessageCtrlrVariableName(StrEnum): + """ + Variable names where the component type is DisplayMessageCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + display_messages = "DisplayMessages" + enabled = "Enabled" + personal_message_size = "PersonalMessageSize" + supported_formats = "SupportedFormats" + supported_priorities = "SupportedPriorities" + + +class ISO15118CtrlrVariableName(StrEnum): + """ + Variable names where the component type is ISO15118Ctrlr + See ControllerComponentName for referenced logical component + """ + + active = "Active" + enabled = "Enabled" + central_contract_validation_allowed = "CentralContractValidationAllowed" + complete = "Complete" + contract_validation_offline = "ContractValidationOffline" + secc_id = "SeccId" + selftest_active = "SelftestActive" + selftest_active_set = "SelftestActive(Set)" + max_schedule_entries = "MaxScheduleEntries" + requested_energy_transfer_mode = "RequestedEnergyTransferMode" + request_metering_receipt = "RequestMeteringReceipt" + country_name = "CountryName" + organization_name = "OrganizationName" + pnc_enabled = "PnCEnabled" + problem = "Problem" + tripped = "Tripped" + v2g_certificate_installation_enabled = "V2GCertificateInstallationEnabled" + contract_certificate_installation_enabled = "ContractCertificateInstallationEnabled" + + +class LocalAuthListCtrlrVariableName(StrEnum): + """ + Variable names where the component type is LocalAuthListCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + bytes_per_message = "BytesPerMessage" + enabled = "Enabled" + entries = "Entries" + items_per_message = "ItemsPerMessage" + storage = "Storage" + disable_post_authorize = "DisablePostAuthorize" + + +class MonitoringCtrlrVariableName(StrEnum): + """ + Variable names where the component type is MonitoringCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + bytes_per_message = "BytesPerMessage" + enabled = "Enabled" + items_per_message = "ItemsPerMessage" + offline_queuing_severity = "OfflineQueuingSeverity" + monitoring_base = "MonitoringBase" + monitoring_level = "MonitoringLevel" + active_monitoring_base = "ActiveMonitoringBase" + active_monitoring_level = "ActiveMonitoringLevel" + + +class MonitoringCtrlrInstanceName(StrEnum): + """ + Instance names where the component type is MonitoringCtrlr + """ + + clear_variable_monitoring = "ClearVariableMonitoring" + set_variable_monitoring = "SetVariableMonitoring" + + +class OCPPCommCtrlrVariableName(StrEnum): + """ + Variable names where the component type is OCPPCommCtrlr + See ControllerComponentName for referenced logical component + """ + + active_network_profile = "ActiveNetworkProfile" + file_transfer_protocols = "FileTransferProtocols" + heartbeat_interval = "HeartbeatInterval" + message_timeout = "MessageTimeout" + message_attempt_interval = "MessageAttemptInterval" + message_attempts = "MessageAttempts" + minimum_status_duration = "MinimumStatusDuration" + network_configuration_priority = "NetworkConfigurationPriority" + network_profile_connection_attempts = "NetworkProfileConnectionAttempts" + offline_threshold = "OfflineThreshold" + public_key_with_signed_meter_value = "PublicKeyWithSignedMeterValue" + queue_all_messages = "QueueAllMessages" + reset_retries = "ResetRetries" + retry_back_off_random_range = "RetryBackOffRandomRange" + retry_back_off_repeat_times = "RetryBackOffRepeatTimes" + retry_back_off_wait_minimum = "RetryBackOffWaitMinimum" + unlock_on_ev_side_disconnect = "UnlockOnEVSideDisconnect" + web_socket_ping_interval = "WebSocketPingInterval" + field_length = "FieldLength" + + +class OCPPCommCtrlrInstanceName(StrEnum): + """ + Instance names where the component type is OCPPCommCtrlr + """ + + default = "Default" + transaction_event = "TransactionEvent" + + +class ReservationCtrlrVariableName(StrEnum): + """ + Variable names where the component type is ReservationCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + enabled = "Enabled" + non_evse_specific = "NonEvseSpecific" + + +class SampledDataCtrlrVariableName(StrEnum): + """ + Variable names where the component type is SampledDataCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + enabled = "Enabled" + sign_readings = "SignReadings" + tx_ended_interval = "TxEndedInterval" + tx_ended_measurands = "TxEndedMeasurands" + tx_started_measurands = "TxStartedMeasurands" + tx_updated_interval = "TxUpdatedInterval" + tx_updated_measurands = "TxUpdatedMeasurands" + register_values_without_phases = "RegisterValuesWithoutPhases" + + +class SecurityCtrlrVariableName(StrEnum): + """ + Variable names where the component type is SampledDataCtrlr + See ControllerComponentName for referenced logical component + """ + + additional_root_certificate_check = "AdditionalRootCertificateCheck" + basic_auth_password = "BasicAuthPassword" + certificate_entries = "CertificateEntries" + cert_signing_repeat_times = "CertSigningRepeatTimes" + cert_signing_wait_minimum = "CertSigningWaitMinimum" + identity = "Identity" + max_certificate_chain_size = "MaxCertificateChainSize" + organization_name = "OrganizationName" + security_profile = "SecurityProfile" + + +class SmartChargingCtrlrVariableName(StrEnum): + """ + Variable names where the component type is SmartChargingCtrlr + See ControllerComponentName for referenced logical component + """ + + ac_phase_switching_supported = "ACPhaseSwitchingSupported" + available = "Available" + enabled = "Enabled" + entries = "Entries" + external_control_signals_enabled = "ExternalControlSignalsEnabled" + limit_change_significance = "LimitChangeSignificance" + notify_charging_limit_with_schedules = "NotifyChargingLimitWithSchedules" + periods_per_schedule = "PeriodsPerSchedule" + phases_3to1 = "Phases3to1" + profile_stack_level = "ProfileStackLevel" + rate_unit = "RateUnit" + + +class SmartChargingCtrlrInstanceName(StrEnum): + """ + Instance names where the component type is SmartChargingCtrlr + """ + + charging_profiles = "ChargingProfiles" + + +class TariffCostCtrlrVariableName(StrEnum): + """ + Variable names where the component type is TariffCostCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + currency = "Currency" + enabled = "Enabled" + tariff_fallback_message = "TariffFallbackMessage" + total_cost_fallback_message = "TotalCostFallbackMessage" + + +class TariffCostCtrlrInstanceName(StrEnum): + """ + Instance names where the component type is TariffCostCtrlr + """ + + tariff = "Tariff" + cost = "Cost" + + +class TxCtrlrVariableName(StrEnum): + """ + Instance names where the component type is TxCtrlr + See ControllerComponentName for referenced logical component + """ + + charging_time = "ChargingTime" + ev_connection_time_out = "EVConnectionTimeOut" + max_energy_on_invalid_id = "MaxEnergyOnInvalidId" + stop_tx_on_ev_side_disconnect = "StopTxOnEVSideDisconnect" + stop_tx_on_invalid_id = "StopTxOnInvalidId" + tx_before_accepted_enabled = "TxBeforeAcceptedEnabled" + tx_start_point = "TxStartPoint" + tx_stop_point = "TxStopPoint" + + +class AccessBarrierVariableName(StrEnum): + """ + Variable names where the component type is AccessBarrier + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + active = "Active" + problem = "Problem" + + +class AcDcConverterVariableName(StrEnum): + """ + Variable names where the component type is AcDcConverter + See PhysicalComponentName for referenced physical component + """ + + dc_current = "DCCurrent" + dc_voltage = "DCVoltage" + enabled = "Enabled" + fan_speed = "FanSpeed" + overload = "Overload" + power = "Power" + problem = "Problem" + temperature = "Temperature" + tripped = "Tripped" + + +class AcPhaseSelectorVariableName(StrEnum): + """ + Variable names where the component type is AcPhaseSelector + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + phase_rotation = "PhaseRotation" + problem = "Problem" + + +class ActuatorVariableName(StrEnum): + """ + Variable names where the component type is Actuator + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + problem = "Problem" + state = "State" + + +class AirCoolingSystemVariableName(StrEnum): + """ + Variable names where the component type is AirCoolingSystem + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + problem = "Problem" + fan_speed = "FanSpeed" + + +class AreaVentilationVariableName(StrEnum): + """ + Variable names where the component type is AreaVentilation + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + problem = "Problem" + fan_speed = "FanSpeed" + + +class BayOccupancySensorVariableName(StrEnum): + """ + Variable names where the component type is BayOccupancySensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + percent = "Percent" + + +class BeaconLightingVariableName(StrEnum): + """ + Variable names where the component type is BeaconLighting + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + color = "Color" + enabled = "Enabled" + enabled_set = "Enabled(Set)" + percent = "Percent" + percent_set = "Percent(Set)" + power = "Power" + problem = "Problem" + + +class CableBreakawaySensorVariableName(StrEnum): + """ + Variable names where the component type is CableBreakawaySensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + tripped = "Tripped" + + +class CaseAccessSensorVariableName(StrEnum): + """ + Variable names where the component type is CaseAccessSensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + enabled_set = "Enabled(Set)" + problem = "Problem" + tripped = "Tripped" + + +class ChargingStationVariableName(StrEnum): + """ + Variable names where the component type is ChargingStation + See PhysicalComponentName for referenced physical component + """ + + ac_current = "ACCurrent" + ac_voltage = "ACVoltage" + ac_voltage_max_limit = "ACVoltage(MaxLimit)" + allow_new_sessions_pending_firmware_update = "AllowNewSessionsPendingFirmwareUpdate" + available = "Available" + availability_state = "AvailabilityState" + charge_protocol = "ChargeProtocol" + current_imbalance = "CurrentImbalance" + ec_variant = "ECVariant" + enabled = "Enabled" + identity = "Identity" + model = "Model" + operating_times = "OperatingTimes" + overload = "Overload" + phase_rotation = "PhaseRotation" + power = "Power" + power_max_limit = "Power(MaxLimit)" + problem = "Problem" + serial_number = "SerialNumber" + supply_phases = "SupplyPhases" + supply_phases_max_limit = "SupplyPhases(MaxLimit)" + tripped = "Tripped" + vendor_name = "VendorName" + voltage_imbalance = "VoltageImbalance" + + +class ChargingStatusIndicatorVariableName(StrEnum): + """ + Variable names where the component type is ChargingStatusIndicator + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + color = "Color" + + +class ConnectedEVVariableName(StrEnum): + """ + Variable names where the component type is ConnectedEV + See PhysicalComponentName for referenced physical component + """ + + protocol_agreed = "ProtocolAgreed" + protocol_supported_by_ev = "ProtocolSupportedByEV" + vehicle_id = "VehicleId" + # Voltage and current values + ac_current = "ACCurrent" + ac_voltage = "ACVoltage" + dc_current = "DCCurrent" + dc_voltage = "DCVoltage" + # Power, energy and time values + power = "Power" + energy_import = "EnergyImport" + departure_time = "DepartureTime" + energy_capacity = "EnergyCapacity" + remaining_time_bulk = "RemainingTimeBulk" + remaining_time_full = "RemainingTimeFull" + state_of_charge = "StateOfCharge" + state_of_charge_bulk = "StateOfChargeBulk" + charging_complete_bulk = "ChargingCompleteBulk" + charging_complete_full = "ChargingCompleteFull" + + +class ChargingStateVariableName(StrEnum): + """ + Variable names where the component type is ChargingState + """ + + # Status values - ChargingState + battery_overvoltage = "BatteryOvervoltage" + battery_undervoltage = "BatteryUndervoltage" + charging_current_deviation = "ChargingCurrentDeviation" + battery_temperature = "BatteryTemperature" + voltage_deviation = "VoltageDeviation" + charging_system_error = "ChargingSystemError" + vehicle_shift_position = "VehicleShiftPosition" + vehicle_charging_enabled = "VehicleChargingEnabled" + charging_system_incompatibility = "ChargingSystemIncompatibility" + charger_connector_lock_fault = "ChargerConnectorLockFault" + + +class ConnectorVariableName(StrEnum): + """ + Variable names where the component type is Connector + See PhysicalComponentName for referenced physical component + """ + + availability_state = "AvailabilityState" + available = "Available" + charge_protocol = "ChargeProtocol" + connector_type = "ConnectorType" + enabled = "Enabled" + phase_rotation = "PhaseRotation" + problem = "Problem" + supply_phases = "SupplyPhases" + supply_phases_max_limit = "SupplyPhases(MaxLimit)" + tripped = "Tripped" + + +class ConnectorHolsterReleaseVariableName(StrEnum): + """ + Variable names where the component type is ConnectorHolsterRelease + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + active = "Active" + problem = "Problem" + state = "State" + + +class ConnectorHolsterSensorVariableName(StrEnum): + """ + Variable names where the component type is ConnectorHolsterSensor + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + active = "Active" + problem = "Problem" + + +class ConnectorPlugRetentionLockVariableName(StrEnum): + """ + Variable names where the component type is ConnectorPlugRetentionLock + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + active = "Active" + problem = "Problem" + tripped = "Tripped" + tries = "Tries" + tries_set_limit = "Tries(SetLimit)" + tries_max_limit = "Tries(MaxLimit)" + + +class ConnectorProtectionReleaseVariableName(StrEnum): + """ + Variable names where the component type is ConnectorProtectionRelease + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + active = "Active" + problem = "Problem" + tripped = "Tripped" + + +class ControllerVariableName(StrEnum): + """ + Variable names where the component type is Controller + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + ec_variant = "ECVariant" + firmware_version = "FirmwareVersion" + interval_heartbeat = "Interval[Heartbeat]" + manufacturer = "Manufacturer" + max_msg_elements = "MaxMsgElements" + model = "Model" + problem = "Problem" + selftest_active = "SelftestActive" + selftest_active_set = "SelftestActive(Set)" + serial_number = "SerialNumber" + version_date = "VersionDate" + version_number = "VersionNumber" + + +class ControlMeteringVariableName(StrEnum): + """ + Variable names where the component type is ControlMetering + See PhysicalComponentName for referenced physical component + """ + + power = "Power" + ac_current = "ACCurrent" + dc_current = "DCCurrent" + dc_voltage = "DCVoltage" + + +class CPPWMControllerVariableName(StrEnum): + """ + Variable names where the component type is CPPWMController + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + dc_voltage = "DCVoltage" + enabled = "Enabled" + percentage = "Percentage" + problem = "Problem" + selftest_active = "SelftestActive" + selftest_active_set = "SelftestActive(Set)" + state = "State" + + +class DataLinkVariableName(StrEnum): + """ + Variable names where the component type is DataLink + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + complete = "Complete" + enabled = "Enabled" + fallback = "Fallback" + iccid = "ICCID" + imsi = "IMSI" + network_address = "NetworkAddress" + problem = "Problem" + signal_strength = "SignalStrength" + + +class DisplayVariableName(StrEnum): + """ + Variable names where the component type is Display + See PhysicalComponentName for referenced physical component + """ + + color = "Color" + count_height_in_chars = "Count[HeightInChars]" + count_width_in_chars = "Count[WidthInChars]" + data_text_visible = "DataText[Visible]" + enabled = "Enabled" + problem = "Problem" + state = "State" + + +class DistributionPanelVariableName(StrEnum): + """ + Variable names where the component type is DistributionPanel + See PhysicalComponentName for referenced physical component + """ + + charging_station = "ChargingStation" + distribution_panel = "DistributionPanel" + fuse = "Fuse" + instance_name = "InstanceName" + + +class ElectricalFeedVariableName(StrEnum): + """ + Variable names where the component type is ElectricalFeed + See PhysicalComponentName for referenced physical component + """ + + ac_voltage = "ACVoltage" + active = "Active" + dc_voltage = "DCVoltage" + enabled = "Enabled" + energy = "Energy" + phase_rotation = "PhaseRotation" + power = "Power" + power_type = "PowerType" + problem = "Problem" + supply_phases = "SupplyPhases" + + +class ELVSupplyVariableName(StrEnum): + """ + Variable names where the component type is ELVSupply + See PhysicalComponentName for referenced physical component + """ + + energy_import_register = "EnergyImportRegister" + fallback = "Fallback" + fallback_max_limit = "Fallback(MaxLimit)" + power = "Power" + power_max_limit = "Power(MaxLimit)" + state_of_charge = "StateOfCharge" + time = "Time" + + +class EmergencyStopSensorVariableName(StrEnum): + """ + Variable names where the component type is EmergencyStopSensor + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + active = "Active" + tripped = "Tripped" + + +class EnvironmentalLightingVariableName(StrEnum): + """ + Variable names where the component type is EnvironmentalLighting + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + color = "Color" + enabled = "Enabled" + enabled_set = "Enabled(Set)" + percent = "Percent" + percent_set = "Percent(Set)" + power = "Power" + problem = "Problem" + + +class EVRetentionLockVariableName(StrEnum): + """ + Variable names where the component type is EVRetentionLock + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + complete = "Complete" + enabled = "Enabled" + problem = "Problem" + + +class EVSEVariableName(StrEnum): + """ + Variable names where the component type is EVSE + See PhysicalComponentName for referenced physical component + """ + + ac_current = "ACCurrent" + ac_voltage = "ACVoltage" + available = "Available" + availability_state = "AvailabilityState" + allow_reset = "AllowReset" + charge_protocol = "ChargeProtocol" + charging_time = "ChargingTime" + count_charging_profiles_max_limit = "Count[ChargingProfiles](MaxLimit)" + count_charging_profiles = "Count[ChargingProfiles]" + current_imbalance = "CurrentImbalance" + dc_current = "DCCurrent" + dc_voltage = "DCVoltage" + enabled = "Enabled" + evse_id = "EvseId" + iso15118_evse_id = "ISO15118EvseId" + overload = "Overload" + phase_rotation = "PhaseRotation" + post_charging_time = "PostChargingTime" + power = "Power" + problem = "Problem" + supply_phases = "SupplyPhases" + tripped = "Tripped" + voltage_imbalance = "VoltageImbalance" + + +class ExternalTemperatureSensorVariableName(StrEnum): + """ + Variable names where the component type is ExternalTemperatureSensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + problem = "Problem" + temperature = "Temperature" + + +class FiscalMeteringVariableName(StrEnum): + """ + Variable names where the component type is FiscalMetering + See PhysicalComponentName for referenced physical component + """ + + problem = "Problem" + certificate = "Certificate" + ec_variant = "ECVariant" + energy_export = "EnergyExport" + energy_export_register = "EnergyExportRegister" + energy_import = "EnergyImport" + energy_import_register = "EnergyImportRegister" + manufacturer_ct = "Manufacturer[CT]" + manufacturer_meter = "Manufacturer[Meter]" + model_ct = "Model[CT]" + model_meter = "Model[Meter]" + options_set_meter_value_aligned_data = "OptionsSet[MeterValueAlignedData]" + options_set_txn_stopped_aligned_data = "OptionsSet[TxnStoppedAlignedData]" + serial_number_ct = "SerialNumber[CT]" + serial_number_meter = "SerialNumber[Meter]" + + +class FloodSensorVariableName(StrEnum): + """ + Variable names where the component type is FloodSensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + height = "Height" + percent = "Percent" + tripped = "Tripped" + + +class GroundIsolationProtectionVariableName(StrEnum): + """ + Variable names where the component type is GroundIsolationProtection + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + complete = "Complete" + enabled = "Enabled" + impedance = "Impedance" + problem = "Problem" + + +class HeaterVariableName(StrEnum): + """ + Variable names where the component type is Heater + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + problem = "Problem" + tripped = "Tripped" + power = "Power" + power_max_limit = "Power(MaxLimit)" + power_max_set = "Power(MaxSet)" + temperature_min_set = "Temperature(MinSet)" + temperature_max_set = "Temperature(MaxSet)" + + +class HumiditySensorVariableName(StrEnum): + """ + Variable names where the component type is HumiditySensor + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + humidity = "Humidity" + problem = "Problem" + + +class LightSensorVariableName(StrEnum): + """ + Variable names where the component type is LightSensor + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + light = "Light" + problem = "Problem" + + +class LiquidCoolingSystemVariableName(StrEnum): + """ + Variable names where the component type is LiquidCoolingSystem + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + problem = "Problem" + temperature = "Temperature" + + +class LocalAvailabilitySensorVariableName(StrEnum): + """ + Variable names where the component type is LocalAvailabilitySensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + problem = "Problem" + + +class LocalControllerVariableName(StrEnum): + """ + Variable names where the component type is LocalController + See PhysicalComponentName for referenced physical component + """ + + charging_station = "ChargingStation" + distribution_panel = "DistributionPanel" + ec_variant = "ECVariant" + enabled = "Enabled" + identity = "Identity" + manufacturer = "Manufacturer" + model = "Model" + problem = "Problem" + serial_number = "SerialNumber" + tripped = "Tripped" + + +class LocalEnergyStorageVariableName(StrEnum): + """ + Variable names where the component type is LocalEnergyStorage + See PhysicalComponentName for referenced physical component + """ + + capacity = "Capacity" + energy_capacity = "EnergyCapacity" + identity = "Identity" + + +class OverCurrentProtectionVariableName(StrEnum): + """ + Variable names where the component type is OverCurrentProtection + See PhysicalComponentName for referenced physical component + """ + + ac_current = "ACCurrent" + active = "Active" + operated = "Operated" + + +class OverCurrentProtectionRecloserVariableName(StrEnum): + """ + Variable names where the component type is OverCurrentProtectionRecloser + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + active_set = "Active(Set)" + enabled = "Enabled" + complete = "Complete" + problem = "Problem" + mode = "Mode" + tries = "Tries" + tries_set_limit = "Tries(SetLimit)" + tries_max_limit = "Tries(MaxLimit)" + + +class PowerContactorVariableName(StrEnum): + """ + Variable names where the component type is PowerContactor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + problem = "Problem" + tripped = "Tripped" + + +class RCDVariableName(StrEnum): + """ + Variable names where the component type is RCD + See PhysicalComponentName for referenced physical component + """ + + operated = "Operated" + tripped = "Tripped" + + +class RCDRecloserVariableName(StrEnum): + """ + Variable names where the component type is RCDRecloser + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + active_set = "Active(Set)" + complete = "Complete" + enabled = "Enabled" + problem = "Problem" + tries = "Tries" + tries_max_limit = "Tries(MaxLimit)" + tries_set_limit = "Tries(SetLimit)" + + +class RealTimeClockVariableName(StrEnum): + """ + Variable names where the component type is RealTimeClock + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + dc_voltage = "DCVoltage" + fallback = "Fallback" + fallback_max_limit = "Fallback(MaxLimit)" + problem = "Problem" + + +class ShockSensorVariableName(StrEnum): + """ + Variable names where the component type is ShockSensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + force = "Force" + + +class SpacesCountSignageVariableName(StrEnum): + """ + Variable names where the component type is SpacesCountSignage + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + count = "Count" + enabled = "Enabled" + + +class SwitchVariableName(StrEnum): + """ + Variable names where the component type is Switch + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + state = "State" + + +class TemperatureSensorVariableName(StrEnum): + """ + Variable names where the component type is TemperatureSensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + problem = "Problem" + temperature = "Temperature" + + +class TiltSensorVariableName(StrEnum): + """ + Variable names where the component type is TiltSensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + angle = "Angle" + + +class TokenReaderVariableName(StrEnum): + """ + Variable names where the component type is TokenReader + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + enabled_set = "Enabled(Set)" + operated = "Operated" + problem = "Problem" + token = "Token" + token_type = "TokenType" + + +class UIInputVariableName(StrEnum): + """ + Variable names where the component type is UIInput + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + operated = "Operated" + + +class UpstreamProtectionTriggerVariableName(StrEnum): + """ + Variable names where the component type is UpstreamProtectionTrigger + See PhysicalComponentName for referenced physical component + """ + + active_set = "Active(Set)" + enabled = "Enabled" + problem = "Problem" + tripped = "Tripped" + + +class VehicleIdSensorVariableName(StrEnum): + """ + Variable names where the component type is VehicleIdSensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" diff --git a/poetry.lock b/poetry.lock index 1d0d78257..34926ea37 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,61 +2,53 @@ [[package]] name = "alabaster" -version = "0.7.12" +version = "0.7.13" description = "A configurable sidebar-enabled Sphinx theme" category = "dev" optional = false -python-versions = "*" -files = [ - {file = "alabaster-0.7.12-py2.py3-none-any.whl", hash = "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"}, - {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"}, -] - -[[package]] -name = "asynctest" -version = "0.13.0" -description = "Enhance the standard unittest package with features for testing asyncio libraries" -category = "dev" -optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" files = [ - {file = "asynctest-0.13.0-py3-none-any.whl", hash = "sha256:5da6118a7e6d6b54d83a8f7197769d046922a44d2a99c21382f0a6e4fadae676"}, - {file = "asynctest-0.13.0.tar.gz", hash = "sha256:c27862842d15d83e6a34eb0b2866c323880eb3a75e4485b079ea11748fd77fac"}, + {file = "alabaster-0.7.13-py3-none-any.whl", hash = "sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3"}, + {file = "alabaster-0.7.13.tar.gz", hash = "sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2"}, ] [[package]] name = "attrs" -version = "22.2.0" +version = "23.2.0" description = "Classes Without Boilerplate" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "attrs-22.2.0-py3-none-any.whl", hash = "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836"}, - {file = "attrs-22.2.0.tar.gz", hash = "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99"}, + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, ] [package.extras] -cov = ["attrs[tests]", "coverage-enable-subprocess", "coverage[toml] (>=5.3)"] -dev = ["attrs[docs,tests]"] -docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope.interface"] -tests = ["attrs[tests-no-zope]", "zope.interface"] -tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy (>=0.971,<0.990)", "mypy (>=0.971,<0.990)", "pympler", "pympler", "pytest (>=4.3.0)", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-mypy-plugins", "pytest-xdist[psutil]", "pytest-xdist[psutil]"] +cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] +dev = ["attrs[tests]", "pre-commit"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] +tests = ["attrs[tests-no-zope]", "zope-interface"] +tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] +tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] [[package]] name = "babel" -version = "2.11.0" +version = "2.14.0" description = "Internationalization utilities" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "Babel-2.11.0-py3-none-any.whl", hash = "sha256:1ad3eca1c885218f6dce2ab67291178944f810a10a9b5f3cb8382a5a232b64fe"}, - {file = "Babel-2.11.0.tar.gz", hash = "sha256:5ef4b3226b0180dedded4229651c8b0e1a3a6a2837d45a073272f313e4cf97f6"}, + {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"}, + {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"}, ] [package.dependencies] -pytz = ">=2015.7" +pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} + +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] [[package]] name = "black" @@ -86,7 +78,6 @@ mypy-extensions = ">=0.4.3" pathspec = ">=0.9.0" platformdirs = ">=2" tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} -typed-ast = {version = ">=1.4.2", markers = "python_version < \"3.8\" and implementation_name == \"cpython\""} typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} [package.extras] @@ -97,46 +88,130 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "certifi" -version = "2022.12.7" +version = "2023.11.17" description = "Python package for providing Mozilla's CA Bundle." category = "dev" optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"}, - {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"}, + {file = "certifi-2023.11.17-py3-none-any.whl", hash = "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474"}, + {file = "certifi-2023.11.17.tar.gz", hash = "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1"}, ] [[package]] name = "charset-normalizer" -version = "2.1.1" +version = "3.3.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." category = "dev" optional = false -python-versions = ">=3.6.0" +python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-2.1.1.tar.gz", hash = "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845"}, - {file = "charset_normalizer-2.1.1-py3-none-any.whl", hash = "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"}, + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] -[package.extras] -unicode-backport = ["unicodedata2"] - [[package]] name = "click" -version = "8.1.3" +version = "8.1.7" description = "Composable command line interface toolkit" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, - {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, ] [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} -importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} [[package]] name = "colorama" @@ -152,63 +227,72 @@ files = [ [[package]] name = "coverage" -version = "7.0.0" +version = "7.2.7" description = "Code coverage measurement for Python" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "coverage-7.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f2569682d6ea9628da8d6ba38579a48b1e53081226ec7a6c82b5024b3ce5009f"}, - {file = "coverage-7.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3ec256a592b497f26054195f7d7148892aca8c4cdcc064a7cc66ef7a0455b811"}, - {file = "coverage-7.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5885a4ceb6dde34271bb0adafa4a248a7f589c89821e9da3110c39f92f41e21b"}, - {file = "coverage-7.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d43d406a4d73aa7f855fa44fa77ff47e739b565b2af3844600cdc016d01e46b9"}, - {file = "coverage-7.0.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b18df11efa615b79b9ecc13035a712957ff6283f7b244e57684e1c092869f541"}, - {file = "coverage-7.0.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f6a4bf5bdee93f6817797beba7086292c2ebde6df0d5822e0c33f8b05415c339"}, - {file = "coverage-7.0.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:33efe89cd0efef016db19d8d05aa46631f76793de90a61b6717acb202b36fe60"}, - {file = "coverage-7.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:96b5b1f1079e48f56bfccf103bcf44d48b9eb5163f1ea523fad580f15d3fe5e0"}, - {file = "coverage-7.0.0-cp310-cp310-win32.whl", hash = "sha256:fb85b7a7a4b204bd59d6d0b0c8d87d9ffa820da225e691dfaffc3137dc05b5f6"}, - {file = "coverage-7.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:793dcd9d42035746fc7637df4336f7581df19d33c5c5253cf988c99d8e93a8ba"}, - {file = "coverage-7.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d564142a03d3bc8913499a458e931b52ddfe952f69b6cd4b24d810fd2959044a"}, - {file = "coverage-7.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0a8b0e86bede874bf5da566b02194fbb12dd14ce3585cabd58452007f272ba81"}, - {file = "coverage-7.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e645c73cbfc4577d93747d3f793115acf6f907a7eb9208fa807fdcf2da1964a4"}, - {file = "coverage-7.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de06e7585abe88c6d38c1b73ce4c3cb4c1a79fbb0da0d0f8e8689ef5729ec60d"}, - {file = "coverage-7.0.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a30b646fbdd5bc52f506e149fa4fbdef82432baf6b81774e61ec4e3b43b9cbde"}, - {file = "coverage-7.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:db8141856dc9be0917413df7200f53accf1d84c8b156868e6af058a1ea8e903a"}, - {file = "coverage-7.0.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:59e71912c7fc78d08a567ee65656123878f49ca1b5672e660ea70bf8dfbebf8f"}, - {file = "coverage-7.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b8f7cd942dda3795fc9eadf303cc53a422ac057e3b70c2ad6d4276ec6a83a541"}, - {file = "coverage-7.0.0-cp311-cp311-win32.whl", hash = "sha256:bf437a04b9790d3c9cd5b48e9ce9aa84229040e3ae7d6c670a55118906113c5a"}, - {file = "coverage-7.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:a7e1bb36b4e57a2d304322021b35d4e4a25fa0d501ba56e8e51efaebf4480556"}, - {file = "coverage-7.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:215f40ef86f1958a1151fa7fad2b4f2f99534c4e10a34a1e065eba3f19ef8868"}, - {file = "coverage-7.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae088eb1cbdad8206931b1bf3f11dee644e038a9300be84d3e705e29356e5b1d"}, - {file = "coverage-7.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9071e197faa24837b967bc9aa0b9ef961f805a75f1ee3ea1f3367f55cd46c3c"}, - {file = "coverage-7.0.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f1e6d9c70d45a960d3f3d781ea62b167fdf2e0e1f6bb282b96feea653adb923"}, - {file = "coverage-7.0.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9fadd15f9fcfd7b16d9cccce9f5e6ec6f9b8df860633ad9aa62c2b14c259560f"}, - {file = "coverage-7.0.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:10b6246cae61896ab4c7568e498e492cbb73a2dfa4c3af79141c43cf806f929a"}, - {file = "coverage-7.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a8785791c2120af114ea7a06137f7778632e568a5aa2bbfc3b46c573b702af74"}, - {file = "coverage-7.0.0-cp37-cp37m-win32.whl", hash = "sha256:30220518dd89c4878908d73f5f3d1269f86e9e045354436534587a18c7b9da85"}, - {file = "coverage-7.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:bc904aa96105d73357de03de76336b1e3db28e2b12067d36625fd9646ab043fd"}, - {file = "coverage-7.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2331b7bd84a1be79bd17ca8e103ce38db8cbf7cb354dc56e651ba489cf849212"}, - {file = "coverage-7.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e907db8bdd0ad1253a33c20fdc5f0f6209d271114a9c6f1fcdf96617343f7ca0"}, - {file = "coverage-7.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c0deee68e0dae1d6e3fe6943c76d7e66fbeb6519bd08e4e5366bcc28a8a9aca"}, - {file = "coverage-7.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a6fff0f08bc5ffd0d78db821971472b4adc2ee876b86f743e46d634fb8e3c22f"}, - {file = "coverage-7.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a290b7921c1c05787b953e5854d394e887df40696f21381cc33c4e2179bf50ac"}, - {file = "coverage-7.0.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:100546219af59d2ad82d4575de03a303eb27b75ea36ffbd1677371924d50bcbc"}, - {file = "coverage-7.0.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c1ba6e63b831112b9484ff5905370d89e43d4316bac76d403031f60d61597466"}, - {file = "coverage-7.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c685fc17d6f4f1a3833e9dac27d0b931f7ccb52be6c30d269374203c7d0204a2"}, - {file = "coverage-7.0.0-cp38-cp38-win32.whl", hash = "sha256:8938f3a10f45019b502020ba9567b97b6ecc8c76b664b421705c5406d4f92fe8"}, - {file = "coverage-7.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:c4b63888bef2928d0eca12cbce0760cfb696acb4fe226eb55178b6a2a039328a"}, - {file = "coverage-7.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cda63459eb20652b22e038729a8f5063862c189a3963cb042a764b753172f75e"}, - {file = "coverage-7.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e06abac1a4aec1ff989131e43ca917fc7bd296f34bf0cfe86cbf74343b21566d"}, - {file = "coverage-7.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b94ad926e933976627f040f96dd1d9b0ac91f8d27e868c30a28253b9b6ac2d"}, - {file = "coverage-7.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6b4af31fb49a2ae8de1cd505fa66c403bfcc5066e845ac19d8904dcfc9d40da"}, - {file = "coverage-7.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36b62f0220459e528ad5806cc7dede71aa716e067d2cb10cb4a09686b8791fba"}, - {file = "coverage-7.0.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:43ec1935c6d6caab4f3bc126d20bd709c0002a175d62208ebe745be37a826a41"}, - {file = "coverage-7.0.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:8593c9baf1f0f273afa22f5b45508b76adc7b8e94e17e7d98fbe1e3cd5812af2"}, - {file = "coverage-7.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fee283cd36c3f14422d9c1b51da24ddbb5e1eed89ad2480f6a9f115df38b5df8"}, - {file = "coverage-7.0.0-cp39-cp39-win32.whl", hash = "sha256:97c0b001ff15b8e8882995fc07ac0a08c8baf8b13c1145f3f12e0587bbb0e335"}, - {file = "coverage-7.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:8dbf83a4611c591b5de65069b6fd4dd3889200ed270cd2f7f5ac765d3842889f"}, - {file = "coverage-7.0.0-pp36.pp37.pp38-none-any.whl", hash = "sha256:bcaf18e46668057051a312c714a4548b81f7e8fb3454116ad97be7562d2a99e4"}, - {file = "coverage-7.0.0.tar.gz", hash = "sha256:9a175da2a7320e18fc3ee1d147639a2b3a8f037e508c96aa2da160294eb50e17"}, + {file = "coverage-7.2.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d39b5b4f2a66ccae8b7263ac3c8170994b65266797fb96cbbfd3fb5b23921db8"}, + {file = "coverage-7.2.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6d040ef7c9859bb11dfeb056ff5b3872436e3b5e401817d87a31e1750b9ae2fb"}, + {file = "coverage-7.2.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba90a9563ba44a72fda2e85302c3abc71c5589cea608ca16c22b9804262aaeb6"}, + {file = "coverage-7.2.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7d9405291c6928619403db1d10bd07888888ec1abcbd9748fdaa971d7d661b2"}, + {file = "coverage-7.2.7-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31563e97dae5598556600466ad9beea39fb04e0229e61c12eaa206e0aa202063"}, + {file = "coverage-7.2.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ebba1cd308ef115925421d3e6a586e655ca5a77b5bf41e02eb0e4562a111f2d1"}, + {file = "coverage-7.2.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:cb017fd1b2603ef59e374ba2063f593abe0fc45f2ad9abdde5b4d83bd922a353"}, + {file = "coverage-7.2.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62a5c7dad11015c66fbb9d881bc4caa5b12f16292f857842d9d1871595f4495"}, + {file = "coverage-7.2.7-cp310-cp310-win32.whl", hash = "sha256:ee57190f24fba796e36bb6d3aa8a8783c643d8fa9760c89f7a98ab5455fbf818"}, + {file = "coverage-7.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:f75f7168ab25dd93110c8a8117a22450c19976afbc44234cbf71481094c1b850"}, + {file = "coverage-7.2.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:06a9a2be0b5b576c3f18f1a241f0473575c4a26021b52b2a85263a00f034d51f"}, + {file = "coverage-7.2.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5baa06420f837184130752b7c5ea0808762083bf3487b5038d68b012e5937dbe"}, + {file = "coverage-7.2.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fdec9e8cbf13a5bf63290fc6013d216a4c7232efb51548594ca3631a7f13c3a3"}, + {file = "coverage-7.2.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:52edc1a60c0d34afa421c9c37078817b2e67a392cab17d97283b64c5833f427f"}, + {file = "coverage-7.2.7-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63426706118b7f5cf6bb6c895dc215d8a418d5952544042c8a2d9fe87fcf09cb"}, + {file = "coverage-7.2.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:afb17f84d56068a7c29f5fa37bfd38d5aba69e3304af08ee94da8ed5b0865833"}, + {file = "coverage-7.2.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:48c19d2159d433ccc99e729ceae7d5293fbffa0bdb94952d3579983d1c8c9d97"}, + {file = "coverage-7.2.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0e1f928eaf5469c11e886fe0885ad2bf1ec606434e79842a879277895a50942a"}, + {file = "coverage-7.2.7-cp311-cp311-win32.whl", hash = "sha256:33d6d3ea29d5b3a1a632b3c4e4f4ecae24ef170b0b9ee493883f2df10039959a"}, + {file = "coverage-7.2.7-cp311-cp311-win_amd64.whl", hash = "sha256:5b7540161790b2f28143191f5f8ec02fb132660ff175b7747b95dcb77ac26562"}, + {file = "coverage-7.2.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f2f67fe12b22cd130d34d0ef79206061bfb5eda52feb6ce0dba0644e20a03cf4"}, + {file = "coverage-7.2.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a342242fe22407f3c17f4b499276a02b01e80f861f1682ad1d95b04018e0c0d4"}, + {file = "coverage-7.2.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:171717c7cb6b453aebac9a2ef603699da237f341b38eebfee9be75d27dc38e01"}, + {file = "coverage-7.2.7-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49969a9f7ffa086d973d91cec8d2e31080436ef0fb4a359cae927e742abfaaa6"}, + {file = "coverage-7.2.7-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b46517c02ccd08092f4fa99f24c3b83d8f92f739b4657b0f146246a0ca6a831d"}, + {file = "coverage-7.2.7-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:a3d33a6b3eae87ceaefa91ffdc130b5e8536182cd6dfdbfc1aa56b46ff8c86de"}, + {file = "coverage-7.2.7-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:976b9c42fb2a43ebf304fa7d4a310e5f16cc99992f33eced91ef6f908bd8f33d"}, + {file = "coverage-7.2.7-cp312-cp312-win32.whl", hash = "sha256:8de8bb0e5ad103888d65abef8bca41ab93721647590a3f740100cd65c3b00511"}, + {file = "coverage-7.2.7-cp312-cp312-win_amd64.whl", hash = "sha256:9e31cb64d7de6b6f09702bb27c02d1904b3aebfca610c12772452c4e6c21a0d3"}, + {file = "coverage-7.2.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:58c2ccc2f00ecb51253cbe5d8d7122a34590fac9646a960d1430d5b15321d95f"}, + {file = "coverage-7.2.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d22656368f0e6189e24722214ed8d66b8022db19d182927b9a248a2a8a2f67eb"}, + {file = "coverage-7.2.7-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a895fcc7b15c3fc72beb43cdcbdf0ddb7d2ebc959edac9cef390b0d14f39f8a9"}, + {file = "coverage-7.2.7-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e84606b74eb7de6ff581a7915e2dab7a28a0517fbe1c9239eb227e1354064dcd"}, + {file = "coverage-7.2.7-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:0a5f9e1dbd7fbe30196578ca36f3fba75376fb99888c395c5880b355e2875f8a"}, + {file = "coverage-7.2.7-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:419bfd2caae268623dd469eff96d510a920c90928b60f2073d79f8fe2bbc5959"}, + {file = "coverage-7.2.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:2aee274c46590717f38ae5e4650988d1af340fe06167546cc32fe2f58ed05b02"}, + {file = "coverage-7.2.7-cp37-cp37m-win32.whl", hash = "sha256:61b9a528fb348373c433e8966535074b802c7a5d7f23c4f421e6c6e2f1697a6f"}, + {file = "coverage-7.2.7-cp37-cp37m-win_amd64.whl", hash = "sha256:b1c546aca0ca4d028901d825015dc8e4d56aac4b541877690eb76490f1dc8ed0"}, + {file = "coverage-7.2.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:54b896376ab563bd38453cecb813c295cf347cf5906e8b41d340b0321a5433e5"}, + {file = "coverage-7.2.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3d376df58cc111dc8e21e3b6e24606b5bb5dee6024f46a5abca99124b2229ef5"}, + {file = "coverage-7.2.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e330fc79bd7207e46c7d7fd2bb4af2963f5f635703925543a70b99574b0fea9"}, + {file = "coverage-7.2.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e9d683426464e4a252bf70c3498756055016f99ddaec3774bf368e76bbe02b6"}, + {file = "coverage-7.2.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d13c64ee2d33eccf7437961b6ea7ad8673e2be040b4f7fd4fd4d4d28d9ccb1e"}, + {file = "coverage-7.2.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b7aa5f8a41217360e600da646004f878250a0d6738bcdc11a0a39928d7dc2050"}, + {file = "coverage-7.2.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8fa03bce9bfbeeef9f3b160a8bed39a221d82308b4152b27d82d8daa7041fee5"}, + {file = "coverage-7.2.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:245167dd26180ab4c91d5e1496a30be4cd721a5cf2abf52974f965f10f11419f"}, + {file = "coverage-7.2.7-cp38-cp38-win32.whl", hash = "sha256:d2c2db7fd82e9b72937969bceac4d6ca89660db0a0967614ce2481e81a0b771e"}, + {file = "coverage-7.2.7-cp38-cp38-win_amd64.whl", hash = "sha256:2e07b54284e381531c87f785f613b833569c14ecacdcb85d56b25c4622c16c3c"}, + {file = "coverage-7.2.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:537891ae8ce59ef63d0123f7ac9e2ae0fc8b72c7ccbe5296fec45fd68967b6c9"}, + {file = "coverage-7.2.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:06fb182e69f33f6cd1d39a6c597294cff3143554b64b9825d1dc69d18cc2fff2"}, + {file = "coverage-7.2.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:201e7389591af40950a6480bd9edfa8ed04346ff80002cec1a66cac4549c1ad7"}, + {file = "coverage-7.2.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f6951407391b639504e3b3be51b7ba5f3528adbf1a8ac3302b687ecababf929e"}, + {file = "coverage-7.2.7-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f48351d66575f535669306aa7d6d6f71bc43372473b54a832222803eb956fd1"}, + {file = "coverage-7.2.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b29019c76039dc3c0fd815c41392a044ce555d9bcdd38b0fb60fb4cd8e475ba9"}, + {file = "coverage-7.2.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:81c13a1fc7468c40f13420732805a4c38a105d89848b7c10af65a90beff25250"}, + {file = "coverage-7.2.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:975d70ab7e3c80a3fe86001d8751f6778905ec723f5b110aed1e450da9d4b7f2"}, + {file = "coverage-7.2.7-cp39-cp39-win32.whl", hash = "sha256:7ee7d9d4822c8acc74a5e26c50604dff824710bc8de424904c0982e25c39c6cb"}, + {file = "coverage-7.2.7-cp39-cp39-win_amd64.whl", hash = "sha256:eb393e5ebc85245347950143969b241d08b52b88a3dc39479822e073a1a8eb27"}, + {file = "coverage-7.2.7-pp37.pp38.pp39-none-any.whl", hash = "sha256:b7b4c971f05e6ae490fef852c218b0e79d4e52f79ef0c8475566584a8fb3e01d"}, + {file = "coverage-7.2.7.tar.gz", hash = "sha256:924d94291ca674905fe9481f12294eb11f2d3d3fd1adb20314ba89e94f44ed59"}, ] [package.dependencies] @@ -231,14 +315,14 @@ files = [ [[package]] name = "exceptiongroup" -version = "1.1.0" +version = "1.2.0" description = "Backport of PEP 654 (exception groups)" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.1.0-py3-none-any.whl", hash = "sha256:327cbda3da756e2de031a3107b81ab7b3770a602c4d16ca618298c526f4bec1e"}, - {file = "exceptiongroup-1.1.0.tar.gz", hash = "sha256:bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23"}, + {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, + {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, ] [package.extras] @@ -257,21 +341,20 @@ files = [ ] [package.dependencies] -importlib-metadata = {version = ">=1.1.0,<4.3", markers = "python_version < \"3.8\""} mccabe = ">=0.7.0,<0.8.0" pycodestyle = ">=2.9.0,<2.10.0" pyflakes = ">=2.5.0,<2.6.0" [[package]] name = "idna" -version = "3.4" +version = "3.6" description = "Internationalized Domain Names in Applications (IDNA)" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, ] [[package]] @@ -286,85 +369,65 @@ files = [ {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, ] -[[package]] -name = "importlib-metadata" -version = "4.2.0" -description = "Read metadata from Python packages" -category = "main" -optional = false -python-versions = ">=3.6" -files = [ - {file = "importlib_metadata-4.2.0-py3-none-any.whl", hash = "sha256:057e92c15bc8d9e8109738a48db0ccb31b4d9d5cfbee5a8670879a30be66304b"}, - {file = "importlib_metadata-4.2.0.tar.gz", hash = "sha256:b7e52a1f8dec14a75ea73e0891f3060099ca1d8e6a462a4dff11c3e119ea1b31"}, -] - -[package.dependencies] -typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} -zipp = ">=0.5" - -[package.extras] -docs = ["jaraco.packaging (>=8.2)", "rst.linker (>=1.9)", "sphinx"] -testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pep517", "pyfakefs", "pytest (>=4.6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-flake8", "pytest-mypy"] - [[package]] name = "importlib-resources" -version = "5.10.1" +version = "5.12.0" description = "Read resources from Python packages" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "importlib_resources-5.10.1-py3-none-any.whl", hash = "sha256:c09b067d82e72c66f4f8eb12332f5efbebc9b007c0b6c40818108c9870adc363"}, - {file = "importlib_resources-5.10.1.tar.gz", hash = "sha256:32bb095bda29741f6ef0e5278c42df98d135391bee5f932841efc0041f748dc3"}, + {file = "importlib_resources-5.12.0-py3-none-any.whl", hash = "sha256:7b1deeebbf351c7578e09bf2f63fa2ce8b5ffec296e0d349139d43cca061a81a"}, + {file = "importlib_resources-5.12.0.tar.gz", hash = "sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6"}, ] [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [[package]] name = "iniconfig" -version = "1.1.1" -description = "iniconfig: brain-dead simple config-ini parsing" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" category = "dev" optional = false -python-versions = "*" +python-versions = ">=3.7" files = [ - {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, - {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, ] [[package]] name = "isort" -version = "5.11.4" +version = "5.11.5" description = "A Python utility / library to sort Python imports." category = "dev" optional = false python-versions = ">=3.7.0" files = [ - {file = "isort-5.11.4-py3-none-any.whl", hash = "sha256:c033fd0edb91000a7f09527fe5c75321878f98322a77ddcc81adbd83724afb7b"}, - {file = "isort-5.11.4.tar.gz", hash = "sha256:6db30c5ded9815d813932c04c2f85a360bcdd35fed496f4d8f35495ef0a261b6"}, + {file = "isort-5.11.5-py3-none-any.whl", hash = "sha256:ba1d72fb2595a01c7895a5128f9585a5cc4b6d395f1c8d514989b9a7eb2a8746"}, + {file = "isort-5.11.5.tar.gz", hash = "sha256:6be1f76a507cb2ecf16c7cf14a37e41609ca082330be4e3436a18ef74add55db"}, ] [package.extras] colors = ["colorama (>=0.4.3,<0.5.0)"] -pipfile-deprecated-finder = ["pipreqs", "requirementslib"] +pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"] plugins = ["setuptools"] requirements-deprecated-finder = ["pip-api", "pipreqs"] [[package]] name = "jinja2" -version = "3.1.2" +version = "3.1.3" description = "A very fast and expressive template engine." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, + {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, + {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, ] [package.dependencies] @@ -387,11 +450,9 @@ files = [ [package.dependencies] attrs = ">=17.4.0" -importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} pkgutil-resolve-name = {version = ">=1.3.10", markers = "python_version < \"3.9\""} pyrsistent = ">=0.14.0,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2" -typing-extensions = {version = "*", markers = "python_version < \"3.8\""} [package.extras] format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] @@ -399,52 +460,72 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "markupsafe" -version = "2.1.1" +version = "2.1.3" description = "Safely add untrusted strings to HTML/XML markup." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-win32.whl", hash = "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-win32.whl", hash = "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-win32.whl", hash = "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-win32.whl", hash = "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247"}, - {file = "MarkupSafe-2.1.1.tar.gz", hash = "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, + {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, ] [[package]] @@ -461,38 +542,38 @@ files = [ [[package]] name = "mypy-extensions" -version = "0.4.3" -description = "Experimental type system extensions for programs checked with the mypy typechecker." +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." category = "dev" optional = false -python-versions = "*" +python-versions = ">=3.5" files = [ - {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, - {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, ] [[package]] name = "packaging" -version = "22.0" +version = "23.2" description = "Core utilities for Python packages" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "packaging-22.0-py3-none-any.whl", hash = "sha256:957e2148ba0e1a3b282772e791ef1d8083648bc131c8ab0c1feba110ce1146c3"}, - {file = "packaging-22.0.tar.gz", hash = "sha256:2198ec20bd4c017b8f9717e00f0c8714076fc2fd93816750ab48e2c41de2cfd3"}, + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, ] [[package]] name = "pathspec" -version = "0.10.3" +version = "0.11.2" description = "Utility library for gitignore style pattern matching of file paths." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "pathspec-0.10.3-py3-none-any.whl", hash = "sha256:3c95343af8b756205e2aba76e843ba9520a24dd84f68c22b9f93251507509dd6"}, - {file = "pathspec-0.10.3.tar.gz", hash = "sha256:56200de4077d9d0791465aa9095a01d421861e405b5096955051deefd697d6f6"}, + {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, + {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, ] [[package]] @@ -509,35 +590,32 @@ files = [ [[package]] name = "platformdirs" -version = "2.6.0" +version = "4.0.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-2.6.0-py3-none-any.whl", hash = "sha256:1a89a12377800c81983db6be069ec068eee989748799b946cce2a6e80dcc54ca"}, - {file = "platformdirs-2.6.0.tar.gz", hash = "sha256:b46ffafa316e6b83b47489d240ce17173f123a9b9c83282141c3daf26ad9ac2e"}, + {file = "platformdirs-4.0.0-py3-none-any.whl", hash = "sha256:118c954d7e949b35437270383a3f2531e99dd93cf7ce4dc8340d3356d30f173b"}, + {file = "platformdirs-4.0.0.tar.gz", hash = "sha256:cb633b2bcf10c51af60beb0ab06d2f1d69064b43abf4c185ca6b28865f3f9731"}, ] [package.extras] -docs = ["furo (>=2022.9.29)", "proselint (>=0.13)", "sphinx (>=5.3)", "sphinx-autodoc-typehints (>=1.19.4)"] -test = ["appdirs (==1.4.4)", "pytest (>=7.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] [[package]] name = "pluggy" -version = "1.0.0" +version = "1.2.0" description = "plugin and hook calling mechanisms for python" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, - {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, + {file = "pluggy-1.2.0-py3-none-any.whl", hash = "sha256:c2fd55a7d7a3863cba1a013e4e2414658b1d07b6bc57b3919e0c63c9abb99849"}, + {file = "pluggy-1.2.0.tar.gz", hash = "sha256:d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3"}, ] -[package.dependencies] -importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} - [package.extras] dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] @@ -568,75 +646,79 @@ files = [ [[package]] name = "pygments" -version = "2.13.0" +version = "2.17.2" description = "Pygments is a syntax highlighting package written in Python." category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "Pygments-2.13.0-py3-none-any.whl", hash = "sha256:f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42"}, - {file = "Pygments-2.13.0.tar.gz", hash = "sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1"}, + {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, + {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, ] [package.extras] plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pyrsistent" -version = "0.19.2" +version = "0.19.3" description = "Persistent/Functional/Immutable data structures" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "pyrsistent-0.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a"}, - {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a"}, - {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed"}, - {file = "pyrsistent-0.19.2-cp310-cp310-win32.whl", hash = "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41"}, - {file = "pyrsistent-0.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425"}, - {file = "pyrsistent-0.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712"}, - {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78"}, - {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6"}, - {file = "pyrsistent-0.19.2-cp37-cp37m-win32.whl", hash = "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2"}, - {file = "pyrsistent-0.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73"}, - {file = "pyrsistent-0.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308"}, - {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584"}, - {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb"}, - {file = "pyrsistent-0.19.2-cp38-cp38-win32.whl", hash = "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a"}, - {file = "pyrsistent-0.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab"}, - {file = "pyrsistent-0.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770"}, - {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95"}, - {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e"}, - {file = "pyrsistent-0.19.2-cp39-cp39-win32.whl", hash = "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b"}, - {file = "pyrsistent-0.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291"}, - {file = "pyrsistent-0.19.2-py3-none-any.whl", hash = "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0"}, - {file = "pyrsistent-0.19.2.tar.gz", hash = "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2"}, + {file = "pyrsistent-0.19.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:20460ac0ea439a3e79caa1dbd560344b64ed75e85d8703943e0b66c2a6150e4a"}, + {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c18264cb84b5e68e7085a43723f9e4c1fd1d935ab240ce02c0324a8e01ccb64"}, + {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b774f9288dda8d425adb6544e5903f1fb6c273ab3128a355c6b972b7df39dcf"}, + {file = "pyrsistent-0.19.3-cp310-cp310-win32.whl", hash = "sha256:5a474fb80f5e0d6c9394d8db0fc19e90fa540b82ee52dba7d246a7791712f74a"}, + {file = "pyrsistent-0.19.3-cp310-cp310-win_amd64.whl", hash = "sha256:49c32f216c17148695ca0e02a5c521e28a4ee6c5089f97e34fe24163113722da"}, + {file = "pyrsistent-0.19.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f0774bf48631f3a20471dd7c5989657b639fd2d285b861237ea9e82c36a415a9"}, + {file = "pyrsistent-0.19.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab2204234c0ecd8b9368dbd6a53e83c3d4f3cab10ecaf6d0e772f456c442393"}, + {file = "pyrsistent-0.19.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e42296a09e83028b3476f7073fcb69ffebac0e66dbbfd1bd847d61f74db30f19"}, + {file = "pyrsistent-0.19.3-cp311-cp311-win32.whl", hash = "sha256:64220c429e42a7150f4bfd280f6f4bb2850f95956bde93c6fda1b70507af6ef3"}, + {file = "pyrsistent-0.19.3-cp311-cp311-win_amd64.whl", hash = "sha256:016ad1afadf318eb7911baa24b049909f7f3bb2c5b1ed7b6a8f21db21ea3faa8"}, + {file = "pyrsistent-0.19.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c4db1bd596fefd66b296a3d5d943c94f4fac5bcd13e99bffe2ba6a759d959a28"}, + {file = "pyrsistent-0.19.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aeda827381f5e5d65cced3024126529ddc4289d944f75e090572c77ceb19adbf"}, + {file = "pyrsistent-0.19.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:42ac0b2f44607eb92ae88609eda931a4f0dfa03038c44c772e07f43e738bcac9"}, + {file = "pyrsistent-0.19.3-cp37-cp37m-win32.whl", hash = "sha256:e8f2b814a3dc6225964fa03d8582c6e0b6650d68a232df41e3cc1b66a5d2f8d1"}, + {file = "pyrsistent-0.19.3-cp37-cp37m-win_amd64.whl", hash = "sha256:c9bb60a40a0ab9aba40a59f68214eed5a29c6274c83b2cc206a359c4a89fa41b"}, + {file = "pyrsistent-0.19.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a2471f3f8693101975b1ff85ffd19bb7ca7dd7c38f8a81701f67d6b4f97b87d8"}, + {file = "pyrsistent-0.19.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc5d149f31706762c1f8bda2e8c4f8fead6e80312e3692619a75301d3dbb819a"}, + {file = "pyrsistent-0.19.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3311cb4237a341aa52ab8448c27e3a9931e2ee09561ad150ba94e4cfd3fc888c"}, + {file = "pyrsistent-0.19.3-cp38-cp38-win32.whl", hash = "sha256:f0e7c4b2f77593871e918be000b96c8107da48444d57005b6a6bc61fb4331b2c"}, + {file = "pyrsistent-0.19.3-cp38-cp38-win_amd64.whl", hash = "sha256:c147257a92374fde8498491f53ffa8f4822cd70c0d85037e09028e478cababb7"}, + {file = "pyrsistent-0.19.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b735e538f74ec31378f5a1e3886a26d2ca6351106b4dfde376a26fc32a044edc"}, + {file = "pyrsistent-0.19.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99abb85579e2165bd8522f0c0138864da97847875ecbd45f3e7e2af569bfc6f2"}, + {file = "pyrsistent-0.19.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a8cb235fa6d3fd7aae6a4f1429bbb1fec1577d978098da1252f0489937786f3"}, + {file = "pyrsistent-0.19.3-cp39-cp39-win32.whl", hash = "sha256:c74bed51f9b41c48366a286395c67f4e894374306b197e62810e0fdaf2364da2"}, + {file = "pyrsistent-0.19.3-cp39-cp39-win_amd64.whl", hash = "sha256:878433581fc23e906d947a6814336eee031a00e6defba224234169ae3d3d6a98"}, + {file = "pyrsistent-0.19.3-py3-none-any.whl", hash = "sha256:ccf0d6bd208f8111179f0c26fdf84ed7c3891982f2edaeae7422575f47e66b64"}, + {file = "pyrsistent-0.19.3.tar.gz", hash = "sha256:1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440"}, ] [[package]] name = "pytest" -version = "7.2.0" +version = "7.4.4" description = "pytest: simple powerful testing with Python" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"}, - {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"}, + {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, + {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, ] [package.dependencies] -attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} -importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} iniconfig = "*" packaging = "*" pluggy = ">=0.12,<2.0" tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] -testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] +testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] [[package]] name = "pytest-asyncio" @@ -652,7 +734,6 @@ files = [ [package.dependencies] pytest = ">=6.1.0" -typing-extensions = {version = ">=3.7.2", markers = "python_version < \"3.8\""} [package.extras] docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1.0)"] @@ -660,14 +741,14 @@ testing = ["coverage (>=6.2)", "flaky (>=3.5.0)", "hypothesis (>=5.7.1)", "mypy [[package]] name = "pytest-cov" -version = "4.0.0" +version = "4.1.0" description = "Pytest plugin for measuring coverage." category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "pytest-cov-4.0.0.tar.gz", hash = "sha256:996b79efde6433cdbd0088872dbc5fb3ed7fe1578b68cdbba634f14bb8dd0470"}, - {file = "pytest_cov-4.0.0-py3-none-any.whl", hash = "sha256:2feb1b751d66a8bd934e5edfa2e961d11309dc37b73b0eabe73b5945fee20f6b"}, + {file = "pytest-cov-4.1.0.tar.gz", hash = "sha256:3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6a10ef6"}, + {file = "pytest_cov-4.1.0-py3-none-any.whl", hash = "sha256:6ba70b9e97e69fcc3fb45bfeab2d0a138fb65c4d0d6a41ef33983ad114be8c3a"}, ] [package.dependencies] @@ -679,14 +760,14 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale [[package]] name = "pytz" -version = "2022.7" +version = "2023.3.post1" description = "World timezone definitions, modern and historical" category = "dev" optional = false python-versions = "*" files = [ - {file = "pytz-2022.7-py2.py3-none-any.whl", hash = "sha256:93007def75ae22f7cd991c84e02d434876818661f8df9ad5df9e950ff4e52cfd"}, - {file = "pytz-2022.7.tar.gz", hash = "sha256:7ccfae7b4b2c067464a6733c6261673fdb8fd1be905460396b97a073e9fa683a"}, + {file = "pytz-2023.3.post1-py2.py3-none-any.whl", hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"}, + {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, ] [[package]] @@ -713,14 +794,14 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "setuptools" -version = "67.8.0" +version = "68.0.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "setuptools-67.8.0-py3-none-any.whl", hash = "sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f"}, - {file = "setuptools-67.8.0.tar.gz", hash = "sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102"}, + {file = "setuptools-68.0.0-py3-none-any.whl", hash = "sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f"}, + {file = "setuptools-68.0.0.tar.gz", hash = "sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"}, ] [package.extras] @@ -882,86 +963,53 @@ files = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] -[[package]] -name = "typed-ast" -version = "1.5.4" -description = "a fork of Python 2 and 3 ast modules with type comment support" -category = "dev" -optional = false -python-versions = ">=3.6" -files = [ - {file = "typed_ast-1.5.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:669dd0c4167f6f2cd9f57041e03c3c2ebf9063d0757dc89f79ba1daa2bfca9d4"}, - {file = "typed_ast-1.5.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:211260621ab1cd7324e0798d6be953d00b74e0428382991adfddb352252f1d62"}, - {file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:267e3f78697a6c00c689c03db4876dd1efdfea2f251a5ad6555e82a26847b4ac"}, - {file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c542eeda69212fa10a7ada75e668876fdec5f856cd3d06829e6aa64ad17c8dfe"}, - {file = "typed_ast-1.5.4-cp310-cp310-win_amd64.whl", hash = "sha256:a9916d2bb8865f973824fb47436fa45e1ebf2efd920f2b9f99342cb7fab93f72"}, - {file = "typed_ast-1.5.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:79b1e0869db7c830ba6a981d58711c88b6677506e648496b1f64ac7d15633aec"}, - {file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a94d55d142c9265f4ea46fab70977a1944ecae359ae867397757d836ea5a3f47"}, - {file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:183afdf0ec5b1b211724dfef3d2cad2d767cbefac291f24d69b00546c1837fb6"}, - {file = "typed_ast-1.5.4-cp36-cp36m-win_amd64.whl", hash = "sha256:639c5f0b21776605dd6c9dbe592d5228f021404dafd377e2b7ac046b0349b1a1"}, - {file = "typed_ast-1.5.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cf4afcfac006ece570e32d6fa90ab74a17245b83dfd6655a6f68568098345ff6"}, - {file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed855bbe3eb3715fca349c80174cfcfd699c2f9de574d40527b8429acae23a66"}, - {file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6778e1b2f81dfc7bc58e4b259363b83d2e509a65198e85d5700dfae4c6c8ff1c"}, - {file = "typed_ast-1.5.4-cp37-cp37m-win_amd64.whl", hash = "sha256:0261195c2062caf107831e92a76764c81227dae162c4f75192c0d489faf751a2"}, - {file = "typed_ast-1.5.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2efae9db7a8c05ad5547d522e7dbe62c83d838d3906a3716d1478b6c1d61388d"}, - {file = "typed_ast-1.5.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7d5d014b7daa8b0bf2eaef684295acae12b036d79f54178b92a2b6a56f92278f"}, - {file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:370788a63915e82fd6f212865a596a0fefcbb7d408bbbb13dea723d971ed8bdc"}, - {file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4e964b4ff86550a7a7d56345c7864b18f403f5bd7380edf44a3c1fb4ee7ac6c6"}, - {file = "typed_ast-1.5.4-cp38-cp38-win_amd64.whl", hash = "sha256:683407d92dc953c8a7347119596f0b0e6c55eb98ebebd9b23437501b28dcbb8e"}, - {file = "typed_ast-1.5.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4879da6c9b73443f97e731b617184a596ac1235fe91f98d279a7af36c796da35"}, - {file = "typed_ast-1.5.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3e123d878ba170397916557d31c8f589951e353cc95fb7f24f6bb69adc1a8a97"}, - {file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebd9d7f80ccf7a82ac5f88c521115cc55d84e35bf8b446fcd7836eb6b98929a3"}, - {file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98f80dee3c03455e92796b58b98ff6ca0b2a6f652120c263efdba4d6c5e58f72"}, - {file = "typed_ast-1.5.4-cp39-cp39-win_amd64.whl", hash = "sha256:0fdbcf2fef0ca421a3f5912555804296f0b0960f0418c440f5d6d3abb549f3e1"}, - {file = "typed_ast-1.5.4.tar.gz", hash = "sha256:39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2"}, -] - [[package]] name = "typing-extensions" -version = "4.4.0" +version = "4.7.1" description = "Backported and Experimental Type Hints for Python 3.7+" -category = "main" +category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, - {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, + {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, + {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, ] [[package]] name = "urllib3" -version = "1.26.13" +version = "2.0.7" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +python-versions = ">=3.7" files = [ - {file = "urllib3-1.26.13-py2.py3-none-any.whl", hash = "sha256:47cc05d99aaa09c9e72ed5809b60e7ba354e64b59c9c173ac3018642d8bb41fc"}, - {file = "urllib3-1.26.13.tar.gz", hash = "sha256:c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8"}, + {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, + {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, ] [package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] -secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] -socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] [[package]] name = "zipp" -version = "3.11.0" +version = "3.15.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "zipp-3.11.0-py3-none-any.whl", hash = "sha256:83a28fcb75844b5c0cdaf5aa4003c2d728c77e05f5aeabe8e95e56727005fbaa"}, - {file = "zipp-3.11.0.tar.gz", hash = "sha256:a7a22e05929290a67401440b39690ae6563279bced5f314609d9d03798f56766"}, + {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"}, + {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] -testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "2.0" -python-versions = "^3.7" -content-hash = "21d1add46de6767e4784710ad659f8881d8eeaf99e0c60b3e1e80d0201600194" +python-versions = "^3.8" +content-hash = "ff5acd04841119c203edb825e4905c233389b9168d15fe345611757b93c11af9" diff --git a/pyproject.toml b/pyproject.toml index 03b1efad3..704249463 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "ocpp" -version = "0.22.0" +version = "0.26.0" description = "Python package implementing the JSON version of the Open Charge Point Protocol (OCPP)." authors = [ "André Duarte ", @@ -27,16 +27,14 @@ classifiers = [ 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.7' ] [tool.poetry.dependencies] -python = "^3.7" +python = "^3.8" jsonschema = "^4.4.0" [tool.poetry.dev-dependencies] # Starting from Python 3.8, asynctest is replaced with a unittest.mock.AsyncMock in standard library. -asynctest = { version = "0.13.0", python = "~3.7" } pytest = "^7" pytest-asyncio = "^0.20.3" pytest-cov = "^4.0.0" diff --git a/tests/conftest.py b/tests/conftest.py index 69e0561c0..51c17e22b 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,9 +1,4 @@ -try: - from unittest.mock import AsyncMock -except ImportError: - # Python 3.7 and below don't include unittest.mock.AsyncMock. Hence, - # we need to resolve to a package on pypi. - from asynctest import CoroutineMock as AsyncMock +from unittest.mock import AsyncMock import pytest diff --git a/tests/test_charge_point.py b/tests/test_charge_point.py index de505baad..3b0fd98d9 100644 --- a/tests/test_charge_point.py +++ b/tests/test_charge_point.py @@ -3,22 +3,21 @@ import pytest from ocpp.charge_point import camel_to_snake_case, remove_nones, snake_to_camel_case -from ocpp.routing import create_route_map, on -from ocpp.v16.call import ( - BootNotificationPayload, - GetConfigurationPayload, - MeterValuesPayload, -) +from ocpp.messages import Call +from ocpp.routing import after, create_route_map, on +from ocpp.v16 import ChargePoint as cp_16 +from ocpp.v16.call import BootNotification, GetConfiguration, MeterValues +from ocpp.v16.call_result import BootNotification as BootNotificationResult from ocpp.v16.datatypes import MeterValue, SampledValue -from ocpp.v16.enums import Action -from ocpp.v20 import ChargePoint as cp -from ocpp.v201.call import SetNetworkProfilePayload +from ocpp.v16.enums import Action, RegistrationStatus +from ocpp.v201 import ChargePoint as cp_201 +from ocpp.v201.call import SetNetworkProfile from ocpp.v201.datatypes import NetworkConnectionProfileType from ocpp.v201.enums import OCPPInterfaceType, OCPPTransportType, OCPPVersionType def test_getters_should_not_be_called_during_routemap_setup(): - class ChargePoint(cp): + class ChargePoint(cp_201): @property def foo(self): raise RuntimeError("this will be raised") @@ -31,12 +30,12 @@ def foo(self): def test_multiple_classes_with_same_name_for_handler(): - class ChargerA(cp): + class ChargerA(cp_201): @on(Action.Heartbeat) def heartbeat(self, **kwargs): pass - class ChargerB(cp): + class ChargerB(cp_201): @on(Action.Heartbeat) def heartbeat(self, **kwargs): pass @@ -53,6 +52,8 @@ def heartbeat(self, **kwargs): [ ({"transactionId": "74563478"}, {"transaction_id": "74563478"}), ({"fullSoC": 100}, {"full_soc": 100}), + ({"evMinV2XEnergyRequest": 200}, {"ev_min_v2x_energy_request": 200}), + ({"v2xChargingCtrlr": 200}, {"v2x_charging_ctrlr": 200}), ], ) def test_camel_to_snake_case(test_input, expected): @@ -65,6 +66,8 @@ def test_camel_to_snake_case(test_input, expected): [ ({"transaction_id": "74563478"}, {"transactionId": "74563478"}), ({"full_soc": 100}, {"fullSoC": 100}), + ({"ev_min_v2x_energy_request": 200}, {"evMinV2XEnergyRequest": 200}), + ({"v2x_charging_ctrlr": 200}, {"v2xChargingCtrlr": 200}), ], ) def test_snake_to_camel_case(test_input, expected): @@ -75,7 +78,7 @@ def test_snake_to_camel_case(test_input, expected): def test_remove_nones(): expected_payload = {"charge_point_model": "foo", "charge_point_vendor": "bar"} - payload = BootNotificationPayload( + payload = BootNotification( charge_point_model="foo", charge_point_vendor="bar", charge_box_serial_number=None, @@ -109,9 +112,7 @@ def test_nested_remove_nones(): apn=None, ) - payload = SetNetworkProfilePayload( - configuration_slot=1, connection_data=connection_data - ) + payload = SetNetworkProfile(configuration_slot=1, connection_data=connection_data) payload = asdict(payload) assert expected_payload == remove_nones(payload) @@ -161,7 +162,7 @@ def test_nested_list_remove_nones(): "transaction_id": 5, } - payload = MeterValuesPayload( + payload = MeterValues( connector_id=3, meter_value=[ MeterValue( @@ -224,9 +225,107 @@ def test_remove_nones_with_list_of_strings(): https://github.com/mobilityhouse/ocpp/issues/289. """ payload = asdict( - GetConfigurationPayload(key=["ClockAlignedDataInterval", "ConnectionTimeOut"]) + GetConfiguration(key=["ClockAlignedDataInterval", "ConnectionTimeOut"]) ) assert remove_nones(payload) == { "key": ["ClockAlignedDataInterval", "ConnectionTimeOut"] } + + +@pytest.mark.asyncio +async def test_call_unique_id_added_to_handler_args_correctly(connection): + """ + This test ensures that the `call_unique_id` is getting passed to the + `on` and `after` handlers only if it is explicitly set in the handler signature. + + To cover all possible cases, we define two chargers: + + ChargerA: + `call_unique_id` not required on `on` handler but required on `after` handler. + + ChargerB: + `call_unique_id` required on `on` handler but not required on `after` handler. + + Each handler verifies a set of asserts to verify that the `call_unique_id` + is passed correctly. + To confirm that the handlers are actually being called and hence the asserts + are being ran, we introduce a set of counters that increase each time a specific + handler runs. + """ + charger_a_test_call_unique_id = "charger_a_1234" + charger_b_test_call_unique_id = "charger_b_5678" + payload_a = {"chargePointVendor": "foo_a", "chargePointModel": "bar_a"} + payload_b = {"chargePointVendor": "foo_b", "chargePointModel": "bar_b"} + + class ChargerA(cp_16): + on_boot_notification_call_count = 0 + after_boot_notification_call_count = 0 + + @on(Action.BootNotification) + def on_boot_notification(self, *args, **kwargs): + # call_unique_id should not be passed as arg nor kwarg + assert kwargs == camel_to_snake_case(payload_a) + assert args == () + ChargerA.on_boot_notification_call_count += 1 + return BootNotificationResult( + current_time="foo", interval=1, status=RegistrationStatus.accepted + ) + + @after(Action.BootNotification) + def after_boot_notification(self, call_unique_id, *args, **kwargs): + assert call_unique_id == charger_a_test_call_unique_id + assert kwargs == camel_to_snake_case(payload_a) + # call_unique_id should not be passed as arg + assert args == () + ChargerA.after_boot_notification_call_count += 1 + return BootNotificationResult( + current_time="foo", interval=1, status=RegistrationStatus.accepted + ) + + class ChargerB(cp_16): + on_boot_notification_call_count = 0 + after_boot_notification_call_count = 0 + + @on(Action.BootNotification) + def on_boot_notification(self, call_unique_id, *args, **kwargs): + assert call_unique_id == charger_b_test_call_unique_id + assert kwargs == camel_to_snake_case(payload_b) + # call_unique_id should not be passed as arg + assert args == () + ChargerB.on_boot_notification_call_count += 1 + return BootNotificationResult( + current_time="foo", interval=1, status=RegistrationStatus.accepted + ) + + @after(Action.BootNotification) + def after_boot_notification(self, *args, **kwargs): + # call_unique_id should not be passed as arg nor kwarg + assert kwargs == camel_to_snake_case(payload_b) + assert args == () + ChargerB.after_boot_notification_call_count += 1 + return BootNotificationResult( + current_time="foo", interval=1, status=RegistrationStatus.accepted + ) + + charger_a = ChargerA("charger_a_id", connection) + charger_b = ChargerB("charger_b_id", connection) + + msg_a = Call( + unique_id=charger_a_test_call_unique_id, + action=Action.BootNotification.value, + payload=payload_a, + ) + await charger_a._handle_call(msg_a) + + msg_b = Call( + unique_id=charger_b_test_call_unique_id, + action=Action.BootNotification.value, + payload=payload_b, + ) + await charger_b._handle_call(msg_b) + + assert ChargerA.on_boot_notification_call_count == 1 + assert ChargerA.after_boot_notification_call_count == 1 + assert ChargerB.on_boot_notification_call_count == 1 + assert ChargerB.after_boot_notification_call_count == 1 diff --git a/tests/test_messages.py b/tests/test_messages.py index 60c798b0a..3bd7131e7 100644 --- a/tests/test_messages.py +++ b/tests/test_messages.py @@ -150,7 +150,7 @@ def test_validate_get_composite_profile_payload(): validate_payload(message, ocpp_version="1.6") -@pytest.mark.parametrize("ocpp_version", ["1.6", "2.0"]) +@pytest.mark.parametrize("ocpp_version", ["1.6", "2.0.1"]) def test_validate_payload_with_valid_payload(ocpp_version): """ Test if validate_payload doesn't return any exceptions when it's diff --git a/tests/v16/conftest.py b/tests/v16/conftest.py index a8dfc365f..73e4b5de8 100644 --- a/tests/v16/conftest.py +++ b/tests/v16/conftest.py @@ -1,9 +1,4 @@ -try: - from unittest.mock import AsyncMock -except ImportError: - # Python 3.7 and below don't include unittest.mock.AsyncMock. Hence, - # we need to resolve to a package on pypi. - from asynctest import CoroutineMock as AsyncMock +from unittest.mock import AsyncMock import pytest @@ -49,7 +44,7 @@ def base_central_system(connection): @pytest.fixture def mock_boot_request(): - return call.BootNotificationPayload( + return call.BootNotification( charge_point_vendor="dummy_vendor", charge_point_model="dummy_model", ) diff --git a/tests/v16/test_v16_charge_point.py b/tests/v16/test_v16_charge_point.py index 9d07acf23..37d8d8e3c 100644 --- a/tests/v16/test_v16_charge_point.py +++ b/tests/v16/test_v16_charge_point.py @@ -26,7 +26,7 @@ def on_boot_notification(charge_point_model, charge_point_vendor, **kwargs): # assert charge_point_model == "ICU Eve Mini" assert kwargs["firmware_version"] == "#1:3.4.0-2990#N:217H;1.0-223" - return call_result.BootNotificationPayload( + return call_result.BootNotification( current_time="2018-05-29T17:37:05.495259", interval=350, status="Accepted", @@ -66,7 +66,7 @@ async def test_route_message_without_validation(base_central_system): def on_boot_notification(**kwargs): # noqa assert kwargs["firmware_version"] == "#1:3.4.0-2990#N:217H;1.0-223" - return call_result.BootNotificationPayload( + return call_result.BootNotification( current_time="2018-05-29T17:37:05.495259", interval=350, # 'Yolo' is not a valid value for for field status. @@ -120,7 +120,7 @@ async def test_route_message_not_supported(base_central_system, not_supported_ca def on_boot_notification(**kwargs): # noqa assert kwargs["firmware_version"] == "#1:3.4.0-2990#N:217H;1.0-223" - return call_result.BootNotificationPayload( + return call_result.BootNotification( current_time="2018-05-29T17:37:05.495259", interval=350, # 'Yolo' is not a valid value for for field status. @@ -174,7 +174,7 @@ async def test_route_message_with_no_route(base_central_system, heartbeat_call): async def test_send_call_with_timeout(connection): cs = ChargePoint(id=1234, connection=connection, response_timeout=0.1) - payload = call.ResetPayload(type="Hard") + payload = call.Reset(type="Hard") with pytest.raises(asyncio.TimeoutError): await cs.call(payload) @@ -187,7 +187,7 @@ async def test_send_call_with_timeout(connection): @pytest.mark.asyncio async def test_send_invalid_call(base_central_system): - payload = call.ResetPayload(type="Medium") + payload = call.Reset(type="Medium") with pytest.raises(FormatViolationError): await base_central_system.call(payload) @@ -207,7 +207,7 @@ async def test_raise_call_error(base_central_system): ) await base_central_system.route_message(call_error.to_json()) - payload = call.ClearCachePayload() + payload = call.ClearCache() with pytest.raises(GenericError): await base_central_system.call(payload, suppress=False) @@ -226,7 +226,7 @@ async def test_suppress_call_error(base_central_system): ) await base_central_system.route_message(call_error.to_json()) - payload = call.ClearCachePayload() + payload = call.ClearCache() await base_central_system.call(payload) diff --git a/tests/v20/conftest.py b/tests/v20/conftest.py deleted file mode 100644 index 927faef17..000000000 --- a/tests/v20/conftest.py +++ /dev/null @@ -1,75 +0,0 @@ -try: - from unittest.mock import AsyncMock -except ImportError: - # Python 3.7 and below don't include unittest.mock.AsyncMock. Hence, - # we need to resolve to a package on pypi. - from asynctest import CoroutineMock as AsyncMock - -import pytest - -from ocpp.messages import Call, CallResult -from ocpp.v20 import ChargePoint, call - -chargingStation = { - "vendorName": "ICU Eve Mini", - "firmwareVersion": "#1:3.4.0-2990#N:217H;1.0-223", - "model": "ICU Eve Mini", -} - - -@pytest.fixture -def heartbeat_call(): - return Call(unique_id=1, action="Heartbeat", payload={}).to_json() - - -@pytest.fixture -def boot_notification_call(): - return Call( - unique_id="1", - action="BootNotification", - payload={ - "reason": "PowerUp", - "chargingStation": chargingStation, - }, - ).to_json() - - -@pytest.fixture -def base_central_system(connection): - cs = ChargePoint( - id=1234, - connection=connection, - ) - - cs._unique_id_generator = lambda: 1337 - - return cs - - -@pytest.fixture -def mock_boot_request(): - return call.BootNotificationPayload( - reason="PowerUp", - charging_station=chargingStation, - ) - - -@pytest.fixture -def mock_base_central_system(base_central_system): - mock_result_call = CallResult( - unique_id=str(base_central_system._unique_id_generator()), - action="BootNotification", - payload={ - "currentTime": "2018-05-29T17:37:05.495259", - "interval": 350, - "status": "Accepted", - }, - ) - - base_central_system._send = AsyncMock() - - mock_response = AsyncMock() - mock_response.return_value = mock_result_call - base_central_system._get_specific_response = mock_response - - return base_central_system diff --git a/tests/v20/test_v20_charge_point.py b/tests/v20/test_v20_charge_point.py deleted file mode 100644 index bb0a04aa2..000000000 --- a/tests/v20/test_v20_charge_point.py +++ /dev/null @@ -1,120 +0,0 @@ -import json - -import pytest - -from ocpp.routing import after, create_route_map, on -from ocpp.v20 import call_result - - -@pytest.mark.asyncio -async def test_route_message_with_existing_route( - base_central_system, boot_notification_call -): - """Test if the correct handler is called when routing a message. - Also test if payload of request is injected correctly in handler. - - """ - - @on("BootNotification") - def on_boot_notification(reason, charging_station, **kwargs): - assert reason == "PowerUp" - assert charging_station == { - "vendor_name": "ICU Eve Mini", - "firmware_version": "#1:3.4.0-2990#N:217H;1.0-223", - "model": "ICU Eve Mini", - } - - return call_result.BootNotificationPayload( - current_time="2018-05-29T17:37:05.495259", - interval=350, - status="Accepted", - ) - - @after("BootNotification") - def after_boot_notification(reason, charging_station, **kwargs): - assert reason == "PowerUp" - assert charging_station == { - "vendor_name": "ICU Eve Mini", - "firmware_version": "#1:3.4.0-2990#N:217H;1.0-223", - "model": "ICU Eve Mini", - } - - setattr(base_central_system, "on_boot_notification", on_boot_notification) - setattr(base_central_system, "after_boot_notification", after_boot_notification) - base_central_system.route_map = create_route_map(base_central_system) - - await base_central_system.route_message(boot_notification_call) - base_central_system._connection.send.assert_called_once_with( - json.dumps( - [ - 3, - "1", - { - "currentTime": "2018-05-29T17:37:05.495259", - "interval": 350, - "status": "Accepted", - }, - ], - separators=(",", ":"), - ) - ) - - -@pytest.mark.asyncio -async def test_route_message_with_no_route(base_central_system, heartbeat_call): - """ - Test that a CALLERROR is sent back, reporting that no handler is - registred for it. - - """ - # Empty the route map - base_central_system.route_map = {} - - await base_central_system.route_message(heartbeat_call) - base_central_system._connection.send.assert_called_once_with( - json.dumps( - [ - 4, - 1, - "NotImplemented", - "Request Action is recognized but not supported by the receiver", - {"cause": "No handler for Heartbeat registered."}, - ], - separators=(",", ":"), - ) - ) - - -@pytest.mark.asyncio -async def test_call_with_unique_id_should_return_same_id( - mock_boot_request, mock_base_central_system -): - - expected_unique_id = "12345" - # Call the method being tested with a unique_id as a parameter - await mock_base_central_system.call(mock_boot_request, unique_id=expected_unique_id) - ( - actual_unique_id, - _, - ) = mock_base_central_system._get_specific_response.call_args_list[0][0] - - # Check the actual unique id is equals to the one passed to the call method - assert actual_unique_id == expected_unique_id - - -@pytest.mark.asyncio -async def test_call_without_unique_id_should_return_a_random_value( - mock_boot_request, mock_base_central_system -): - - expected_unique_id = str(mock_base_central_system._unique_id_generator()) - - # Call the method being tested without passing a unique_id as a parameter - await mock_base_central_system.call(mock_boot_request) - - ( - actual_unique_id, - _, - ) = mock_base_central_system._get_specific_response.call_args_list[0][0] - # Check the actual unique id is equals to the one internally generated - assert actual_unique_id == expected_unique_id diff --git a/tests/v201/conftest.py b/tests/v201/conftest.py index ca71fc5b3..c9b269192 100644 --- a/tests/v201/conftest.py +++ b/tests/v201/conftest.py @@ -1,9 +1,4 @@ -try: - from unittest.mock import AsyncMock -except ImportError: - # Python 3.7 and below don't include unittest.mock.AsyncMock. Hence, - # we need to resolve to a package on pypi. - from asynctest import CoroutineMock as AsyncMock +from unittest.mock import AsyncMock import pytest @@ -48,7 +43,7 @@ def base_central_system(connection): @pytest.fixture def mock_boot_request(): - return call.BootNotificationPayload( + return call.BootNotification( reason="PowerUp", charging_station=chargingStation, ) diff --git a/tests/v201/test_v201_charge_point.py b/tests/v201/test_v201_charge_point.py index ddbd33808..ba32e7f24 100644 --- a/tests/v201/test_v201_charge_point.py +++ b/tests/v201/test_v201_charge_point.py @@ -24,7 +24,7 @@ def on_boot_notification(reason, charging_station, **kwargs): "model": "ICU Eve Mini", } - return call_result.BootNotificationPayload( + return call_result.BootNotification( current_time="2018-05-29T17:37:05.495259", interval=350, status="Accepted",