From c62058febd109f90607d038e70ee6ae482a9b938 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Wed, 12 Feb 2025 21:56:11 +0100 Subject: [PATCH 001/249] chore: Update Cargo.toml configuration - Remove default feature for OCPP versions - Add support for OCPP v2.1 feature flag - Improve formatting of dependency configurations --- Cargo.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index c214ee54..ccb4cfd4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,9 +23,10 @@ exclude = ["docs/", "src/tests"] all-features = true [features] -default = ["v2_0_1"] +# No default feature, so each version must be explicitly enabled v1_6 = [] v2_0_1 = [] +v2_1 = [] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html From ecf5c44ac481ae01fe2e094515cf09876cc87e72 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Wed, 12 Feb 2025 21:57:53 +0100 Subject: [PATCH 002/249] Add schemas and initial types and test --- src/lib.rs | 2 + src/tests/schema_validation/mod.rs | 2 + .../schemas/v2.1/AFRRSignalRequest.json | 41 + .../schemas/v2.1/AFRRSignalResponse.json | 70 ++ .../AdjustPeriodicEventStreamRequest.json | 59 + .../AdjustPeriodicEventStreamResponse.json | 71 ++ .../schemas/v2.1/AuthorizeRequest.json | 158 +++ .../schemas/v2.1/AuthorizeResponse.json | 688 +++++++++++ .../schemas/v2.1/BatterySwapRequest.json | 169 +++ .../schemas/v2.1/BatterySwapResponse.json | 29 + .../schemas/v2.1/BootNotificationRequest.json | 114 ++ .../v2.1/BootNotificationResponse.json | 83 ++ .../v2.1/CancelReservationRequest.json | 36 + .../v2.1/CancelReservationResponse.json | 71 ++ .../v2.1/CertificateSignedRequest.json | 54 + .../v2.1/CertificateSignedResponse.json | 71 ++ .../v2.1/ChangeAvailabilityRequest.json | 71 ++ .../v2.1/ChangeAvailabilityResponse.json | 72 ++ .../v2.1/ChangeTransactionTariffRequest.json | 518 ++++++++ .../v2.1/ChangeTransactionTariffResponse.json | 75 ++ .../schemas/v2.1/ClearCacheRequest.json | 28 + .../schemas/v2.1/ClearCacheResponse.json | 71 ++ .../v2.1/ClearChargingProfileRequest.json | 73 ++ .../v2.1/ClearChargingProfileResponse.json | 71 ++ .../schemas/v2.1/ClearDERControlRequest.json | 73 ++ .../schemas/v2.1/ClearDERControlResponse.json | 73 ++ .../v2.1/ClearDisplayMessageRequest.json | 36 + .../v2.1/ClearDisplayMessageResponse.json | 72 ++ .../schemas/v2.1/ClearTariffsRequest.json | 43 + .../schemas/v2.1/ClearTariffsResponse.json | 97 ++ .../v2.1/ClearVariableMonitoringRequest.json | 41 + .../v2.1/ClearVariableMonitoringResponse.json | 99 ++ .../v2.1/ClearedChargingLimitRequest.json | 41 + .../v2.1/ClearedChargingLimitResponse.json | 28 + .../v2.1/ClosePeriodicEventStreamRequest.json | 36 + .../ClosePeriodicEventStreamResponse.json | 28 + .../schemas/v2.1/CostUpdatedRequest.json | 41 + .../schemas/v2.1/CostUpdatedResponse.json | 28 + .../v2.1/CustomerInformationRequest.json | 160 +++ .../v2.1/CustomerInformationResponse.json | 72 ++ .../schemas/v2.1/DataTransferRequest.json | 44 + .../schemas/v2.1/DataTransferResponse.json | 76 ++ .../v2.1/DeleteCertificateRequest.json | 79 ++ .../v2.1/DeleteCertificateResponse.json | 72 ++ .../FirmwareStatusNotificationRequest.json | 87 ++ .../FirmwareStatusNotificationResponse.json | 28 + .../v2.1/Get15118EVCertificateRequest.json | 72 ++ .../v2.1/Get15118EVCertificateResponse.json | 82 ++ .../schemas/v2.1/GetBaseReportRequest.json | 50 + .../schemas/v2.1/GetBaseReportResponse.json | 73 ++ .../GetCertificateChainStatusRequest.json | 128 ++ .../GetCertificateChainStatusResponse.json | 137 +++ .../v2.1/GetCertificateStatusRequest.json | 86 ++ .../v2.1/GetCertificateStatusResponse.json | 76 ++ .../v2.1/GetChargingProfilesRequest.json | 97 ++ .../v2.1/GetChargingProfilesResponse.json | 71 ++ .../v2.1/GetCompositeScheduleRequest.json | 54 + .../v2.1/GetCompositeScheduleResponse.json | 298 +++++ .../schemas/v2.1/GetDERControlRequest.json | 77 ++ .../schemas/v2.1/GetDERControlResponse.json | 73 ++ .../v2.1/GetDisplayMessagesRequest.json | 76 ++ .../v2.1/GetDisplayMessagesResponse.json | 71 ++ .../GetInstalledCertificateIdsRequest.json | 50 + .../GetInstalledCertificateIdsResponse.json | 167 +++ .../v2.1/GetLocalListVersionRequest.json | 28 + .../v2.1/GetLocalListVersionResponse.json | 35 + .../schemas/v2.1/GetLogRequest.json | 92 ++ .../schemas/v2.1/GetLogResponse.json | 77 ++ .../v2.1/GetMonitoringReportRequest.json | 158 +++ .../v2.1/GetMonitoringReportResponse.json | 73 ++ .../v2.1/GetPeriodicEventStreamRequest.json | 29 + .../v2.1/GetPeriodicEventStreamResponse.json | 84 ++ .../schemas/v2.1/GetReportRequest.json | 159 +++ .../schemas/v2.1/GetReportResponse.json | 73 ++ .../schemas/v2.1/GetTariffsRequest.json | 36 + .../schemas/v2.1/GetTariffsResponse.json | 137 +++ .../v2.1/GetTransactionStatusRequest.json | 33 + .../v2.1/GetTransactionStatusResponse.json | 39 + .../schemas/v2.1/GetVariablesRequest.json | 151 +++ .../schemas/v2.1/GetVariablesResponse.json | 198 ++++ .../schemas/v2.1/HeartbeatRequest.json | 28 + .../schemas/v2.1/HeartbeatResponse.json | 36 + .../v2.1/InstallCertificateRequest.json | 53 + .../v2.1/InstallCertificateResponse.json | 72 ++ .../v2.1/LogStatusNotificationRequest.json | 81 ++ .../v2.1/LogStatusNotificationResponse.json | 28 + .../schemas/v2.1/MeterValuesRequest.json | 281 +++++ .../schemas/v2.1/MeterValuesResponse.json | 28 + .../NotifyAllowedEnergyTransferRequest.json | 64 + .../NotifyAllowedEnergyTransferResponse.json | 70 ++ .../v2.1/NotifyChargingLimitRequest.json | 897 ++++++++++++++ .../v2.1/NotifyChargingLimitResponse.json | 28 + .../NotifyCustomerInformationRequest.json | 59 + .../NotifyCustomerInformationResponse.json | 28 + .../schemas/v2.1/NotifyDERAlarmRequest.json | 101 ++ .../schemas/v2.1/NotifyDERAlarmResponse.json | 28 + .../v2.1/NotifyDERStartStopRequest.json | 58 + .../v2.1/NotifyDERStartStopResponse.json | 28 + .../v2.1/NotifyDisplayMessagesRequest.json | 222 ++++ .../v2.1/NotifyDisplayMessagesResponse.json | 28 + .../v2.1/NotifyEVChargingNeedsRequest.json | 740 ++++++++++++ .../v2.1/NotifyEVChargingNeedsResponse.json | 73 ++ .../v2.1/NotifyEVChargingScheduleRequest.json | 879 ++++++++++++++ .../NotifyEVChargingScheduleResponse.json | 71 ++ .../schemas/v2.1/NotifyEventRequest.json | 235 ++++ .../schemas/v2.1/NotifyEventResponse.json | 28 + .../v2.1/NotifyMonitoringReportRequest.json | 235 ++++ .../v2.1/NotifyMonitoringReportResponse.json | 28 + .../v2.1/NotifyPeriodicEventStream.json | 79 ++ .../v2.1/NotifyPriorityChargingRequest.json | 41 + .../v2.1/NotifyPriorityChargingResponse.json | 29 + .../schemas/v2.1/NotifyReportRequest.json | 287 +++++ .../schemas/v2.1/NotifyReportResponse.json | 28 + .../schemas/v2.1/NotifySettlementRequest.json | 137 +++ .../v2.1/NotifySettlementResponse.json | 38 + .../v2.1/NotifyWebPaymentStartedRequest.json | 41 + .../v2.1/NotifyWebPaymentStartedResponse.json | 28 + .../v2.1/OpenPeriodicEventStreamRequest.json | 82 ++ .../v2.1/OpenPeriodicEventStreamResponse.json | 71 ++ .../schemas/v2.1/PublishFirmwareRequest.json | 58 + .../schemas/v2.1/PublishFirmwareResponse.json | 71 ++ ...lishFirmwareStatusNotificationRequest.json | 94 ++ ...ishFirmwareStatusNotificationResponse.json | 28 + .../PullDynamicScheduleUpdateRequest.json | 35 + .../PullDynamicScheduleUpdateResponse.json | 136 +++ .../v2.1/ReportChargingProfilesRequest.json | 1003 ++++++++++++++++ .../v2.1/ReportChargingProfilesResponse.json | 28 + .../schemas/v2.1/ReportDERControlRequest.json | 755 ++++++++++++ .../v2.1/ReportDERControlResponse.json | 29 + .../v2.1/RequestBatterySwapRequest.json | 97 ++ .../v2.1/RequestBatterySwapResponse.json | 71 ++ .../v2.1/RequestStartTransactionRequest.json | 1050 +++++++++++++++++ .../v2.1/RequestStartTransactionResponse.json | 76 ++ .../v2.1/RequestStopTransactionRequest.json | 36 + .../v2.1/RequestStopTransactionResponse.json | 71 ++ .../v2.1/ReservationStatusUpdateRequest.json | 51 + .../v2.1/ReservationStatusUpdateResponse.json | 28 + .../schemas/v2.1/ReserveNowRequest.json | 117 ++ .../schemas/v2.1/ReserveNowResponse.json | 74 ++ .../schemas/v2.1/ResetRequest.json | 50 + .../schemas/v2.1/ResetResponse.json | 72 ++ .../SecurityEventNotificationRequest.json | 47 + .../SecurityEventNotificationResponse.json | 28 + .../schemas/v2.1/SendLocalListRequest.json | 246 ++++ .../schemas/v2.1/SendLocalListResponse.json | 72 ++ .../v2.1/SetChargingProfileRequest.json | 982 +++++++++++++++ .../v2.1/SetChargingProfileResponse.json | 71 ++ .../schemas/v2.1/SetDERControlRequest.json | 505 ++++++++ .../schemas/v2.1/SetDERControlResponse.json | 84 ++ .../schemas/v2.1/SetDefaultTariffRequest.json | 518 ++++++++ .../v2.1/SetDefaultTariffResponse.json | 73 ++ .../v2.1/SetDisplayMessageRequest.json | 208 ++++ .../v2.1/SetDisplayMessageResponse.json | 76 ++ .../v2.1/SetMonitoringBaseRequest.json | 45 + .../v2.1/SetMonitoringBaseResponse.json | 73 ++ .../v2.1/SetMonitoringLevelRequest.json | 36 + .../v2.1/SetMonitoringLevelResponse.json | 71 ++ .../v2.1/SetNetworkProfileRequest.json | 254 ++++ .../v2.1/SetNetworkProfileResponse.json | 72 ++ .../v2.1/SetVariableMonitoringRequest.json | 198 ++++ .../v2.1/SetVariableMonitoringResponse.json | 210 ++++ .../schemas/v2.1/SetVariablesRequest.json | 156 +++ .../schemas/v2.1/SetVariablesResponse.json | 195 +++ .../schemas/v2.1/SignCertificateRequest.json | 102 ++ .../schemas/v2.1/SignCertificateResponse.json | 71 ++ .../v2.1/StatusNotificationRequest.json | 65 + .../v2.1/StatusNotificationResponse.json | 28 + .../schemas/v2.1/TransactionEventRequest.json | 875 ++++++++++++++ .../v2.1/TransactionEventResponse.json | 252 ++++ .../schemas/v2.1/TriggerMessageRequest.json | 87 ++ .../schemas/v2.1/TriggerMessageResponse.json | 72 ++ .../schemas/v2.1/UnlockConnectorRequest.json | 42 + .../schemas/v2.1/UnlockConnectorResponse.json | 73 ++ .../v2.1/UnpublishFirmwareRequest.json | 36 + .../v2.1/UnpublishFirmwareResponse.json | 45 + .../v2.1/UpdateDynamicScheduleRequest.json | 102 ++ .../v2.1/UpdateDynamicScheduleResponse.json | 71 ++ .../schemas/v2.1/UpdateFirmwareRequest.json | 88 ++ .../schemas/v2.1/UpdateFirmwareResponse.json | 74 ++ .../v2.1/UsePriorityChargingRequest.json | 41 + .../v2.1/UsePriorityChargingResponse.json | 72 ++ .../v2.1/VatNumberValidationRequest.json | 41 + .../v2.1/VatNumberValidationResponse.json | 132 +++ src/tests/schema_validation/v2_1.rs | 139 +++ src/v2_1/datatypes/mod.rs | 0 src/v2_1/enumerations/mod.rs | 0 src/v2_1/helpers/mod.rs | 0 src/v2_1/messages/boot_notification.rs | 147 +++ src/v2_1/messages/mod.rs | 0 src/v2_1/mod.rs | 19 + 190 files changed, 23483 insertions(+) create mode 100644 src/tests/schema_validation/schemas/v2.1/AFRRSignalRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/AFRRSignalResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/AdjustPeriodicEventStreamRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/AdjustPeriodicEventStreamResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/AuthorizeRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/AuthorizeResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/BatterySwapRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/BatterySwapResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/BootNotificationRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/BootNotificationResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/CancelReservationRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/CancelReservationResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/CertificateSignedRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/CertificateSignedResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ChangeAvailabilityRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ChangeAvailabilityResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ChangeTransactionTariffRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ChangeTransactionTariffResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClearCacheRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClearCacheResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClearChargingProfileRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClearChargingProfileResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClearDERControlRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClearDERControlResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClearDisplayMessageRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClearDisplayMessageResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClearTariffsRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClearTariffsResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClearVariableMonitoringRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClearVariableMonitoringResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClearedChargingLimitRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClearedChargingLimitResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClosePeriodicEventStreamRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ClosePeriodicEventStreamResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/CostUpdatedRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/CostUpdatedResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/CustomerInformationRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/CustomerInformationResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/DataTransferRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/DataTransferResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/DeleteCertificateRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/DeleteCertificateResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/FirmwareStatusNotificationRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/FirmwareStatusNotificationResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/Get15118EVCertificateRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/Get15118EVCertificateResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetBaseReportRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetBaseReportResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetCertificateChainStatusRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetCertificateChainStatusResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetCertificateStatusRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetCertificateStatusResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetChargingProfilesRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetChargingProfilesResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetCompositeScheduleRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetCompositeScheduleResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetDERControlRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetDERControlResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetDisplayMessagesRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetDisplayMessagesResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetInstalledCertificateIdsRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetInstalledCertificateIdsResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetLocalListVersionRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetLocalListVersionResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetLogRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetLogResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetMonitoringReportRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetMonitoringReportResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetPeriodicEventStreamRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetPeriodicEventStreamResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetReportRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetReportResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetTariffsRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetTariffsResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetTransactionStatusRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetTransactionStatusResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetVariablesRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/GetVariablesResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/HeartbeatRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/HeartbeatResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/InstallCertificateRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/InstallCertificateResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/LogStatusNotificationRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/LogStatusNotificationResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/MeterValuesRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/MeterValuesResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyAllowedEnergyTransferRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyAllowedEnergyTransferResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyChargingLimitRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyChargingLimitResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyCustomerInformationRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyCustomerInformationResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyDERAlarmRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyDERAlarmResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyDERStartStopRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyDERStartStopResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyDisplayMessagesRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyDisplayMessagesResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyEVChargingNeedsRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyEVChargingNeedsResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyEVChargingScheduleRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyEVChargingScheduleResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyEventRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyEventResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyMonitoringReportRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyMonitoringReportResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyPeriodicEventStream.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyPriorityChargingRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyPriorityChargingResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyReportRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyReportResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifySettlementRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifySettlementResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyWebPaymentStartedRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/NotifyWebPaymentStartedResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/OpenPeriodicEventStreamRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/OpenPeriodicEventStreamResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/PublishFirmwareRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/PublishFirmwareResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/PublishFirmwareStatusNotificationRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/PublishFirmwareStatusNotificationResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/PullDynamicScheduleUpdateRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/PullDynamicScheduleUpdateResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ReportChargingProfilesRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ReportChargingProfilesResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ReportDERControlRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ReportDERControlResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/RequestBatterySwapRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/RequestBatterySwapResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/RequestStartTransactionRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/RequestStartTransactionResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/RequestStopTransactionRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/RequestStopTransactionResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ReservationStatusUpdateRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ReservationStatusUpdateResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ReserveNowRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ReserveNowResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ResetRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/ResetResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SecurityEventNotificationRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SecurityEventNotificationResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SendLocalListRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SendLocalListResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetChargingProfileRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetChargingProfileResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetDERControlRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetDERControlResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetDefaultTariffRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetDefaultTariffResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetDisplayMessageRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetDisplayMessageResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetMonitoringBaseRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetMonitoringBaseResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetMonitoringLevelRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetMonitoringLevelResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetNetworkProfileRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetNetworkProfileResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetVariableMonitoringRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetVariableMonitoringResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetVariablesRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SetVariablesResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SignCertificateRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/SignCertificateResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/StatusNotificationRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/StatusNotificationResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/TransactionEventRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/TransactionEventResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/TriggerMessageRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/TriggerMessageResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/UnlockConnectorRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/UnlockConnectorResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/UnpublishFirmwareRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/UnpublishFirmwareResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/UpdateDynamicScheduleRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/UpdateDynamicScheduleResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/UpdateFirmwareRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/UpdateFirmwareResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/UsePriorityChargingRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/UsePriorityChargingResponse.json create mode 100644 src/tests/schema_validation/schemas/v2.1/VatNumberValidationRequest.json create mode 100644 src/tests/schema_validation/schemas/v2.1/VatNumberValidationResponse.json create mode 100644 src/tests/schema_validation/v2_1.rs create mode 100644 src/v2_1/datatypes/mod.rs create mode 100644 src/v2_1/enumerations/mod.rs create mode 100644 src/v2_1/helpers/mod.rs create mode 100644 src/v2_1/messages/boot_notification.rs create mode 100644 src/v2_1/messages/mod.rs create mode 100644 src/v2_1/mod.rs diff --git a/src/lib.rs b/src/lib.rs index c303bee1..a94e1e40 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -19,3 +19,5 @@ pub mod tests; pub mod v1_6; #[cfg(feature = "v2_0_1")] pub mod v2_0_1; +#[cfg(feature = "v2_1")] +pub mod v2_1; diff --git a/src/tests/schema_validation/mod.rs b/src/tests/schema_validation/mod.rs index c4caaa62..854c6a23 100644 --- a/src/tests/schema_validation/mod.rs +++ b/src/tests/schema_validation/mod.rs @@ -2,3 +2,5 @@ mod v1_6; #[cfg(all(test, feature = "v2_0_1"))] mod v2_0_1; +#[cfg(all(test, feature = "v2_1"))] +mod v2_1; diff --git a/src/tests/schema_validation/schemas/v2.1/AFRRSignalRequest.json b/src/tests/schema_validation/schemas/v2.1/AFRRSignalRequest.json new file mode 100644 index 00000000..03c73ac3 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/AFRRSignalRequest.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:AFRRSignalRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "timestamp": { + "description": "Time when signal becomes active.\r\n", + "type": "string", + "format": "date-time" + }, + "signal": { + "description": "Value of signal in _v2xSignalWattCurve_. \r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timestamp", + "signal" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/AFRRSignalResponse.json b/src/tests/schema_validation/schemas/v2.1/AFRRSignalResponse.json new file mode 100644 index 00000000..237b18c5 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/AFRRSignalResponse.json @@ -0,0 +1,70 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:AFRRSignalResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GenericStatusEnumType": { + "javaType": "GenericStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GenericStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/AdjustPeriodicEventStreamRequest.json b/src/tests/schema_validation/schemas/v2.1/AdjustPeriodicEventStreamRequest.json new file mode 100644 index 00000000..e346a739 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/AdjustPeriodicEventStreamRequest.json @@ -0,0 +1,59 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:AdjustPeriodicEventStreamRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "PeriodicEventStreamParamsType": { + "javaType": "PeriodicEventStreamParams", + "type": "object", + "additionalProperties": false, + "properties": { + "interval": { + "description": "Time in seconds after which stream data is sent.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "values": { + "description": "Number of items to be sent together in stream.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer", + "minimum": 0.0 + }, + "params": { + "$ref": "#/definitions/PeriodicEventStreamParamsType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "params" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/AdjustPeriodicEventStreamResponse.json b/src/tests/schema_validation/schemas/v2.1/AdjustPeriodicEventStreamResponse.json new file mode 100644 index 00000000..f0df28d9 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/AdjustPeriodicEventStreamResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:AdjustPeriodicEventStreamResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GenericStatusEnumType": { + "description": "Status of operation.\r\n", + "javaType": "GenericStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GenericStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/AuthorizeRequest.json b/src/tests/schema_validation/schemas/v2.1/AuthorizeRequest.json new file mode 100644 index 00000000..75add319 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/AuthorizeRequest.json @@ -0,0 +1,158 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:AuthorizeRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "HashAlgorithmEnumType": { + "description": "Used algorithms for the hashes provided.\r\n", + "javaType": "HashAlgorithmEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "SHA256", + "SHA384", + "SHA512" + ] + }, + "AdditionalInfoType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "AdditionalInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalIdToken": { + "description": "*(2.1)* This field specifies the additional IdToken.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "_additionalInfo_ can be used to send extra information to CSMS in addition to the regular authorization with _IdToken_. _AdditionalInfo_ contains one or more custom _types_, which need to be agreed upon by all parties involved. When the _type_ is not supported, the CSMS/Charging Station MAY ignore the _additionalInfo_.\r\n\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "additionalIdToken", + "type" + ] + }, + "IdTokenType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "IdToken", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalInfo": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AdditionalInfoType" + }, + "minItems": 1 + }, + "idToken": { + "description": "*(2.1)* IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "*(2.1)* Enumeration of possible idToken types. Values defined in Appendix as IdTokenEnumStringType.\r\n", + "type": "string", + "maxLength": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "idToken", + "type" + ] + }, + "OCSPRequestDataType": { + "description": "Information about a certificate for an OCSP check.\r\n", + "javaType": "OCSPRequestData", + "type": "object", + "additionalProperties": false, + "properties": { + "hashAlgorithm": { + "$ref": "#/definitions/HashAlgorithmEnumType" + }, + "issuerNameHash": { + "description": "The hash of the issuer\u2019s distinguished\r\nname (DN), that must be calculated over the DER\r\nencoding of the issuer\u2019s name field in the certificate\r\nbeing checked.\r\n", + "type": "string", + "maxLength": 128 + }, + "issuerKeyHash": { + "description": "The hash of the DER encoded public key:\r\nthe value (excluding tag and length) of the subject\r\npublic key field in the issuer\u2019s certificate.\r\n", + "type": "string", + "maxLength": 128 + }, + "serialNumber": { + "description": "The string representation of the\r\nhexadecimal value of the serial number without the\r\nprefix \"0x\" and without leading zeroes.\r\n", + "type": "string", + "maxLength": 40 + }, + "responderURL": { + "description": "This contains the responder URL (Case insensitive). \r\n\r\n", + "type": "string", + "maxLength": 2000 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "hashAlgorithm", + "issuerNameHash", + "issuerKeyHash", + "serialNumber", + "responderURL" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "idToken": { + "$ref": "#/definitions/IdTokenType" + }, + "certificate": { + "description": "*(2.1)* The X.509 certificate chain presented by EV and encoded in PEM format. Order of certificates in chain is from leaf up to (but excluding) root certificate. +\r\nOnly needed in case of central contract validation when Charging Station cannot validate the contract certificate.\r\n\r\n", + "type": "string", + "maxLength": 10000 + }, + "iso15118CertificateHashData": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/OCSPRequestDataType" + }, + "minItems": 1, + "maxItems": 4 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "idToken" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/AuthorizeResponse.json b/src/tests/schema_validation/schemas/v2.1/AuthorizeResponse.json new file mode 100644 index 00000000..2d25d371 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/AuthorizeResponse.json @@ -0,0 +1,688 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:AuthorizeResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "AuthorizationStatusEnumType": { + "description": "Current status of the ID Token.\r\n", + "javaType": "AuthorizationStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Blocked", + "ConcurrentTx", + "Expired", + "Invalid", + "NoCredit", + "NotAllowedTypeEVSE", + "NotAtThisLocation", + "NotAtThisTime", + "Unknown" + ] + }, + "AuthorizeCertificateStatusEnumType": { + "description": "Certificate status information. \r\n- if all certificates are valid: return 'Accepted'.\r\n- if one of the certificates was revoked, return 'CertificateRevoked'.\r\n", + "javaType": "AuthorizeCertificateStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "SignatureError", + "CertificateExpired", + "CertificateRevoked", + "NoCertificateAvailable", + "CertChainError", + "ContractCancelled" + ] + }, + "DayOfWeekEnumType": { + "javaType": "DayOfWeekEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + }, + "EnergyTransferModeEnumType": { + "javaType": "EnergyTransferModeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "AC_single_phase", + "AC_two_phase", + "AC_three_phase", + "DC", + "AC_BPT", + "AC_BPT_DER", + "AC_DER", + "DC_BPT", + "DC_ACDP", + "DC_ACDP_BPT", + "WPT" + ] + }, + "EvseKindEnumType": { + "description": "Type of EVSE (AC, DC) this tariff applies to.\r\n", + "javaType": "EvseKindEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "AC", + "DC" + ] + }, + "MessageFormatEnumType": { + "description": "Format of the message.\r\n", + "javaType": "MessageFormatEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ASCII", + "HTML", + "URI", + "UTF8", + "QRCODE" + ] + }, + "AdditionalInfoType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "AdditionalInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalIdToken": { + "description": "*(2.1)* This field specifies the additional IdToken.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "_additionalInfo_ can be used to send extra information to CSMS in addition to the regular authorization with _IdToken_. _AdditionalInfo_ contains one or more custom _types_, which need to be agreed upon by all parties involved. When the _type_ is not supported, the CSMS/Charging Station MAY ignore the _additionalInfo_.\r\n\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "additionalIdToken", + "type" + ] + }, + "IdTokenInfoType": { + "description": "Contains status information about an identifier.\r\nIt is advised to not stop charging for a token that expires during charging, as ExpiryDate is only used for caching purposes. If ExpiryDate is not given, the status has no end date.\r\n", + "javaType": "IdTokenInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/AuthorizationStatusEnumType" + }, + "cacheExpiryDateTime": { + "description": "Date and Time after which the token must be considered invalid.\r\n", + "type": "string", + "format": "date-time" + }, + "chargingPriority": { + "description": "Priority from a business point of view. Default priority is 0, The range is from -9 to 9. Higher values indicate a higher priority. The chargingPriority in <<transactioneventresponse,TransactionEventResponse>> overrules this one. \r\n", + "type": "integer" + }, + "groupIdToken": { + "$ref": "#/definitions/IdTokenType" + }, + "language1": { + "description": "Preferred user interface language of identifier user. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n\r\n", + "type": "string", + "maxLength": 8 + }, + "language2": { + "description": "Second preferred user interface language of identifier user. Don\u2019t use when language1 is omitted, has to be different from language1. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n", + "type": "string", + "maxLength": 8 + }, + "evseId": { + "description": "Only used when the IdToken is only valid for one or more specific EVSEs, not for the entire Charging Station.\r\n\r\n", + "type": "array", + "additionalItems": false, + "items": { + "type": "integer", + "minimum": 0.0 + }, + "minItems": 1 + }, + "personalMessage": { + "$ref": "#/definitions/MessageContentType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] + }, + "IdTokenType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "IdToken", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalInfo": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AdditionalInfoType" + }, + "minItems": 1 + }, + "idToken": { + "description": "*(2.1)* IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "*(2.1)* Enumeration of possible idToken types. Values defined in Appendix as IdTokenEnumStringType.\r\n", + "type": "string", + "maxLength": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "idToken", + "type" + ] + }, + "MessageContentType": { + "description": "Contains message details, for a message to be displayed on a Charging Station.\r\n\r\n", + "javaType": "MessageContent", + "type": "object", + "additionalProperties": false, + "properties": { + "format": { + "$ref": "#/definitions/MessageFormatEnumType" + }, + "language": { + "description": "Message language identifier. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n", + "type": "string", + "maxLength": 8 + }, + "content": { + "description": "*(2.1)* Required. Message contents. +\r\nMaximum length supported by Charging Station is given in OCPPCommCtrlr.FieldLength[\"MessageContentType.content\"].\r\n Maximum length defaults to 1024.\r\n\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "format", + "content" + ] + }, + "PriceType": { + "description": "Price with and without tax. At least one of _exclTax_, _inclTax_ must be present.\r\n", + "javaType": "Price", + "type": "object", + "additionalProperties": false, + "properties": { + "exclTax": { + "description": "Price/cost excluding tax. Can be absent if _inclTax_ is present.\r\n", + "type": "number" + }, + "inclTax": { + "description": "Price/cost including tax. Can be absent if _exclTax_ is present.\r\n", + "type": "number" + }, + "taxRates": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRateType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "TariffConditionsFixedType": { + "description": "These conditions describe if a FixedPrice applies at start of the transaction.\r\n\r\nWhen more than one restriction is set, they are to be treated as a logical AND. All need to be valid before this price is active.\r\n\r\nNOTE: _startTimeOfDay_ and _endTimeOfDay_ are in local time, because it is the time in the tariff as it is shown to the EV driver at the Charging Station.\r\nA Charging Station will convert this to the internal time zone that it uses (which is recommended to be UTC, see section Generic chapter 3.1) when performing cost calculation.\r\n\r\n", + "javaType": "TariffConditionsFixed", + "type": "object", + "additionalProperties": false, + "properties": { + "startTimeOfDay": { + "description": "Start time of day in local time. +\r\nFormat as per RFC 3339: time-hour \":\" time-minute +\r\nMust be in 24h format with leading zeros. Hour/Minute separator: \":\"\r\nRegex: ([0-1][0-9]\\|2[0-3]):[0-5][0-9]\r\n", + "type": "string" + }, + "endTimeOfDay": { + "description": "End time of day in local time. Same syntax as _startTimeOfDay_. +\r\n If end time < start time then the period wraps around to the next day. +\r\n To stop at end of the day use: 00:00.\r\n", + "type": "string" + }, + "dayOfWeek": { + "description": "Day(s) of the week this is tariff applies.\r\n", + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/DayOfWeekEnumType" + }, + "minItems": 1, + "maxItems": 7 + }, + "validFromDate": { + "description": "Start date in local time, for example: 2015-12-24.\r\nValid from this day (inclusive). +\r\nFormat as per RFC 3339: full-date + \r\n\r\nRegex: ([12][0-9]{3})-(0[1-9]\\|1[0-2])-(0[1-9]\\|[12][0-9]\\|3[01])\r\n", + "type": "string" + }, + "validToDate": { + "description": "End date in local time, for example: 2015-12-27.\r\n Valid until this day (exclusive). Same syntax as _validFromDate_.\r\n", + "type": "string" + }, + "evseKind": { + "$ref": "#/definitions/EvseKindEnumType" + }, + "paymentBrand": { + "description": "For which payment brand this (adhoc) tariff applies. Can be used to add a surcharge for certain payment brands.\r\n Based on value of _additionalIdToken_ from _idToken.additionalInfo.type_ = \"PaymentBrand\".\r\n", + "type": "string", + "maxLength": 20 + }, + "paymentRecognition": { + "description": "Type of adhoc payment, e.g. CC, Debit.\r\n Based on value of _additionalIdToken_ from _idToken.additionalInfo.type_ = \"PaymentRecognition\".\r\n", + "type": "string", + "maxLength": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "TariffConditionsType": { + "description": "These conditions describe if and when a TariffEnergyType or TariffTimeType applies during a transaction.\r\n\r\nWhen more than one restriction is set, they are to be treated as a logical AND. All need to be valid before this price is active.\r\n\r\nFor reverse energy flow (discharging) negative values of energy, power and current are used.\r\n\r\nNOTE: _minXXX_ (where XXX = Kwh/A/Kw) must be read as \"closest to zero\", and _maxXXX_ as \"furthest from zero\". For example, a *charging* power range from 10 kW to 50 kWh is given by _minPower_ = 10000 and _maxPower_ = 50000, and a *discharging* power range from -10 kW to -50 kW is given by _minPower_ = -10 and _maxPower_ = -50.\r\n\r\nNOTE: _startTimeOfDay_ and _endTimeOfDay_ are in local time, because it is the time in the tariff as it is shown to the EV driver at the Charging Station.\r\nA Charging Station will convert this to the internal time zone that it uses (which is recommended to be UTC, see section Generic chapter 3.1) when performing cost calculation.\r\n\r\n", + "javaType": "TariffConditions", + "type": "object", + "additionalProperties": false, + "properties": { + "startTimeOfDay": { + "description": "Start time of day in local time. +\r\nFormat as per RFC 3339: time-hour \":\" time-minute +\r\nMust be in 24h format with leading zeros. Hour/Minute separator: \":\"\r\nRegex: ([0-1][0-9]\\|2[0-3]):[0-5][0-9]\r\n", + "type": "string" + }, + "endTimeOfDay": { + "description": "End time of day in local time. Same syntax as _startTimeOfDay_. +\r\n If end time < start time then the period wraps around to the next day. +\r\n To stop at end of the day use: 00:00.\r\n", + "type": "string" + }, + "dayOfWeek": { + "description": "Day(s) of the week this is tariff applies.\r\n", + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/DayOfWeekEnumType" + }, + "minItems": 1, + "maxItems": 7 + }, + "validFromDate": { + "description": "Start date in local time, for example: 2015-12-24.\r\nValid from this day (inclusive). +\r\nFormat as per RFC 3339: full-date + \r\n\r\nRegex: ([12][0-9]{3})-(0[1-9]\\|1[0-2])-(0[1-9]\\|[12][0-9]\\|3[01])\r\n", + "type": "string" + }, + "validToDate": { + "description": "End date in local time, for example: 2015-12-27.\r\n Valid until this day (exclusive). Same syntax as _validFromDate_.\r\n", + "type": "string" + }, + "evseKind": { + "$ref": "#/definitions/EvseKindEnumType" + }, + "minEnergy": { + "description": "Minimum consumed energy in Wh, for example 20000 Wh.\r\n Valid from this amount of energy (inclusive) being used.\r\n", + "type": "number" + }, + "maxEnergy": { + "description": "Maximum consumed energy in Wh, for example 50000 Wh.\r\n Valid until this amount of energy (exclusive) being used.\r\n", + "type": "number" + }, + "minCurrent": { + "description": "Sum of the minimum current (in Amperes) over all phases, for example 5 A.\r\n When the EV is charging with more than, or equal to, the defined amount of current, this price is/becomes active. If the charging current is or becomes lower, this price is not or no longer valid and becomes inactive. +\r\n This is NOT about the minimum current over the entire transaction.\r\n", + "type": "number" + }, + "maxCurrent": { + "description": "Sum of the maximum current (in Amperes) over all phases, for example 20 A.\r\n When the EV is charging with less than the defined amount of current, this price becomes/is active. If the charging current is or becomes higher, this price is not or no longer valid and becomes inactive.\r\n This is NOT about the maximum current over the entire transaction.\r\n", + "type": "number" + }, + "minPower": { + "description": "Minimum power in W, for example 5000 W.\r\n When the EV is charging with more than, or equal to, the defined amount of power, this price is/becomes active.\r\n If the charging power is or becomes lower, this price is not or no longer valid and becomes inactive.\r\n This is NOT about the minimum power over the entire transaction.\r\n", + "type": "number" + }, + "maxPower": { + "description": "Maximum power in W, for example 20000 W.\r\n When the EV is charging with less than the defined amount of power, this price becomes/is active.\r\n If the charging power is or becomes higher, this price is not or no longer valid and becomes inactive.\r\n This is NOT about the maximum power over the entire transaction.\r\n", + "type": "number" + }, + "minTime": { + "description": "Minimum duration in seconds the transaction (charging & idle) MUST last (inclusive).\r\n When the duration of a transaction is longer than the defined value, this price is or becomes active.\r\n Before that moment, this price is not yet active.\r\n", + "type": "integer" + }, + "maxTime": { + "description": "Maximum duration in seconds the transaction (charging & idle) MUST last (exclusive).\r\n When the duration of a transaction is shorter than the defined value, this price is or becomes active.\r\n After that moment, this price is no longer active.\r\n", + "type": "integer" + }, + "minChargingTime": { + "description": "Minimum duration in seconds the charging MUST last (inclusive).\r\n When the duration of a charging is longer than the defined value, this price is or becomes active.\r\n Before that moment, this price is not yet active.\r\n", + "type": "integer" + }, + "maxChargingTime": { + "description": "Maximum duration in seconds the charging MUST last (exclusive).\r\n When the duration of a charging is shorter than the defined value, this price is or becomes active.\r\n After that moment, this price is no longer active.\r\n", + "type": "integer" + }, + "minIdleTime": { + "description": "Minimum duration in seconds the idle period (i.e. not charging) MUST last (inclusive).\r\n When the duration of the idle time is longer than the defined value, this price is or becomes active.\r\n Before that moment, this price is not yet active.\r\n", + "type": "integer" + }, + "maxIdleTime": { + "description": "Maximum duration in seconds the idle period (i.e. not charging) MUST last (exclusive).\r\n When the duration of idle time is shorter than the defined value, this price is or becomes active.\r\n After that moment, this price is no longer active.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "TariffEnergyPriceType": { + "description": "Tariff with optional conditions for an energy price.\r\n", + "javaType": "TariffEnergyPrice", + "type": "object", + "additionalProperties": false, + "properties": { + "priceKwh": { + "description": "Price per kWh (excl. tax) for this element.\r\n", + "type": "number" + }, + "conditions": { + "$ref": "#/definitions/TariffConditionsType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priceKwh" + ] + }, + "TariffEnergyType": { + "description": "Price elements and tax for energy\r\n", + "javaType": "TariffEnergy", + "type": "object", + "additionalProperties": false, + "properties": { + "prices": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TariffEnergyPriceType" + }, + "minItems": 1 + }, + "taxRates": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRateType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "prices" + ] + }, + "TariffFixedPriceType": { + "description": "Tariff with optional conditions for a fixed price.\r\n", + "javaType": "TariffFixedPrice", + "type": "object", + "additionalProperties": false, + "properties": { + "conditions": { + "$ref": "#/definitions/TariffConditionsFixedType" + }, + "priceFixed": { + "description": "Fixed price for this element e.g. a start fee.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priceFixed" + ] + }, + "TariffFixedType": { + "javaType": "TariffFixed", + "type": "object", + "additionalProperties": false, + "properties": { + "prices": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TariffFixedPriceType" + }, + "minItems": 1 + }, + "taxRates": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRateType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "prices" + ] + }, + "TariffTimePriceType": { + "description": "Tariff with optional conditions for a time duration price.\r\n", + "javaType": "TariffTimePrice", + "type": "object", + "additionalProperties": false, + "properties": { + "priceMinute": { + "description": "Price per minute (excl. tax) for this element.\r\n", + "type": "number" + }, + "conditions": { + "$ref": "#/definitions/TariffConditionsType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priceMinute" + ] + }, + "TariffTimeType": { + "description": "Price elements and tax for time\r\n\r\n", + "javaType": "TariffTime", + "type": "object", + "additionalProperties": false, + "properties": { + "prices": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TariffTimePriceType" + }, + "minItems": 1 + }, + "taxRates": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRateType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "prices" + ] + }, + "TariffType": { + "description": "A tariff is described by fields with prices for:\r\nenergy,\r\ncharging time,\r\nidle time,\r\nfixed fee,\r\nreservation time,\r\nreservation fixed fee. +\r\nEach of these fields may have (optional) conditions that specify when a price is applicable. +\r\nThe _description_ contains a human-readable explanation of the tariff to be shown to the user. +\r\nThe other fields are parameters that define the tariff. These are used by the charging station to calculate the price.\r\n", + "javaType": "Tariff", + "type": "object", + "additionalProperties": false, + "properties": { + "tariffId": { + "description": "Unique id of tariff\r\n", + "type": "string", + "maxLength": 60 + }, + "description": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/MessageContentType" + }, + "minItems": 1, + "maxItems": 10 + }, + "currency": { + "description": "Currency code according to ISO 4217\r\n", + "type": "string", + "maxLength": 3 + }, + "energy": { + "$ref": "#/definitions/TariffEnergyType" + }, + "validFrom": { + "description": "Time when this tariff becomes active. When absent, it is immediately active.\r\n", + "type": "string", + "format": "date-time" + }, + "chargingTime": { + "$ref": "#/definitions/TariffTimeType" + }, + "idleTime": { + "$ref": "#/definitions/TariffTimeType" + }, + "fixedFee": { + "$ref": "#/definitions/TariffFixedType" + }, + "reservationTime": { + "$ref": "#/definitions/TariffTimeType" + }, + "reservationFixed": { + "$ref": "#/definitions/TariffFixedType" + }, + "minCost": { + "$ref": "#/definitions/PriceType" + }, + "maxCost": { + "$ref": "#/definitions/PriceType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "tariffId", + "currency" + ] + }, + "TaxRateType": { + "description": "Tax percentage\r\n", + "javaType": "TaxRate", + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "description": "Type of this tax, e.g. \"Federal \", \"State\", for information on receipt.\r\n", + "type": "string", + "maxLength": 20 + }, + "tax": { + "description": "Tax percentage\r\n", + "type": "number" + }, + "stack": { + "description": "Stack level for this type of tax. Default value, when absent, is 0. +\r\n_stack_ = 0: tax on net price; +\r\n_stack_ = 1: tax added on top of _stack_ 0; +\r\n_stack_ = 2: tax added on top of _stack_ 1, etc. \r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "type", + "tax" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "idTokenInfo": { + "$ref": "#/definitions/IdTokenInfoType" + }, + "certificateStatus": { + "$ref": "#/definitions/AuthorizeCertificateStatusEnumType" + }, + "allowedEnergyTransfer": { + "description": "*(2.1)* List of allowed energy transfer modes the EV can choose from. If omitted this defaults to charging only.\r\n\r\n\r\n", + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/EnergyTransferModeEnumType" + }, + "minItems": 1 + }, + "tariff": { + "$ref": "#/definitions/TariffType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "idTokenInfo" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/BatterySwapRequest.json b/src/tests/schema_validation/schemas/v2.1/BatterySwapRequest.json new file mode 100644 index 00000000..2273cf29 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/BatterySwapRequest.json @@ -0,0 +1,169 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:BatterySwapRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "BatterySwapEventEnumType": { + "description": "Battery in/out\r\n", + "javaType": "BatterySwapEventEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "BatteryIn", + "BatteryOut", + "BatteryOutTimeout" + ] + }, + "AdditionalInfoType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "AdditionalInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalIdToken": { + "description": "*(2.1)* This field specifies the additional IdToken.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "_additionalInfo_ can be used to send extra information to CSMS in addition to the regular authorization with _IdToken_. _AdditionalInfo_ contains one or more custom _types_, which need to be agreed upon by all parties involved. When the _type_ is not supported, the CSMS/Charging Station MAY ignore the _additionalInfo_.\r\n\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "additionalIdToken", + "type" + ] + }, + "BatteryDataType": { + "javaType": "BatteryData", + "type": "object", + "additionalProperties": false, + "properties": { + "evseId": { + "description": "Slot number where battery is inserted or removed.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "serialNumber": { + "description": "Serial number of battery.\r\n", + "type": "string", + "maxLength": 50 + }, + "soC": { + "description": "State of charge\r\n", + "type": "number", + "minimum": 0.0, + "maximum": 100.0 + }, + "soH": { + "description": "State of health\r\n\r\n", + "type": "number", + "minimum": 0.0, + "maximum": 100.0 + }, + "productionDate": { + "description": "Production date of battery.\r\n\r\n", + "type": "string", + "format": "date-time" + }, + "vendorInfo": { + "description": "Vendor-specific info from battery in undefined format.\r\n", + "type": "string", + "maxLength": 500 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "evseId", + "serialNumber", + "soC", + "soH" + ] + }, + "IdTokenType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "IdToken", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalInfo": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AdditionalInfoType" + }, + "minItems": 1 + }, + "idToken": { + "description": "*(2.1)* IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "*(2.1)* Enumeration of possible idToken types. Values defined in Appendix as IdTokenEnumStringType.\r\n", + "type": "string", + "maxLength": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "idToken", + "type" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "batteryData": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/BatteryDataType" + }, + "minItems": 1 + }, + "eventType": { + "$ref": "#/definitions/BatterySwapEventEnumType" + }, + "idToken": { + "$ref": "#/definitions/IdTokenType" + }, + "requestId": { + "description": "RequestId to correlate BatteryIn/Out events and optional RequestBatterySwapRequest.\r\n\r\n\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "eventType", + "requestId", + "idToken", + "batteryData" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/BatterySwapResponse.json b/src/tests/schema_validation/schemas/v2.1/BatterySwapResponse.json new file mode 100644 index 00000000..e7539bca --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/BatterySwapResponse.json @@ -0,0 +1,29 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:BatterySwapResponse", + "description": "This is an empty response that just acknowledges receipt of the request. (The request cannot be rejected).\r\n", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/BootNotificationRequest.json b/src/tests/schema_validation/schemas/v2.1/BootNotificationRequest.json new file mode 100644 index 00000000..45ee52a6 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/BootNotificationRequest.json @@ -0,0 +1,114 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:BootNotificationRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "BootReasonEnumType": { + "description": "This contains the reason for sending this message to the CSMS.\r\n", + "javaType": "BootReasonEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ApplicationReset", + "FirmwareUpdate", + "LocalReset", + "PowerUp", + "RemoteReset", + "ScheduledReset", + "Triggered", + "Unknown", + "Watchdog" + ] + }, + "ChargingStationType": { + "description": "The physical system where an Electrical Vehicle (EV) can be charged.\r\n", + "javaType": "ChargingStation", + "type": "object", + "additionalProperties": false, + "properties": { + "serialNumber": { + "description": "Vendor-specific device identifier.\r\n", + "type": "string", + "maxLength": 25 + }, + "model": { + "description": "Defines the model of the device.\r\n", + "type": "string", + "maxLength": 20 + }, + "modem": { + "$ref": "#/definitions/ModemType" + }, + "vendorName": { + "description": "Identifies the vendor (not necessarily in a unique manner).\r\n", + "type": "string", + "maxLength": 50 + }, + "firmwareVersion": { + "description": "This contains the firmware version of the Charging Station.\r\n\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "model", + "vendorName" + ] + }, + "ModemType": { + "description": "Defines parameters required for initiating and maintaining wireless communication with other devices.\r\n", + "javaType": "Modem", + "type": "object", + "additionalProperties": false, + "properties": { + "iccid": { + "description": "This contains the ICCID of the modem\u2019s SIM card.\r\n", + "type": "string", + "maxLength": 20 + }, + "imsi": { + "description": "This contains the IMSI of the modem\u2019s SIM card.\r\n", + "type": "string", + "maxLength": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "chargingStation": { + "$ref": "#/definitions/ChargingStationType" + }, + "reason": { + "$ref": "#/definitions/BootReasonEnumType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reason", + "chargingStation" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/BootNotificationResponse.json b/src/tests/schema_validation/schemas/v2.1/BootNotificationResponse.json new file mode 100644 index 00000000..73b4d4ce --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/BootNotificationResponse.json @@ -0,0 +1,83 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:BootNotificationResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "RegistrationStatusEnumType": { + "description": "This contains whether the Charging Station has been registered\r\nwithin the CSMS.\r\n", + "javaType": "RegistrationStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Pending", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "currentTime": { + "description": "This contains the CSMS\u2019s current time.\r\n", + "type": "string", + "format": "date-time" + }, + "interval": { + "description": "When <<cmn_registrationstatusenumtype,Status>> is Accepted, this contains the heartbeat interval in seconds. If the CSMS returns something other than Accepted, the value of the interval field indicates the minimum wait time before sending a next BootNotification request.\r\n", + "type": "integer" + }, + "status": { + "$ref": "#/definitions/RegistrationStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "currentTime", + "interval", + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/CancelReservationRequest.json b/src/tests/schema_validation/schemas/v2.1/CancelReservationRequest.json new file mode 100644 index 00000000..62008ee5 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/CancelReservationRequest.json @@ -0,0 +1,36 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:CancelReservationRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "reservationId": { + "description": "Id of the reservation to cancel.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reservationId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/CancelReservationResponse.json b/src/tests/schema_validation/schemas/v2.1/CancelReservationResponse.json new file mode 100644 index 00000000..dae79356 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/CancelReservationResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:CancelReservationResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CancelReservationStatusEnumType": { + "description": "This indicates the success or failure of the canceling of a reservation by CSMS.\r\n", + "javaType": "CancelReservationStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/CancelReservationStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/CertificateSignedRequest.json b/src/tests/schema_validation/schemas/v2.1/CertificateSignedRequest.json new file mode 100644 index 00000000..c7b3d13c --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/CertificateSignedRequest.json @@ -0,0 +1,54 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:CertificateSignedRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CertificateSigningUseEnumType": { + "description": "Indicates the type of the signed certificate that is returned. When omitted the certificate is used for both the 15118 connection (if implemented) and the Charging Station to CSMS connection. This field is required when a typeOfCertificate was included in the <<signcertificaterequest,SignCertificateRequest>> that requested this certificate to be signed AND both the 15118 connection and the Charging Station connection are implemented.\r\n\r\n", + "javaType": "CertificateSigningUseEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ChargingStationCertificate", + "V2GCertificate", + "V2G20Certificate" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "certificateChain": { + "description": "The signed PEM encoded X.509 certificate. This SHALL also contain the necessary sub CA certificates, when applicable. The order of the bundle follows the certificate chain, starting from the leaf certificate.\r\n\r\nThe Configuration Variable <<configkey-max-certificate-chain-size,MaxCertificateChainSize>> can be used to limit the maximum size of this field.\r\n", + "type": "string", + "maxLength": 10000 + }, + "certificateType": { + "$ref": "#/definitions/CertificateSigningUseEnumType" + }, + "requestId": { + "description": "*(2.1)* RequestId to correlate this message with the SignCertificateRequest.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "certificateChain" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/CertificateSignedResponse.json b/src/tests/schema_validation/schemas/v2.1/CertificateSignedResponse.json new file mode 100644 index 00000000..3dec6d6f --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/CertificateSignedResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:CertificateSignedResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CertificateSignedStatusEnumType": { + "description": "Returns whether certificate signing has been accepted, otherwise rejected.\r\n", + "javaType": "CertificateSignedStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/CertificateSignedStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ChangeAvailabilityRequest.json b/src/tests/schema_validation/schemas/v2.1/ChangeAvailabilityRequest.json new file mode 100644 index 00000000..6fb4bba6 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ChangeAvailabilityRequest.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ChangeAvailabilityRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "OperationalStatusEnumType": { + "description": "This contains the type of availability change that the Charging Station should perform.\r\n\r\n", + "javaType": "OperationalStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Inoperative", + "Operative" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "operationalStatus": { + "$ref": "#/definitions/OperationalStatusEnumType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "operationalStatus" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ChangeAvailabilityResponse.json b/src/tests/schema_validation/schemas/v2.1/ChangeAvailabilityResponse.json new file mode 100644 index 00000000..b9d9fa54 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ChangeAvailabilityResponse.json @@ -0,0 +1,72 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ChangeAvailabilityResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ChangeAvailabilityStatusEnumType": { + "description": "This indicates whether the Charging Station is able to perform the availability change.\r\n", + "javaType": "ChangeAvailabilityStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "Scheduled" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/ChangeAvailabilityStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ChangeTransactionTariffRequest.json b/src/tests/schema_validation/schemas/v2.1/ChangeTransactionTariffRequest.json new file mode 100644 index 00000000..91c33f3c --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ChangeTransactionTariffRequest.json @@ -0,0 +1,518 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ChangeTransactionTariffRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "DayOfWeekEnumType": { + "javaType": "DayOfWeekEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + }, + "EvseKindEnumType": { + "description": "Type of EVSE (AC, DC) this tariff applies to.\r\n", + "javaType": "EvseKindEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "AC", + "DC" + ] + }, + "MessageFormatEnumType": { + "description": "Format of the message.\r\n", + "javaType": "MessageFormatEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ASCII", + "HTML", + "URI", + "UTF8", + "QRCODE" + ] + }, + "MessageContentType": { + "description": "Contains message details, for a message to be displayed on a Charging Station.\r\n\r\n", + "javaType": "MessageContent", + "type": "object", + "additionalProperties": false, + "properties": { + "format": { + "$ref": "#/definitions/MessageFormatEnumType" + }, + "language": { + "description": "Message language identifier. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n", + "type": "string", + "maxLength": 8 + }, + "content": { + "description": "*(2.1)* Required. Message contents. +\r\nMaximum length supported by Charging Station is given in OCPPCommCtrlr.FieldLength[\"MessageContentType.content\"].\r\n Maximum length defaults to 1024.\r\n\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "format", + "content" + ] + }, + "PriceType": { + "description": "Price with and without tax. At least one of _exclTax_, _inclTax_ must be present.\r\n", + "javaType": "Price", + "type": "object", + "additionalProperties": false, + "properties": { + "exclTax": { + "description": "Price/cost excluding tax. Can be absent if _inclTax_ is present.\r\n", + "type": "number" + }, + "inclTax": { + "description": "Price/cost including tax. Can be absent if _exclTax_ is present.\r\n", + "type": "number" + }, + "taxRates": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRateType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "TariffConditionsFixedType": { + "description": "These conditions describe if a FixedPrice applies at start of the transaction.\r\n\r\nWhen more than one restriction is set, they are to be treated as a logical AND. All need to be valid before this price is active.\r\n\r\nNOTE: _startTimeOfDay_ and _endTimeOfDay_ are in local time, because it is the time in the tariff as it is shown to the EV driver at the Charging Station.\r\nA Charging Station will convert this to the internal time zone that it uses (which is recommended to be UTC, see section Generic chapter 3.1) when performing cost calculation.\r\n\r\n", + "javaType": "TariffConditionsFixed", + "type": "object", + "additionalProperties": false, + "properties": { + "startTimeOfDay": { + "description": "Start time of day in local time. +\r\nFormat as per RFC 3339: time-hour \":\" time-minute +\r\nMust be in 24h format with leading zeros. Hour/Minute separator: \":\"\r\nRegex: ([0-1][0-9]\\|2[0-3]):[0-5][0-9]\r\n", + "type": "string" + }, + "endTimeOfDay": { + "description": "End time of day in local time. Same syntax as _startTimeOfDay_. +\r\n If end time < start time then the period wraps around to the next day. +\r\n To stop at end of the day use: 00:00.\r\n", + "type": "string" + }, + "dayOfWeek": { + "description": "Day(s) of the week this is tariff applies.\r\n", + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/DayOfWeekEnumType" + }, + "minItems": 1, + "maxItems": 7 + }, + "validFromDate": { + "description": "Start date in local time, for example: 2015-12-24.\r\nValid from this day (inclusive). +\r\nFormat as per RFC 3339: full-date + \r\n\r\nRegex: ([12][0-9]{3})-(0[1-9]\\|1[0-2])-(0[1-9]\\|[12][0-9]\\|3[01])\r\n", + "type": "string" + }, + "validToDate": { + "description": "End date in local time, for example: 2015-12-27.\r\n Valid until this day (exclusive). Same syntax as _validFromDate_.\r\n", + "type": "string" + }, + "evseKind": { + "$ref": "#/definitions/EvseKindEnumType" + }, + "paymentBrand": { + "description": "For which payment brand this (adhoc) tariff applies. Can be used to add a surcharge for certain payment brands.\r\n Based on value of _additionalIdToken_ from _idToken.additionalInfo.type_ = \"PaymentBrand\".\r\n", + "type": "string", + "maxLength": 20 + }, + "paymentRecognition": { + "description": "Type of adhoc payment, e.g. CC, Debit.\r\n Based on value of _additionalIdToken_ from _idToken.additionalInfo.type_ = \"PaymentRecognition\".\r\n", + "type": "string", + "maxLength": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "TariffConditionsType": { + "description": "These conditions describe if and when a TariffEnergyType or TariffTimeType applies during a transaction.\r\n\r\nWhen more than one restriction is set, they are to be treated as a logical AND. All need to be valid before this price is active.\r\n\r\nFor reverse energy flow (discharging) negative values of energy, power and current are used.\r\n\r\nNOTE: _minXXX_ (where XXX = Kwh/A/Kw) must be read as \"closest to zero\", and _maxXXX_ as \"furthest from zero\". For example, a *charging* power range from 10 kW to 50 kWh is given by _minPower_ = 10000 and _maxPower_ = 50000, and a *discharging* power range from -10 kW to -50 kW is given by _minPower_ = -10 and _maxPower_ = -50.\r\n\r\nNOTE: _startTimeOfDay_ and _endTimeOfDay_ are in local time, because it is the time in the tariff as it is shown to the EV driver at the Charging Station.\r\nA Charging Station will convert this to the internal time zone that it uses (which is recommended to be UTC, see section Generic chapter 3.1) when performing cost calculation.\r\n\r\n", + "javaType": "TariffConditions", + "type": "object", + "additionalProperties": false, + "properties": { + "startTimeOfDay": { + "description": "Start time of day in local time. +\r\nFormat as per RFC 3339: time-hour \":\" time-minute +\r\nMust be in 24h format with leading zeros. Hour/Minute separator: \":\"\r\nRegex: ([0-1][0-9]\\|2[0-3]):[0-5][0-9]\r\n", + "type": "string" + }, + "endTimeOfDay": { + "description": "End time of day in local time. Same syntax as _startTimeOfDay_. +\r\n If end time < start time then the period wraps around to the next day. +\r\n To stop at end of the day use: 00:00.\r\n", + "type": "string" + }, + "dayOfWeek": { + "description": "Day(s) of the week this is tariff applies.\r\n", + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/DayOfWeekEnumType" + }, + "minItems": 1, + "maxItems": 7 + }, + "validFromDate": { + "description": "Start date in local time, for example: 2015-12-24.\r\nValid from this day (inclusive). +\r\nFormat as per RFC 3339: full-date + \r\n\r\nRegex: ([12][0-9]{3})-(0[1-9]\\|1[0-2])-(0[1-9]\\|[12][0-9]\\|3[01])\r\n", + "type": "string" + }, + "validToDate": { + "description": "End date in local time, for example: 2015-12-27.\r\n Valid until this day (exclusive). Same syntax as _validFromDate_.\r\n", + "type": "string" + }, + "evseKind": { + "$ref": "#/definitions/EvseKindEnumType" + }, + "minEnergy": { + "description": "Minimum consumed energy in Wh, for example 20000 Wh.\r\n Valid from this amount of energy (inclusive) being used.\r\n", + "type": "number" + }, + "maxEnergy": { + "description": "Maximum consumed energy in Wh, for example 50000 Wh.\r\n Valid until this amount of energy (exclusive) being used.\r\n", + "type": "number" + }, + "minCurrent": { + "description": "Sum of the minimum current (in Amperes) over all phases, for example 5 A.\r\n When the EV is charging with more than, or equal to, the defined amount of current, this price is/becomes active. If the charging current is or becomes lower, this price is not or no longer valid and becomes inactive. +\r\n This is NOT about the minimum current over the entire transaction.\r\n", + "type": "number" + }, + "maxCurrent": { + "description": "Sum of the maximum current (in Amperes) over all phases, for example 20 A.\r\n When the EV is charging with less than the defined amount of current, this price becomes/is active. If the charging current is or becomes higher, this price is not or no longer valid and becomes inactive.\r\n This is NOT about the maximum current over the entire transaction.\r\n", + "type": "number" + }, + "minPower": { + "description": "Minimum power in W, for example 5000 W.\r\n When the EV is charging with more than, or equal to, the defined amount of power, this price is/becomes active.\r\n If the charging power is or becomes lower, this price is not or no longer valid and becomes inactive.\r\n This is NOT about the minimum power over the entire transaction.\r\n", + "type": "number" + }, + "maxPower": { + "description": "Maximum power in W, for example 20000 W.\r\n When the EV is charging with less than the defined amount of power, this price becomes/is active.\r\n If the charging power is or becomes higher, this price is not or no longer valid and becomes inactive.\r\n This is NOT about the maximum power over the entire transaction.\r\n", + "type": "number" + }, + "minTime": { + "description": "Minimum duration in seconds the transaction (charging & idle) MUST last (inclusive).\r\n When the duration of a transaction is longer than the defined value, this price is or becomes active.\r\n Before that moment, this price is not yet active.\r\n", + "type": "integer" + }, + "maxTime": { + "description": "Maximum duration in seconds the transaction (charging & idle) MUST last (exclusive).\r\n When the duration of a transaction is shorter than the defined value, this price is or becomes active.\r\n After that moment, this price is no longer active.\r\n", + "type": "integer" + }, + "minChargingTime": { + "description": "Minimum duration in seconds the charging MUST last (inclusive).\r\n When the duration of a charging is longer than the defined value, this price is or becomes active.\r\n Before that moment, this price is not yet active.\r\n", + "type": "integer" + }, + "maxChargingTime": { + "description": "Maximum duration in seconds the charging MUST last (exclusive).\r\n When the duration of a charging is shorter than the defined value, this price is or becomes active.\r\n After that moment, this price is no longer active.\r\n", + "type": "integer" + }, + "minIdleTime": { + "description": "Minimum duration in seconds the idle period (i.e. not charging) MUST last (inclusive).\r\n When the duration of the idle time is longer than the defined value, this price is or becomes active.\r\n Before that moment, this price is not yet active.\r\n", + "type": "integer" + }, + "maxIdleTime": { + "description": "Maximum duration in seconds the idle period (i.e. not charging) MUST last (exclusive).\r\n When the duration of idle time is shorter than the defined value, this price is or becomes active.\r\n After that moment, this price is no longer active.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "TariffEnergyPriceType": { + "description": "Tariff with optional conditions for an energy price.\r\n", + "javaType": "TariffEnergyPrice", + "type": "object", + "additionalProperties": false, + "properties": { + "priceKwh": { + "description": "Price per kWh (excl. tax) for this element.\r\n", + "type": "number" + }, + "conditions": { + "$ref": "#/definitions/TariffConditionsType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priceKwh" + ] + }, + "TariffEnergyType": { + "description": "Price elements and tax for energy\r\n", + "javaType": "TariffEnergy", + "type": "object", + "additionalProperties": false, + "properties": { + "prices": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TariffEnergyPriceType" + }, + "minItems": 1 + }, + "taxRates": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRateType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "prices" + ] + }, + "TariffFixedPriceType": { + "description": "Tariff with optional conditions for a fixed price.\r\n", + "javaType": "TariffFixedPrice", + "type": "object", + "additionalProperties": false, + "properties": { + "conditions": { + "$ref": "#/definitions/TariffConditionsFixedType" + }, + "priceFixed": { + "description": "Fixed price for this element e.g. a start fee.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priceFixed" + ] + }, + "TariffFixedType": { + "javaType": "TariffFixed", + "type": "object", + "additionalProperties": false, + "properties": { + "prices": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TariffFixedPriceType" + }, + "minItems": 1 + }, + "taxRates": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRateType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "prices" + ] + }, + "TariffTimePriceType": { + "description": "Tariff with optional conditions for a time duration price.\r\n", + "javaType": "TariffTimePrice", + "type": "object", + "additionalProperties": false, + "properties": { + "priceMinute": { + "description": "Price per minute (excl. tax) for this element.\r\n", + "type": "number" + }, + "conditions": { + "$ref": "#/definitions/TariffConditionsType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priceMinute" + ] + }, + "TariffTimeType": { + "description": "Price elements and tax for time\r\n\r\n", + "javaType": "TariffTime", + "type": "object", + "additionalProperties": false, + "properties": { + "prices": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TariffTimePriceType" + }, + "minItems": 1 + }, + "taxRates": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRateType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "prices" + ] + }, + "TariffType": { + "description": "A tariff is described by fields with prices for:\r\nenergy,\r\ncharging time,\r\nidle time,\r\nfixed fee,\r\nreservation time,\r\nreservation fixed fee. +\r\nEach of these fields may have (optional) conditions that specify when a price is applicable. +\r\nThe _description_ contains a human-readable explanation of the tariff to be shown to the user. +\r\nThe other fields are parameters that define the tariff. These are used by the charging station to calculate the price.\r\n", + "javaType": "Tariff", + "type": "object", + "additionalProperties": false, + "properties": { + "tariffId": { + "description": "Unique id of tariff\r\n", + "type": "string", + "maxLength": 60 + }, + "description": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/MessageContentType" + }, + "minItems": 1, + "maxItems": 10 + }, + "currency": { + "description": "Currency code according to ISO 4217\r\n", + "type": "string", + "maxLength": 3 + }, + "energy": { + "$ref": "#/definitions/TariffEnergyType" + }, + "validFrom": { + "description": "Time when this tariff becomes active. When absent, it is immediately active.\r\n", + "type": "string", + "format": "date-time" + }, + "chargingTime": { + "$ref": "#/definitions/TariffTimeType" + }, + "idleTime": { + "$ref": "#/definitions/TariffTimeType" + }, + "fixedFee": { + "$ref": "#/definitions/TariffFixedType" + }, + "reservationTime": { + "$ref": "#/definitions/TariffTimeType" + }, + "reservationFixed": { + "$ref": "#/definitions/TariffFixedType" + }, + "minCost": { + "$ref": "#/definitions/PriceType" + }, + "maxCost": { + "$ref": "#/definitions/PriceType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "tariffId", + "currency" + ] + }, + "TaxRateType": { + "description": "Tax percentage\r\n", + "javaType": "TaxRate", + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "description": "Type of this tax, e.g. \"Federal \", \"State\", for information on receipt.\r\n", + "type": "string", + "maxLength": 20 + }, + "tax": { + "description": "Tax percentage\r\n", + "type": "number" + }, + "stack": { + "description": "Stack level for this type of tax. Default value, when absent, is 0. +\r\n_stack_ = 0: tax on net price; +\r\n_stack_ = 1: tax added on top of _stack_ 0; +\r\n_stack_ = 2: tax added on top of _stack_ 1, etc. \r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "type", + "tax" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "tariff": { + "$ref": "#/definitions/TariffType" + }, + "transactionId": { + "description": "Transaction id for new tariff.\r\n", + "type": "string", + "maxLength": 36 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "transactionId", + "tariff" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ChangeTransactionTariffResponse.json b/src/tests/schema_validation/schemas/v2.1/ChangeTransactionTariffResponse.json new file mode 100644 index 00000000..3fbf9239 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ChangeTransactionTariffResponse.json @@ -0,0 +1,75 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ChangeTransactionTariffResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "TariffChangeStatusEnumType": { + "description": "Status of the operation\r\n", + "javaType": "TariffChangeStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "TooManyElements", + "ConditionNotSupported", + "TxNotFound", + "NoCurrencyChange" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/TariffChangeStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClearCacheRequest.json b/src/tests/schema_validation/schemas/v2.1/ClearCacheRequest.json new file mode 100644 index 00000000..dac8481a --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClearCacheRequest.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClearCacheRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClearCacheResponse.json b/src/tests/schema_validation/schemas/v2.1/ClearCacheResponse.json new file mode 100644 index 00000000..16180e1b --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClearCacheResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClearCacheResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ClearCacheStatusEnumType": { + "description": "Accepted if the Charging Station has executed the request, otherwise rejected.\r\n", + "javaType": "ClearCacheStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/ClearCacheStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClearChargingProfileRequest.json b/src/tests/schema_validation/schemas/v2.1/ClearChargingProfileRequest.json new file mode 100644 index 00000000..6a53f8ce --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClearChargingProfileRequest.json @@ -0,0 +1,73 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClearChargingProfileRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ChargingProfilePurposeEnumType": { + "description": "Specifies to purpose of the charging profiles that will be cleared, if they meet the other criteria in the request.\r\n", + "javaType": "ChargingProfilePurposeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ChargingStationExternalConstraints", + "ChargingStationMaxProfile", + "TxDefaultProfile", + "TxProfile", + "PriorityCharging", + "LocalGeneration" + ] + }, + "ClearChargingProfileType": { + "description": "A ClearChargingProfileType is a filter for charging profiles to be cleared by ClearChargingProfileRequest.\r\n\r\n", + "javaType": "ClearChargingProfile", + "type": "object", + "additionalProperties": false, + "properties": { + "evseId": { + "description": "Specifies the id of the EVSE for which to clear charging profiles. An evseId of zero (0) specifies the charging profile for the overall Charging Station. Absence of this parameter means the clearing applies to all charging profiles that match the other criteria in the request.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "chargingProfilePurpose": { + "$ref": "#/definitions/ChargingProfilePurposeEnumType" + }, + "stackLevel": { + "description": "Specifies the stackLevel for which charging profiles will be cleared, if they meet the other criteria in the request.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "chargingProfileId": { + "description": "The Id of the charging profile to clear.\r\n", + "type": "integer" + }, + "chargingProfileCriteria": { + "$ref": "#/definitions/ClearChargingProfileType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClearChargingProfileResponse.json b/src/tests/schema_validation/schemas/v2.1/ClearChargingProfileResponse.json new file mode 100644 index 00000000..4c6fd1fd --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClearChargingProfileResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClearChargingProfileResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ClearChargingProfileStatusEnumType": { + "description": "Indicates if the Charging Station was able to execute the request.\r\n", + "javaType": "ClearChargingProfileStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Unknown" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/ClearChargingProfileStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClearDERControlRequest.json b/src/tests/schema_validation/schemas/v2.1/ClearDERControlRequest.json new file mode 100644 index 00000000..5d6a7f70 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClearDERControlRequest.json @@ -0,0 +1,73 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClearDERControlRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "DERControlEnumType": { + "description": "Name of control settings to clear. Not used when _controlId_ is provided.\r\n\r\n", + "javaType": "DERControlEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "EnterService", + "FreqDroop", + "FreqWatt", + "FixedPFAbsorb", + "FixedPFInject", + "FixedVar", + "Gradients", + "HFMustTrip", + "HFMayTrip", + "HVMustTrip", + "HVMomCess", + "HVMayTrip", + "LimitMaxDischarge", + "LFMustTrip", + "LVMustTrip", + "LVMomCess", + "LVMayTrip", + "PowerMonitoringMustTrip", + "VoltVar", + "VoltWatt", + "WattPF", + "WattVar" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "isDefault": { + "description": "True: clearing default DER controls. False: clearing scheduled controls.\r\n\r\n", + "type": "boolean" + }, + "controlType": { + "$ref": "#/definitions/DERControlEnumType" + }, + "controlId": { + "description": "Id of control setting to clear. When omitted all settings for _controlType_ are cleared.\r\n\r\n", + "type": "string", + "maxLength": 36 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "isDefault" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClearDERControlResponse.json b/src/tests/schema_validation/schemas/v2.1/ClearDERControlResponse.json new file mode 100644 index 00000000..c47257d9 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClearDERControlResponse.json @@ -0,0 +1,73 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClearDERControlResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "DERControlStatusEnumType": { + "description": "Result of operation.\r\n\r\n", + "javaType": "DERControlStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "NotSupported", + "NotFound" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/DERControlStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClearDisplayMessageRequest.json b/src/tests/schema_validation/schemas/v2.1/ClearDisplayMessageRequest.json new file mode 100644 index 00000000..7135b75e --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClearDisplayMessageRequest.json @@ -0,0 +1,36 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClearDisplayMessageRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "Id of the message that SHALL be removed from the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClearDisplayMessageResponse.json b/src/tests/schema_validation/schemas/v2.1/ClearDisplayMessageResponse.json new file mode 100644 index 00000000..1416422c --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClearDisplayMessageResponse.json @@ -0,0 +1,72 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClearDisplayMessageResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ClearMessageStatusEnumType": { + "description": "Returns whether the Charging Station has been able to remove the message.\r\n", + "javaType": "ClearMessageStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Unknown", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/ClearMessageStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClearTariffsRequest.json b/src/tests/schema_validation/schemas/v2.1/ClearTariffsRequest.json new file mode 100644 index 00000000..2cc01e76 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClearTariffsRequest.json @@ -0,0 +1,43 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClearTariffsRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "tariffIds": { + "description": "List of tariff Ids to clear. When absent clears all tariffs at _evseId_.\r\n\r\n", + "type": "array", + "additionalItems": false, + "items": { + "type": "string", + "maxLength": 60 + }, + "minItems": 1 + }, + "evseId": { + "description": "When present only clear tariffs matching _tariffIds_ at EVSE _evseId_.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClearTariffsResponse.json b/src/tests/schema_validation/schemas/v2.1/ClearTariffsResponse.json new file mode 100644 index 00000000..77074b9d --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClearTariffsResponse.json @@ -0,0 +1,97 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClearTariffsResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "TariffClearStatusEnumType": { + "javaType": "TariffClearStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "NoTariff" + ] + }, + "ClearTariffsResultType": { + "javaType": "ClearTariffsResult", + "type": "object", + "additionalProperties": false, + "properties": { + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "tariffId": { + "description": "Id of tariff for which _status_ is reported. If no tariffs were found, then this field is absent, and _status_ will be `NoTariff`.\r\n", + "type": "string", + "maxLength": 60 + }, + "status": { + "$ref": "#/definitions/TariffClearStatusEnumType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "clearTariffsResult": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ClearTariffsResultType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "clearTariffsResult" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClearVariableMonitoringRequest.json b/src/tests/schema_validation/schemas/v2.1/ClearVariableMonitoringRequest.json new file mode 100644 index 00000000..c43f674a --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClearVariableMonitoringRequest.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClearVariableMonitoringRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "List of the monitors to be cleared, identified by there Id.\r\n", + "type": "array", + "additionalItems": false, + "items": { + "type": "integer", + "minimum": 0.0 + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClearVariableMonitoringResponse.json b/src/tests/schema_validation/schemas/v2.1/ClearVariableMonitoringResponse.json new file mode 100644 index 00000000..c4309a22 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClearVariableMonitoringResponse.json @@ -0,0 +1,99 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClearVariableMonitoringResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ClearMonitoringStatusEnumType": { + "description": "Result of the clear request for this monitor, identified by its Id.\r\n\r\n", + "javaType": "ClearMonitoringStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "NotFound" + ] + }, + "ClearMonitoringResultType": { + "javaType": "ClearMonitoringResult", + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/ClearMonitoringStatusEnumType" + }, + "id": { + "description": "Id of the monitor of which a clear was requested.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status", + "id" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "clearMonitoringResult": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ClearMonitoringResultType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "clearMonitoringResult" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClearedChargingLimitRequest.json b/src/tests/schema_validation/schemas/v2.1/ClearedChargingLimitRequest.json new file mode 100644 index 00000000..1d802570 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClearedChargingLimitRequest.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClearedChargingLimitRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "chargingLimitSource": { + "description": "Source of the charging limit. Allowed values defined in Appendix as ChargingLimitSourceEnumStringType.\r\n", + "type": "string", + "maxLength": 20 + }, + "evseId": { + "description": "EVSE Identifier.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "chargingLimitSource" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClearedChargingLimitResponse.json b/src/tests/schema_validation/schemas/v2.1/ClearedChargingLimitResponse.json new file mode 100644 index 00000000..13d9bc71 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClearedChargingLimitResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClearedChargingLimitResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClosePeriodicEventStreamRequest.json b/src/tests/schema_validation/schemas/v2.1/ClosePeriodicEventStreamRequest.json new file mode 100644 index 00000000..17113773 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClosePeriodicEventStreamRequest.json @@ -0,0 +1,36 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClosePeriodicEventStreamRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "Id of stream to close.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ClosePeriodicEventStreamResponse.json b/src/tests/schema_validation/schemas/v2.1/ClosePeriodicEventStreamResponse.json new file mode 100644 index 00000000..ad813bf1 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ClosePeriodicEventStreamResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ClosePeriodicEventStreamResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/CostUpdatedRequest.json b/src/tests/schema_validation/schemas/v2.1/CostUpdatedRequest.json new file mode 100644 index 00000000..1bc57be1 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/CostUpdatedRequest.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:CostUpdatedRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "totalCost": { + "description": "Current total cost, based on the information known by the CSMS, of the transaction including taxes. In the currency configured with the configuration Variable: [<<configkey-currency, Currency>>]\r\n\r\n", + "type": "number" + }, + "transactionId": { + "description": "Transaction Id of the transaction the current cost are asked for.\r\n\r\n", + "type": "string", + "maxLength": 36 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "totalCost", + "transactionId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/CostUpdatedResponse.json b/src/tests/schema_validation/schemas/v2.1/CostUpdatedResponse.json new file mode 100644 index 00000000..703b6372 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/CostUpdatedResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:CostUpdatedResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/CustomerInformationRequest.json b/src/tests/schema_validation/schemas/v2.1/CustomerInformationRequest.json new file mode 100644 index 00000000..00026d54 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/CustomerInformationRequest.json @@ -0,0 +1,160 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:CustomerInformationRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "HashAlgorithmEnumType": { + "description": "Used algorithms for the hashes provided.\r\n", + "javaType": "HashAlgorithmEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "SHA256", + "SHA384", + "SHA512" + ] + }, + "AdditionalInfoType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "AdditionalInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalIdToken": { + "description": "*(2.1)* This field specifies the additional IdToken.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "_additionalInfo_ can be used to send extra information to CSMS in addition to the regular authorization with _IdToken_. _AdditionalInfo_ contains one or more custom _types_, which need to be agreed upon by all parties involved. When the _type_ is not supported, the CSMS/Charging Station MAY ignore the _additionalInfo_.\r\n\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "additionalIdToken", + "type" + ] + }, + "CertificateHashDataType": { + "javaType": "CertificateHashData", + "type": "object", + "additionalProperties": false, + "properties": { + "hashAlgorithm": { + "$ref": "#/definitions/HashAlgorithmEnumType" + }, + "issuerNameHash": { + "description": "The hash of the issuer\u2019s distinguished\r\nname (DN), that must be calculated over the DER\r\nencoding of the issuer\u2019s name field in the certificate\r\nbeing checked.\r\n\r\n", + "type": "string", + "maxLength": 128 + }, + "issuerKeyHash": { + "description": "The hash of the DER encoded public key:\r\nthe value (excluding tag and length) of the subject\r\npublic key field in the issuer\u2019s certificate.\r\n", + "type": "string", + "maxLength": 128 + }, + "serialNumber": { + "description": "The string representation of the\r\nhexadecimal value of the serial number without the\r\nprefix \"0x\" and without leading zeroes.\r\n", + "type": "string", + "maxLength": 40 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "hashAlgorithm", + "issuerNameHash", + "issuerKeyHash", + "serialNumber" + ] + }, + "IdTokenType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "IdToken", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalInfo": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AdditionalInfoType" + }, + "minItems": 1 + }, + "idToken": { + "description": "*(2.1)* IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "*(2.1)* Enumeration of possible idToken types. Values defined in Appendix as IdTokenEnumStringType.\r\n", + "type": "string", + "maxLength": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "idToken", + "type" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customerCertificate": { + "$ref": "#/definitions/CertificateHashDataType" + }, + "idToken": { + "$ref": "#/definitions/IdTokenType" + }, + "requestId": { + "description": "The Id of the request.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "report": { + "description": "Flag indicating whether the Charging Station should return NotifyCustomerInformationRequest messages containing information about the customer referred to.\r\n", + "type": "boolean" + }, + "clear": { + "description": "Flag indicating whether the Charging Station should clear all information about the customer referred to.\r\n", + "type": "boolean" + }, + "customerIdentifier": { + "description": "A (e.g. vendor specific) identifier of the customer this request refers to. This field contains a custom identifier other than IdToken and Certificate.\r\nOne of the possible identifiers (customerIdentifier, customerIdToken or customerCertificate) should be in the request message.\r\n", + "type": "string", + "maxLength": 64 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestId", + "report", + "clear" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/CustomerInformationResponse.json b/src/tests/schema_validation/schemas/v2.1/CustomerInformationResponse.json new file mode 100644 index 00000000..116a54e4 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/CustomerInformationResponse.json @@ -0,0 +1,72 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:CustomerInformationResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomerInformationStatusEnumType": { + "description": "Indicates whether the request was accepted.\r\n", + "javaType": "CustomerInformationStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "Invalid" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/CustomerInformationStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/DataTransferRequest.json b/src/tests/schema_validation/schemas/v2.1/DataTransferRequest.json new file mode 100644 index 00000000..52869741 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/DataTransferRequest.json @@ -0,0 +1,44 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:DataTransferRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "messageId": { + "description": "May be used to indicate a specific message or implementation.\r\n", + "type": "string", + "maxLength": 50 + }, + "data": { + "description": "Data without specified length or format. This needs to be decided by both parties (Open to implementation).\r\n" + }, + "vendorId": { + "description": "This identifies the Vendor specific implementation\r\n\r\n", + "type": "string", + "maxLength": 255 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "vendorId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/DataTransferResponse.json b/src/tests/schema_validation/schemas/v2.1/DataTransferResponse.json new file mode 100644 index 00000000..02be433b --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/DataTransferResponse.json @@ -0,0 +1,76 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:DataTransferResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "DataTransferStatusEnumType": { + "description": "This indicates the success or failure of the data transfer.\r\n", + "javaType": "DataTransferStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "UnknownMessageId", + "UnknownVendorId" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/DataTransferStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "data": { + "description": "Data without specified length or format, in response to request.\r\n" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/DeleteCertificateRequest.json b/src/tests/schema_validation/schemas/v2.1/DeleteCertificateRequest.json new file mode 100644 index 00000000..17799e4d --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/DeleteCertificateRequest.json @@ -0,0 +1,79 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:DeleteCertificateRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "HashAlgorithmEnumType": { + "description": "Used algorithms for the hashes provided.\r\n", + "javaType": "HashAlgorithmEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "SHA256", + "SHA384", + "SHA512" + ] + }, + "CertificateHashDataType": { + "javaType": "CertificateHashData", + "type": "object", + "additionalProperties": false, + "properties": { + "hashAlgorithm": { + "$ref": "#/definitions/HashAlgorithmEnumType" + }, + "issuerNameHash": { + "description": "The hash of the issuer\u2019s distinguished\r\nname (DN), that must be calculated over the DER\r\nencoding of the issuer\u2019s name field in the certificate\r\nbeing checked.\r\n\r\n", + "type": "string", + "maxLength": 128 + }, + "issuerKeyHash": { + "description": "The hash of the DER encoded public key:\r\nthe value (excluding tag and length) of the subject\r\npublic key field in the issuer\u2019s certificate.\r\n", + "type": "string", + "maxLength": 128 + }, + "serialNumber": { + "description": "The string representation of the\r\nhexadecimal value of the serial number without the\r\nprefix \"0x\" and without leading zeroes.\r\n", + "type": "string", + "maxLength": 40 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "hashAlgorithm", + "issuerNameHash", + "issuerKeyHash", + "serialNumber" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "certificateHashData": { + "$ref": "#/definitions/CertificateHashDataType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "certificateHashData" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/DeleteCertificateResponse.json b/src/tests/schema_validation/schemas/v2.1/DeleteCertificateResponse.json new file mode 100644 index 00000000..2cf71ff2 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/DeleteCertificateResponse.json @@ -0,0 +1,72 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:DeleteCertificateResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "DeleteCertificateStatusEnumType": { + "description": "Charging Station indicates if it can process the request.\r\n", + "javaType": "DeleteCertificateStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Failed", + "NotFound" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/DeleteCertificateStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/FirmwareStatusNotificationRequest.json b/src/tests/schema_validation/schemas/v2.1/FirmwareStatusNotificationRequest.json new file mode 100644 index 00000000..b87681f7 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/FirmwareStatusNotificationRequest.json @@ -0,0 +1,87 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:FirmwareStatusNotificationRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "FirmwareStatusEnumType": { + "description": "This contains the progress status of the firmware installation.\r\n", + "javaType": "FirmwareStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Downloaded", + "DownloadFailed", + "Downloading", + "DownloadScheduled", + "DownloadPaused", + "Idle", + "InstallationFailed", + "Installing", + "Installed", + "InstallRebooting", + "InstallScheduled", + "InstallVerificationFailed", + "InvalidSignature", + "SignatureVerified" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/FirmwareStatusEnumType" + }, + "requestId": { + "description": "The request id that was provided in the\r\nUpdateFirmwareRequest that started this firmware update.\r\nThis field is mandatory, unless the message was triggered by a TriggerMessageRequest AND there is no firmware update ongoing.\r\n", + "type": "integer" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/FirmwareStatusNotificationResponse.json b/src/tests/schema_validation/schemas/v2.1/FirmwareStatusNotificationResponse.json new file mode 100644 index 00000000..afbc0423 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/FirmwareStatusNotificationResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:FirmwareStatusNotificationResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/Get15118EVCertificateRequest.json b/src/tests/schema_validation/schemas/v2.1/Get15118EVCertificateRequest.json new file mode 100644 index 00000000..5a69c832 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/Get15118EVCertificateRequest.json @@ -0,0 +1,72 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:Get15118EVCertificateRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CertificateActionEnumType": { + "description": "Defines whether certificate needs to be installed or updated.\r\n", + "javaType": "CertificateActionEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Install", + "Update" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "iso15118SchemaVersion": { + "description": "Schema version currently used for the 15118 session between EV and Charging Station. Needed for parsing of the EXI stream by the CSMS.\r\n\r\n", + "type": "string", + "maxLength": 50 + }, + "action": { + "$ref": "#/definitions/CertificateActionEnumType" + }, + "exiRequest": { + "description": "*(2.1)* Raw CertificateInstallationReq request from EV, Base64 encoded. +\r\nExtended to support ISO 15118-20 certificates. The minimum supported length is 11000. If a longer _exiRequest_ is supported, then the supported length must be communicated in variable OCPPCommCtrlr.FieldLength[ \"Get15118EVCertificateRequest.exiRequest\" ].\r\n", + "type": "string", + "maxLength": 11000 + }, + "maximumContractCertificateChains": { + "description": "*(2.1)* Absent during ISO 15118-2 session. Required during ISO 15118-20 session. +\r\nMaximum number of contracts that EV wants to install.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "prioritizedEMAIDs": { + "description": "*(2.1)* Absent during ISO 15118-2 session. Optional during ISO 15118-20 session. List of EMAIDs for which contract certificates must be requested first, in case there are more certificates than allowed by _maximumContractCertificateChains_.\r\n", + "type": "array", + "additionalItems": false, + "items": { + "type": "string", + "maxLength": 255 + }, + "minItems": 1, + "maxItems": 8 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "iso15118SchemaVersion", + "action", + "exiRequest" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/Get15118EVCertificateResponse.json b/src/tests/schema_validation/schemas/v2.1/Get15118EVCertificateResponse.json new file mode 100644 index 00000000..f57ae7fe --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/Get15118EVCertificateResponse.json @@ -0,0 +1,82 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:Get15118EVCertificateResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "Iso15118EVCertificateStatusEnumType": { + "description": "Indicates whether the message was processed properly.\r\n", + "javaType": "Iso15118EVCertificateStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Failed" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/Iso15118EVCertificateStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "exiResponse": { + "description": "*(2/1)* Raw CertificateInstallationRes response for the EV, Base64 encoded. +\r\nExtended to support ISO 15118-20 certificates. The minimum supported length is 17000. If a longer _exiResponse_ is supported, then the supported length must be communicated in variable OCPPCommCtrlr.FieldLength[ \"Get15118EVCertificateResponse.exiResponse\" ].\r\n\r\n", + "type": "string", + "maxLength": 17000 + }, + "remainingContracts": { + "description": "*(2.1)* Number of contracts that can be retrieved with additional requests.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status", + "exiResponse" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetBaseReportRequest.json b/src/tests/schema_validation/schemas/v2.1/GetBaseReportRequest.json new file mode 100644 index 00000000..f9a49d9f --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetBaseReportRequest.json @@ -0,0 +1,50 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetBaseReportRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ReportBaseEnumType": { + "description": "This field specifies the report base.\r\n", + "javaType": "ReportBaseEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ConfigurationInventory", + "FullInventory", + "SummaryInventory" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "requestId": { + "description": "The Id of the request.\r\n", + "type": "integer" + }, + "reportBase": { + "$ref": "#/definitions/ReportBaseEnumType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestId", + "reportBase" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetBaseReportResponse.json b/src/tests/schema_validation/schemas/v2.1/GetBaseReportResponse.json new file mode 100644 index 00000000..ce72f3a9 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetBaseReportResponse.json @@ -0,0 +1,73 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetBaseReportResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GenericDeviceModelStatusEnumType": { + "description": "This indicates whether the Charging Station is able to accept this request.\r\n", + "javaType": "GenericDeviceModelStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "NotSupported", + "EmptyResultSet" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GenericDeviceModelStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetCertificateChainStatusRequest.json b/src/tests/schema_validation/schemas/v2.1/GetCertificateChainStatusRequest.json new file mode 100644 index 00000000..4d2a5569 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetCertificateChainStatusRequest.json @@ -0,0 +1,128 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetCertificateChainStatusRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CertificateStatusSourceEnumType": { + "description": "Source of status: OCSP, CRL\r\n", + "javaType": "CertificateStatusSourceEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "CRL", + "OCSP" + ] + }, + "HashAlgorithmEnumType": { + "description": "Used algorithms for the hashes provided.\r\n", + "javaType": "HashAlgorithmEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "SHA256", + "SHA384", + "SHA512" + ] + }, + "CertificateHashDataType": { + "javaType": "CertificateHashData", + "type": "object", + "additionalProperties": false, + "properties": { + "hashAlgorithm": { + "$ref": "#/definitions/HashAlgorithmEnumType" + }, + "issuerNameHash": { + "description": "The hash of the issuer\u2019s distinguished\r\nname (DN), that must be calculated over the DER\r\nencoding of the issuer\u2019s name field in the certificate\r\nbeing checked.\r\n\r\n", + "type": "string", + "maxLength": 128 + }, + "issuerKeyHash": { + "description": "The hash of the DER encoded public key:\r\nthe value (excluding tag and length) of the subject\r\npublic key field in the issuer\u2019s certificate.\r\n", + "type": "string", + "maxLength": 128 + }, + "serialNumber": { + "description": "The string representation of the\r\nhexadecimal value of the serial number without the\r\nprefix \"0x\" and without leading zeroes.\r\n", + "type": "string", + "maxLength": 40 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "hashAlgorithm", + "issuerNameHash", + "issuerKeyHash", + "serialNumber" + ] + }, + "CertificateStatusRequestInfoType": { + "description": "Data necessary to request the revocation status of a certificate.\r\n", + "javaType": "CertificateStatusRequestInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "certificateHashData": { + "$ref": "#/definitions/CertificateHashDataType" + }, + "source": { + "$ref": "#/definitions/CertificateStatusSourceEnumType" + }, + "urls": { + "description": "URL(s) of _source_.\r\n", + "type": "array", + "additionalItems": false, + "items": { + "type": "string", + "maxLength": 2000 + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "source", + "urls", + "certificateHashData" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "certificateStatusRequests": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/CertificateStatusRequestInfoType" + }, + "minItems": 1, + "maxItems": 4 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "certificateStatusRequests" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetCertificateChainStatusResponse.json b/src/tests/schema_validation/schemas/v2.1/GetCertificateChainStatusResponse.json new file mode 100644 index 00000000..ee8163f9 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetCertificateChainStatusResponse.json @@ -0,0 +1,137 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetCertificateChainStatusResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CertificateStatusEnumType": { + "description": "Status of certificate: good, revoked or unknown.\r\n", + "javaType": "CertificateStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Good", + "Revoked", + "Unknown", + "Failed" + ] + }, + "CertificateStatusSourceEnumType": { + "description": "Source of status: OCSP, CRL\r\n", + "javaType": "CertificateStatusSourceEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "CRL", + "OCSP" + ] + }, + "HashAlgorithmEnumType": { + "description": "Used algorithms for the hashes provided.\r\n", + "javaType": "HashAlgorithmEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "SHA256", + "SHA384", + "SHA512" + ] + }, + "CertificateHashDataType": { + "javaType": "CertificateHashData", + "type": "object", + "additionalProperties": false, + "properties": { + "hashAlgorithm": { + "$ref": "#/definitions/HashAlgorithmEnumType" + }, + "issuerNameHash": { + "description": "The hash of the issuer\u2019s distinguished\r\nname (DN), that must be calculated over the DER\r\nencoding of the issuer\u2019s name field in the certificate\r\nbeing checked.\r\n\r\n", + "type": "string", + "maxLength": 128 + }, + "issuerKeyHash": { + "description": "The hash of the DER encoded public key:\r\nthe value (excluding tag and length) of the subject\r\npublic key field in the issuer\u2019s certificate.\r\n", + "type": "string", + "maxLength": 128 + }, + "serialNumber": { + "description": "The string representation of the\r\nhexadecimal value of the serial number without the\r\nprefix \"0x\" and without leading zeroes.\r\n", + "type": "string", + "maxLength": 40 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "hashAlgorithm", + "issuerNameHash", + "issuerKeyHash", + "serialNumber" + ] + }, + "CertificateStatusType": { + "description": "Revocation status of certificate\r\n", + "javaType": "CertificateStatus", + "type": "object", + "additionalProperties": false, + "properties": { + "certificateHashData": { + "$ref": "#/definitions/CertificateHashDataType" + }, + "source": { + "$ref": "#/definitions/CertificateStatusSourceEnumType" + }, + "status": { + "$ref": "#/definitions/CertificateStatusEnumType" + }, + "nextUpdate": { + "type": "string", + "format": "date-time" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "source", + "status", + "nextUpdate", + "certificateHashData" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "certificateStatus": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/CertificateStatusType" + }, + "minItems": 1, + "maxItems": 4 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "certificateStatus" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetCertificateStatusRequest.json b/src/tests/schema_validation/schemas/v2.1/GetCertificateStatusRequest.json new file mode 100644 index 00000000..41892625 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetCertificateStatusRequest.json @@ -0,0 +1,86 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetCertificateStatusRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "HashAlgorithmEnumType": { + "description": "Used algorithms for the hashes provided.\r\n", + "javaType": "HashAlgorithmEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "SHA256", + "SHA384", + "SHA512" + ] + }, + "OCSPRequestDataType": { + "description": "Information about a certificate for an OCSP check.\r\n", + "javaType": "OCSPRequestData", + "type": "object", + "additionalProperties": false, + "properties": { + "hashAlgorithm": { + "$ref": "#/definitions/HashAlgorithmEnumType" + }, + "issuerNameHash": { + "description": "The hash of the issuer\u2019s distinguished\r\nname (DN), that must be calculated over the DER\r\nencoding of the issuer\u2019s name field in the certificate\r\nbeing checked.\r\n", + "type": "string", + "maxLength": 128 + }, + "issuerKeyHash": { + "description": "The hash of the DER encoded public key:\r\nthe value (excluding tag and length) of the subject\r\npublic key field in the issuer\u2019s certificate.\r\n", + "type": "string", + "maxLength": 128 + }, + "serialNumber": { + "description": "The string representation of the\r\nhexadecimal value of the serial number without the\r\nprefix \"0x\" and without leading zeroes.\r\n", + "type": "string", + "maxLength": 40 + }, + "responderURL": { + "description": "This contains the responder URL (Case insensitive). \r\n\r\n", + "type": "string", + "maxLength": 2000 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "hashAlgorithm", + "issuerNameHash", + "issuerKeyHash", + "serialNumber", + "responderURL" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "ocspRequestData": { + "$ref": "#/definitions/OCSPRequestDataType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "ocspRequestData" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetCertificateStatusResponse.json b/src/tests/schema_validation/schemas/v2.1/GetCertificateStatusResponse.json new file mode 100644 index 00000000..73a0b024 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetCertificateStatusResponse.json @@ -0,0 +1,76 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetCertificateStatusResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GetCertificateStatusEnumType": { + "description": "This indicates whether the charging station was able to retrieve the OCSP certificate status.\r\n", + "javaType": "GetCertificateStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Failed" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GetCertificateStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "ocspResult": { + "description": "*(2.1)* OCSPResponse class as defined in <<ref-ocpp_security_24, IETF RFC 6960>>. DER encoded (as defined in <<ref-ocpp_security_24, IETF RFC 6960>>), and then base64 encoded. MAY only be omitted when status is not Accepted. +\r\nThe minimum supported length is 18000. If a longer _ocspResult_ is supported, then the supported length must be communicated in variable OCPPCommCtrlr.FieldLength[ \"GetCertificateStatusResponse.ocspResult\" ].\r\n\r\n", + "type": "string", + "maxLength": 18000 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetChargingProfilesRequest.json b/src/tests/schema_validation/schemas/v2.1/GetChargingProfilesRequest.json new file mode 100644 index 00000000..56d3802d --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetChargingProfilesRequest.json @@ -0,0 +1,97 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetChargingProfilesRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ChargingProfilePurposeEnumType": { + "description": "Defines the purpose of the schedule transferred by this profile\r\n", + "javaType": "ChargingProfilePurposeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ChargingStationExternalConstraints", + "ChargingStationMaxProfile", + "TxDefaultProfile", + "TxProfile", + "PriorityCharging", + "LocalGeneration" + ] + }, + "ChargingProfileCriterionType": { + "description": "A ChargingProfileCriterionType is a filter for charging profiles to be selected by a GetChargingProfilesRequest.\r\n\r\n", + "javaType": "ChargingProfileCriterion", + "type": "object", + "additionalProperties": false, + "properties": { + "chargingProfilePurpose": { + "$ref": "#/definitions/ChargingProfilePurposeEnumType" + }, + "stackLevel": { + "description": "Value determining level in hierarchy stack of profiles. Higher values have precedence over lower values. Lowest level is 0.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "chargingProfileId": { + "description": "List of all the chargingProfileIds requested. Any ChargingProfile that matches one of these profiles will be reported. If omitted, the Charging Station SHALL not filter on chargingProfileId. This field SHALL NOT contain more ids than set in <<configkey-charging-profile-entries,ChargingProfileEntries.maxLimit>>\r\n\r\n", + "type": "array", + "additionalItems": false, + "items": { + "type": "integer" + }, + "minItems": 1 + }, + "chargingLimitSource": { + "description": "For which charging limit sources, charging profiles SHALL be reported. If omitted, the Charging Station SHALL not filter on chargingLimitSource. Values defined in Appendix as ChargingLimitSourceEnumStringType.\r\n", + "type": "array", + "additionalItems": false, + "items": { + "type": "string", + "maxLength": 20 + }, + "minItems": 1, + "maxItems": 4 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "requestId": { + "description": "Reference identification that is to be used by the Charging Station in the <<reportchargingprofilesrequest, ReportChargingProfilesRequest>> when provided.\r\n", + "type": "integer" + }, + "evseId": { + "description": "For which EVSE installed charging profiles SHALL be reported. If 0, only charging profiles installed on the Charging Station itself (the grid connection) SHALL be reported. If omitted, all installed charging profiles SHALL be reported. +\r\nReported charging profiles SHALL match the criteria in field _chargingProfile_.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "chargingProfile": { + "$ref": "#/definitions/ChargingProfileCriterionType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestId", + "chargingProfile" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetChargingProfilesResponse.json b/src/tests/schema_validation/schemas/v2.1/GetChargingProfilesResponse.json new file mode 100644 index 00000000..1dd0fc06 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetChargingProfilesResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetChargingProfilesResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GetChargingProfileStatusEnumType": { + "description": "This indicates whether the Charging Station is able to process this request and will send <<reportchargingprofilesrequest, ReportChargingProfilesRequest>> messages.\r\n", + "javaType": "GetChargingProfileStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "NoProfiles" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GetChargingProfileStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetCompositeScheduleRequest.json b/src/tests/schema_validation/schemas/v2.1/GetCompositeScheduleRequest.json new file mode 100644 index 00000000..7f0c2fdf --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetCompositeScheduleRequest.json @@ -0,0 +1,54 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetCompositeScheduleRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ChargingRateUnitEnumType": { + "description": "Can be used to force a power or current profile.\r\n\r\n", + "javaType": "ChargingRateUnitEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "W", + "A" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "duration": { + "description": "Length of the requested schedule in seconds.\r\n\r\n", + "type": "integer" + }, + "chargingRateUnit": { + "$ref": "#/definitions/ChargingRateUnitEnumType" + }, + "evseId": { + "description": "The ID of the EVSE for which the schedule is requested. When evseid=0, the Charging Station will calculate the expected consumption for the grid connection.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "duration", + "evseId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetCompositeScheduleResponse.json b/src/tests/schema_validation/schemas/v2.1/GetCompositeScheduleResponse.json new file mode 100644 index 00000000..fef95fdc --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetCompositeScheduleResponse.json @@ -0,0 +1,298 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetCompositeScheduleResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ChargingRateUnitEnumType": { + "javaType": "ChargingRateUnitEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "W", + "A" + ] + }, + "GenericStatusEnumType": { + "description": "The Charging Station will indicate if it was\r\nable to process the request\r\n", + "javaType": "GenericStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "OperationModeEnumType": { + "description": "*(2.1)* Charging operation mode to use during this time interval. When absent defaults to `ChargingOnly`.\r\n", + "javaType": "OperationModeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Idle", + "ChargingOnly", + "CentralSetpoint", + "ExternalSetpoint", + "ExternalLimits", + "CentralFrequency", + "LocalFrequency", + "LocalLoadBalancing" + ] + }, + "ChargingSchedulePeriodType": { + "description": "Charging schedule period structure defines a time period in a charging schedule. It is used in: CompositeScheduleType and in ChargingScheduleType. When used in a NotifyEVChargingScheduleRequest only _startPeriod_, _limit_, _limit_L2_, _limit_L3_ are relevant.\r\n", + "javaType": "ChargingSchedulePeriod", + "type": "object", + "additionalProperties": false, + "properties": { + "startPeriod": { + "description": "Start of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period.\r\n", + "type": "integer" + }, + "limit": { + "description": "Optional only when not required by the _operationMode_, as in CentralSetpoint, ExternalSetpoint, ExternalLimits, LocalFrequency, LocalLoadBalancing. +\r\nCharging rate limit during the schedule period, in the applicable _chargingRateUnit_. \r\nThis SHOULD be a non-negative value; a negative value is only supported for backwards compatibility with older systems that use a negative value to specify a discharging limit.\r\nWhen using _chargingRateUnit_ = `W`, this field represents the sum of the power of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "limit_L2": { + "description": "*(2.1)* Charging rate limit on phase L2 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "limit_L3": { + "description": "*(2.1)* Charging rate limit on phase L3 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "numberPhases": { + "description": "The number of phases that can be used for charging. +\r\nFor a DC EVSE this field should be omitted. +\r\nFor an AC EVSE a default value of _numberPhases_ = 3 will be assumed if the field is absent.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 3.0 + }, + "phaseToUse": { + "description": "Values: 1..3, Used if numberPhases=1 and if the EVSE is capable of switching the phase connected to the EV, i.e. ACPhaseSwitchingSupported is defined and true. It\u2019s not allowed unless both conditions above are true. If both conditions are true, and phaseToUse is omitted, the Charging Station / EVSE will make the selection on its own.\r\n\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 3.0 + }, + "dischargeLimit": { + "description": "*(2.1)* Limit in _chargingRateUnit_ that the EV is allowed to discharge with. Note, these are negative values in order to be consistent with _setpoint_, which can be positive and negative. +\r\nFor AC this field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L2": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L2 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L3": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L3 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "setpoint": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow as close as possible. Use negative values for discharging. +\r\nWhen a limit and/or _dischargeLimit_ are given the overshoot when following _setpoint_ must remain within these values.\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpoint_L2": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L2 as close as possible.\r\n", + "type": "number" + }, + "setpoint_L3": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L3 as close as possible. \r\n", + "type": "number" + }, + "setpointReactive": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow as closely as possible. Positive values for inductive, negative for capacitive reactive power or current. +\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpointReactive_L2": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L2 as closely as possible. \r\n", + "type": "number" + }, + "setpointReactive_L3": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L3 as closely as possible. \r\n", + "type": "number" + }, + "preconditioningRequest": { + "description": "*(2.1)* If true, the EV should attempt to keep the BMS preconditioned for this time interval.\r\n", + "type": "boolean" + }, + "evseSleep": { + "description": "*(2.1)* If true, the EVSE must turn off power electronics/modules associated with this transaction. Default value when absent is false.\r\n", + "type": "boolean" + }, + "v2xBaseline": { + "description": "*(2.1)* Power value that, when present, is used as a baseline on top of which values from _v2xFreqWattCurve_ and _v2xSignalWattCurve_ are added.\r\n\r\n", + "type": "number" + }, + "operationMode": { + "$ref": "#/definitions/OperationModeEnumType" + }, + "v2xFreqWattCurve": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/V2XFreqWattPointType" + }, + "minItems": 1, + "maxItems": 20 + }, + "v2xSignalWattCurve": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/V2XSignalWattPointType" + }, + "minItems": 1, + "maxItems": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startPeriod" + ] + }, + "CompositeScheduleType": { + "javaType": "CompositeSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "evseId": { + "type": "integer", + "minimum": 0.0 + }, + "duration": { + "type": "integer" + }, + "scheduleStart": { + "type": "string", + "format": "date-time" + }, + "chargingRateUnit": { + "$ref": "#/definitions/ChargingRateUnitEnumType" + }, + "chargingSchedulePeriod": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ChargingSchedulePeriodType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "evseId", + "duration", + "scheduleStart", + "chargingRateUnit", + "chargingSchedulePeriod" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "V2XFreqWattPointType": { + "description": "*(2.1)* A point of a frequency-watt curve.\r\n", + "javaType": "V2XFreqWattPoint", + "type": "object", + "additionalProperties": false, + "properties": { + "frequency": { + "description": "Net frequency in Hz.\r\n", + "type": "number" + }, + "power": { + "description": "Power in W to charge (positive) or discharge (negative) at specified frequency.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "frequency", + "power" + ] + }, + "V2XSignalWattPointType": { + "description": "*(2.1)* A point of a signal-watt curve.\r\n", + "javaType": "V2XSignalWattPoint", + "type": "object", + "additionalProperties": false, + "properties": { + "signal": { + "description": "Signal value from an AFRRSignalRequest.\r\n", + "type": "integer" + }, + "power": { + "description": "Power in W to charge (positive) or discharge (negative) at specified frequency.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "signal", + "power" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GenericStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "schedule": { + "$ref": "#/definitions/CompositeScheduleType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetDERControlRequest.json b/src/tests/schema_validation/schemas/v2.1/GetDERControlRequest.json new file mode 100644 index 00000000..788abe83 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetDERControlRequest.json @@ -0,0 +1,77 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetDERControlRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "DERControlEnumType": { + "description": "Type of control settings to retrieve. Not used when _controlId_ is provided.\r\n\r\n", + "javaType": "DERControlEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "EnterService", + "FreqDroop", + "FreqWatt", + "FixedPFAbsorb", + "FixedPFInject", + "FixedVar", + "Gradients", + "HFMustTrip", + "HFMayTrip", + "HVMustTrip", + "HVMomCess", + "HVMayTrip", + "LimitMaxDischarge", + "LFMustTrip", + "LVMustTrip", + "LVMomCess", + "LVMayTrip", + "PowerMonitoringMustTrip", + "VoltVar", + "VoltWatt", + "WattPF", + "WattVar" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "requestId": { + "description": "RequestId to be used in ReportDERControlRequest.\r\n", + "type": "integer" + }, + "isDefault": { + "description": "True: get a default DER control. False: get a scheduled control.\r\n\r\n", + "type": "boolean" + }, + "controlType": { + "$ref": "#/definitions/DERControlEnumType" + }, + "controlId": { + "description": "Id of setting to get. When omitted all settings for _controlType_ are retrieved.\r\n\r\n", + "type": "string", + "maxLength": 36 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetDERControlResponse.json b/src/tests/schema_validation/schemas/v2.1/GetDERControlResponse.json new file mode 100644 index 00000000..d5df8c14 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetDERControlResponse.json @@ -0,0 +1,73 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetDERControlResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "DERControlStatusEnumType": { + "description": "Result of operation.\r\n\r\n", + "javaType": "DERControlStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "NotSupported", + "NotFound" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/DERControlStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetDisplayMessagesRequest.json b/src/tests/schema_validation/schemas/v2.1/GetDisplayMessagesRequest.json new file mode 100644 index 00000000..c1591037 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetDisplayMessagesRequest.json @@ -0,0 +1,76 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetDisplayMessagesRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "MessagePriorityEnumType": { + "description": "If provided the Charging Station shall return Display Messages with the given priority only.\r\n", + "javaType": "MessagePriorityEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "AlwaysFront", + "InFront", + "NormalCycle" + ] + }, + "MessageStateEnumType": { + "description": "If provided the Charging Station shall return Display Messages with the given state only. \r\n", + "javaType": "MessageStateEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Charging", + "Faulted", + "Idle", + "Unavailable", + "Suspended", + "Discharging" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "If provided the Charging Station shall return Display Messages of the given ids. This field SHALL NOT contain more ids than set in <<configkey-number-of-display-messages,NumberOfDisplayMessages.maxLimit>>\r\n\r\n", + "type": "array", + "additionalItems": false, + "items": { + "type": "integer", + "minimum": 0.0 + }, + "minItems": 1 + }, + "requestId": { + "description": "The Id of this request.\r\n", + "type": "integer" + }, + "priority": { + "$ref": "#/definitions/MessagePriorityEnumType" + }, + "state": { + "$ref": "#/definitions/MessageStateEnumType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetDisplayMessagesResponse.json b/src/tests/schema_validation/schemas/v2.1/GetDisplayMessagesResponse.json new file mode 100644 index 00000000..7aa7b69a --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetDisplayMessagesResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetDisplayMessagesResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GetDisplayMessagesStatusEnumType": { + "description": "Indicates if the Charging Station has Display Messages that match the request criteria in the <<getdisplaymessagesrequest,GetDisplayMessagesRequest>>\r\n", + "javaType": "GetDisplayMessagesStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Unknown" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GetDisplayMessagesStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetInstalledCertificateIdsRequest.json b/src/tests/schema_validation/schemas/v2.1/GetInstalledCertificateIdsRequest.json new file mode 100644 index 00000000..09cd0e25 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetInstalledCertificateIdsRequest.json @@ -0,0 +1,50 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetInstalledCertificateIdsRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GetCertificateIdUseEnumType": { + "javaType": "GetCertificateIdUseEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "V2GRootCertificate", + "MORootCertificate", + "CSMSRootCertificate", + "V2GCertificateChain", + "ManufacturerRootCertificate", + "OEMRootCertificate" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "certificateType": { + "description": "Indicates the type of certificates requested. When omitted, all certificate types are requested.\r\n", + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/GetCertificateIdUseEnumType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetInstalledCertificateIdsResponse.json b/src/tests/schema_validation/schemas/v2.1/GetInstalledCertificateIdsResponse.json new file mode 100644 index 00000000..7737b7d7 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetInstalledCertificateIdsResponse.json @@ -0,0 +1,167 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetInstalledCertificateIdsResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GetCertificateIdUseEnumType": { + "description": "Indicates the type of the requested certificate(s).\r\n", + "javaType": "GetCertificateIdUseEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "V2GRootCertificate", + "MORootCertificate", + "CSMSRootCertificate", + "V2GCertificateChain", + "ManufacturerRootCertificate", + "OEMRootCertificate" + ] + }, + "GetInstalledCertificateStatusEnumType": { + "description": "Charging Station indicates if it can process the request.\r\n", + "javaType": "GetInstalledCertificateStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "NotFound" + ] + }, + "HashAlgorithmEnumType": { + "description": "Used algorithms for the hashes provided.\r\n", + "javaType": "HashAlgorithmEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "SHA256", + "SHA384", + "SHA512" + ] + }, + "CertificateHashDataChainType": { + "javaType": "CertificateHashDataChain", + "type": "object", + "additionalProperties": false, + "properties": { + "certificateHashData": { + "$ref": "#/definitions/CertificateHashDataType" + }, + "certificateType": { + "$ref": "#/definitions/GetCertificateIdUseEnumType" + }, + "childCertificateHashData": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/CertificateHashDataType" + }, + "minItems": 1, + "maxItems": 4 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "certificateType", + "certificateHashData" + ] + }, + "CertificateHashDataType": { + "javaType": "CertificateHashData", + "type": "object", + "additionalProperties": false, + "properties": { + "hashAlgorithm": { + "$ref": "#/definitions/HashAlgorithmEnumType" + }, + "issuerNameHash": { + "description": "The hash of the issuer\u2019s distinguished\r\nname (DN), that must be calculated over the DER\r\nencoding of the issuer\u2019s name field in the certificate\r\nbeing checked.\r\n\r\n", + "type": "string", + "maxLength": 128 + }, + "issuerKeyHash": { + "description": "The hash of the DER encoded public key:\r\nthe value (excluding tag and length) of the subject\r\npublic key field in the issuer\u2019s certificate.\r\n", + "type": "string", + "maxLength": 128 + }, + "serialNumber": { + "description": "The string representation of the\r\nhexadecimal value of the serial number without the\r\nprefix \"0x\" and without leading zeroes.\r\n", + "type": "string", + "maxLength": 40 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "hashAlgorithm", + "issuerNameHash", + "issuerKeyHash", + "serialNumber" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GetInstalledCertificateStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "certificateHashDataChain": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/CertificateHashDataChainType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetLocalListVersionRequest.json b/src/tests/schema_validation/schemas/v2.1/GetLocalListVersionRequest.json new file mode 100644 index 00000000..e88b1002 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetLocalListVersionRequest.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetLocalListVersionRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetLocalListVersionResponse.json b/src/tests/schema_validation/schemas/v2.1/GetLocalListVersionResponse.json new file mode 100644 index 00000000..6f9f94f1 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetLocalListVersionResponse.json @@ -0,0 +1,35 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetLocalListVersionResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "versionNumber": { + "description": "This contains the current version number of the local authorization list in the Charging Station.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "versionNumber" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetLogRequest.json b/src/tests/schema_validation/schemas/v2.1/GetLogRequest.json new file mode 100644 index 00000000..bab8b92d --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetLogRequest.json @@ -0,0 +1,92 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetLogRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "LogEnumType": { + "description": "This contains the type of log file that the Charging Station\r\nshould send.\r\n", + "javaType": "LogEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "DiagnosticsLog", + "SecurityLog", + "DataCollectorLog" + ] + }, + "LogParametersType": { + "description": "Generic class for the configuration of logging entries.\r\n", + "javaType": "LogParameters", + "type": "object", + "additionalProperties": false, + "properties": { + "remoteLocation": { + "description": "The URL of the location at the remote system where the log should be stored.\r\n", + "type": "string", + "maxLength": 2000 + }, + "oldestTimestamp": { + "description": "This contains the date and time of the oldest logging information to include in the diagnostics.\r\n", + "type": "string", + "format": "date-time" + }, + "latestTimestamp": { + "description": "This contains the date and time of the latest logging information to include in the diagnostics.\r\n", + "type": "string", + "format": "date-time" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "remoteLocation" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "log": { + "$ref": "#/definitions/LogParametersType" + }, + "logType": { + "$ref": "#/definitions/LogEnumType" + }, + "requestId": { + "description": "The Id of this request\r\n", + "type": "integer" + }, + "retries": { + "description": "This specifies how many times the Charging Station must retry to upload the log before giving up. If this field is not present, it is left to Charging Station to decide how many times it wants to retry. If the value is 0, it means: no retries.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "retryInterval": { + "description": "The interval in seconds after which a retry may be attempted. If this field is not present, it is left to Charging Station to decide how long to wait between attempts.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "logType", + "requestId", + "log" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetLogResponse.json b/src/tests/schema_validation/schemas/v2.1/GetLogResponse.json new file mode 100644 index 00000000..1cf82d9d --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetLogResponse.json @@ -0,0 +1,77 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetLogResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "LogStatusEnumType": { + "description": "This field indicates whether the Charging Station was able to accept the request.\r\n", + "javaType": "LogStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "AcceptedCanceled" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/LogStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "filename": { + "description": "This contains the name of the log file that will be uploaded. This field is not present when no logging information is available.\r\n", + "type": "string", + "maxLength": 255 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetMonitoringReportRequest.json b/src/tests/schema_validation/schemas/v2.1/GetMonitoringReportRequest.json new file mode 100644 index 00000000..d2135a0e --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetMonitoringReportRequest.json @@ -0,0 +1,158 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetMonitoringReportRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "MonitoringCriterionEnumType": { + "javaType": "MonitoringCriterionEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ThresholdMonitoring", + "DeltaMonitoring", + "PeriodicMonitoring" + ] + }, + "ComponentType": { + "description": "A physical or logical component\r\n", + "javaType": "Component", + "type": "object", + "additionalProperties": false, + "properties": { + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "name": { + "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "ComponentVariableType": { + "description": "Class to report components, variables and variable attributes and characteristics.\r\n", + "javaType": "ComponentVariable", + "type": "object", + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/definitions/ComponentType" + }, + "variable": { + "$ref": "#/definitions/VariableType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "component" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "VariableType": { + "description": "Reference key to a component-variable.\r\n", + "javaType": "Variable", + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "description": "Name of the variable. Name should be taken from the list of standardized variable names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "componentVariable": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ComponentVariableType" + }, + "minItems": 1 + }, + "requestId": { + "description": "The Id of the request.\r\n", + "type": "integer" + }, + "monitoringCriteria": { + "description": "This field contains criteria for components for which a monitoring report is requested\r\n", + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/MonitoringCriterionEnumType" + }, + "minItems": 1, + "maxItems": 3 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetMonitoringReportResponse.json b/src/tests/schema_validation/schemas/v2.1/GetMonitoringReportResponse.json new file mode 100644 index 00000000..2ba91047 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetMonitoringReportResponse.json @@ -0,0 +1,73 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetMonitoringReportResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GenericDeviceModelStatusEnumType": { + "description": "This field indicates whether the Charging Station was able to accept the request.\r\n", + "javaType": "GenericDeviceModelStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "NotSupported", + "EmptyResultSet" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GenericDeviceModelStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetPeriodicEventStreamRequest.json b/src/tests/schema_validation/schemas/v2.1/GetPeriodicEventStreamRequest.json new file mode 100644 index 00000000..2846a8d8 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetPeriodicEventStreamRequest.json @@ -0,0 +1,29 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetPeriodicEventStreamRequest", + "description": "This message is empty. It has no fields.\r\n", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetPeriodicEventStreamResponse.json b/src/tests/schema_validation/schemas/v2.1/GetPeriodicEventStreamResponse.json new file mode 100644 index 00000000..3118a1cb --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetPeriodicEventStreamResponse.json @@ -0,0 +1,84 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetPeriodicEventStreamResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ConstantStreamDataType": { + "javaType": "ConstantStreamData", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "Uniquely identifies the stream\r\n", + "type": "integer", + "minimum": 0.0 + }, + "params": { + "$ref": "#/definitions/PeriodicEventStreamParamsType" + }, + "variableMonitoringId": { + "description": "Id of monitor used to report his event. It can be a preconfigured or hardwired monitor.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "variableMonitoringId", + "params" + ] + }, + "PeriodicEventStreamParamsType": { + "javaType": "PeriodicEventStreamParams", + "type": "object", + "additionalProperties": false, + "properties": { + "interval": { + "description": "Time in seconds after which stream data is sent.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "values": { + "description": "Number of items to be sent together in stream.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "constantStreamData": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ConstantStreamDataType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetReportRequest.json b/src/tests/schema_validation/schemas/v2.1/GetReportRequest.json new file mode 100644 index 00000000..8616f7cc --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetReportRequest.json @@ -0,0 +1,159 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetReportRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ComponentCriterionEnumType": { + "javaType": "ComponentCriterionEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Active", + "Available", + "Enabled", + "Problem" + ] + }, + "ComponentType": { + "description": "A physical or logical component\r\n", + "javaType": "Component", + "type": "object", + "additionalProperties": false, + "properties": { + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "name": { + "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "ComponentVariableType": { + "description": "Class to report components, variables and variable attributes and characteristics.\r\n", + "javaType": "ComponentVariable", + "type": "object", + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/definitions/ComponentType" + }, + "variable": { + "$ref": "#/definitions/VariableType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "component" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "VariableType": { + "description": "Reference key to a component-variable.\r\n", + "javaType": "Variable", + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "description": "Name of the variable. Name should be taken from the list of standardized variable names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "componentVariable": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ComponentVariableType" + }, + "minItems": 1 + }, + "requestId": { + "description": "The Id of the request.\r\n", + "type": "integer" + }, + "componentCriteria": { + "description": "This field contains criteria for components for which a report is requested\r\n", + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ComponentCriterionEnumType" + }, + "minItems": 1, + "maxItems": 4 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetReportResponse.json b/src/tests/schema_validation/schemas/v2.1/GetReportResponse.json new file mode 100644 index 00000000..8e9789f5 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetReportResponse.json @@ -0,0 +1,73 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetReportResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GenericDeviceModelStatusEnumType": { + "description": "This field indicates whether the Charging Station was able to accept the request.\r\n", + "javaType": "GenericDeviceModelStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "NotSupported", + "EmptyResultSet" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GenericDeviceModelStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetTariffsRequest.json b/src/tests/schema_validation/schemas/v2.1/GetTariffsRequest.json new file mode 100644 index 00000000..15d98410 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetTariffsRequest.json @@ -0,0 +1,36 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetTariffsRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "evseId": { + "description": "EVSE id to get tariff from. When _evseId_ = 0, this gets tariffs from all EVSEs.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "evseId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetTariffsResponse.json b/src/tests/schema_validation/schemas/v2.1/GetTariffsResponse.json new file mode 100644 index 00000000..ba3830e9 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetTariffsResponse.json @@ -0,0 +1,137 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetTariffsResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "TariffGetStatusEnumType": { + "description": "Status of operation\r\n", + "javaType": "TariffGetStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "NoTariff" + ] + }, + "TariffKindEnumType": { + "description": "Kind of tariff (driver/default)\r\n", + "javaType": "TariffKindEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "DefaultTariff", + "DriverTariff" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "TariffAssignmentType": { + "description": "Shows assignment of tariffs to EVSE or IdToken.\r\n", + "javaType": "TariffAssignment", + "type": "object", + "additionalProperties": false, + "properties": { + "tariffId": { + "description": "Tariff id.\r\n", + "type": "string", + "maxLength": 60 + }, + "tariffKind": { + "$ref": "#/definitions/TariffKindEnumType" + }, + "validFrom": { + "description": "Date/time when this tariff become active.\r\n", + "type": "string", + "format": "date-time" + }, + "evseIds": { + "type": "array", + "additionalItems": false, + "items": { + "type": "integer", + "minimum": 0.0 + }, + "minItems": 1 + }, + "idTokens": { + "description": "IdTokens related to tariff\r\n", + "type": "array", + "additionalItems": false, + "items": { + "type": "string", + "maxLength": 255 + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "tariffId", + "tariffKind" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/TariffGetStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "tariffAssignments": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TariffAssignmentType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetTransactionStatusRequest.json b/src/tests/schema_validation/schemas/v2.1/GetTransactionStatusRequest.json new file mode 100644 index 00000000..4af5217b --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetTransactionStatusRequest.json @@ -0,0 +1,33 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetTransactionStatusRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "transactionId": { + "description": "The Id of the transaction for which the status is requested.\r\n", + "type": "string", + "maxLength": 36 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetTransactionStatusResponse.json b/src/tests/schema_validation/schemas/v2.1/GetTransactionStatusResponse.json new file mode 100644 index 00000000..cb2b88bc --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetTransactionStatusResponse.json @@ -0,0 +1,39 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetTransactionStatusResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "ongoingIndicator": { + "description": "Whether the transaction is still ongoing.\r\n", + "type": "boolean" + }, + "messagesInQueue": { + "description": "Whether there are still message to be delivered.\r\n", + "type": "boolean" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "messagesInQueue" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetVariablesRequest.json b/src/tests/schema_validation/schemas/v2.1/GetVariablesRequest.json new file mode 100644 index 00000000..624bc979 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetVariablesRequest.json @@ -0,0 +1,151 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetVariablesRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "AttributeEnumType": { + "description": "Attribute type for which value is requested. When absent, default Actual is assumed.\r\n", + "javaType": "AttributeEnum", + "type": "string", + "default": "Actual", + "additionalProperties": false, + "enum": [ + "Actual", + "Target", + "MinSet", + "MaxSet" + ] + }, + "ComponentType": { + "description": "A physical or logical component\r\n", + "javaType": "Component", + "type": "object", + "additionalProperties": false, + "properties": { + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "name": { + "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "GetVariableDataType": { + "description": "Class to hold parameters for GetVariables request.\r\n", + "javaType": "GetVariableData", + "type": "object", + "additionalProperties": false, + "properties": { + "attributeType": { + "$ref": "#/definitions/AttributeEnumType" + }, + "component": { + "$ref": "#/definitions/ComponentType" + }, + "variable": { + "$ref": "#/definitions/VariableType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "component", + "variable" + ] + }, + "VariableType": { + "description": "Reference key to a component-variable.\r\n", + "javaType": "Variable", + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "description": "Name of the variable. Name should be taken from the list of standardized variable names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "getVariableData": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/GetVariableDataType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "getVariableData" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/GetVariablesResponse.json b/src/tests/schema_validation/schemas/v2.1/GetVariablesResponse.json new file mode 100644 index 00000000..a11572dd --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/GetVariablesResponse.json @@ -0,0 +1,198 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:GetVariablesResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "AttributeEnumType": { + "javaType": "AttributeEnum", + "type": "string", + "default": "Actual", + "additionalProperties": false, + "enum": [ + "Actual", + "Target", + "MinSet", + "MaxSet" + ] + }, + "GetVariableStatusEnumType": { + "javaType": "GetVariableStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "UnknownComponent", + "UnknownVariable", + "NotSupportedAttributeType" + ] + }, + "ComponentType": { + "description": "A physical or logical component\r\n", + "javaType": "Component", + "type": "object", + "additionalProperties": false, + "properties": { + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "name": { + "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "GetVariableResultType": { + "description": "Class to hold results of GetVariables request.\r\n", + "javaType": "GetVariableResult", + "type": "object", + "additionalProperties": false, + "properties": { + "attributeStatus": { + "$ref": "#/definitions/GetVariableStatusEnumType" + }, + "attributeStatusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "attributeType": { + "$ref": "#/definitions/AttributeEnumType" + }, + "attributeValue": { + "description": "Value of requested attribute type of component-variable. This field can only be empty when the given status is NOT accepted.\r\n\r\nThe Configuration Variable <<configkey-reporting-value-size,ReportingValueSize>> can be used to limit GetVariableResult.attributeValue, VariableAttribute.value and EventData.actualValue. The max size of these values will always remain equal. \r\n\r\n", + "type": "string", + "maxLength": 2500 + }, + "component": { + "$ref": "#/definitions/ComponentType" + }, + "variable": { + "$ref": "#/definitions/VariableType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "attributeStatus", + "component", + "variable" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "VariableType": { + "description": "Reference key to a component-variable.\r\n", + "javaType": "Variable", + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "description": "Name of the variable. Name should be taken from the list of standardized variable names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "getVariableResult": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/GetVariableResultType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "getVariableResult" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/HeartbeatRequest.json b/src/tests/schema_validation/schemas/v2.1/HeartbeatRequest.json new file mode 100644 index 00000000..5573902c --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/HeartbeatRequest.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:HeartbeatRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/HeartbeatResponse.json b/src/tests/schema_validation/schemas/v2.1/HeartbeatResponse.json new file mode 100644 index 00000000..5f2e0792 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/HeartbeatResponse.json @@ -0,0 +1,36 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:HeartbeatResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "currentTime": { + "description": "Contains the current time of the CSMS.\r\n", + "type": "string", + "format": "date-time" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "currentTime" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/InstallCertificateRequest.json b/src/tests/schema_validation/schemas/v2.1/InstallCertificateRequest.json new file mode 100644 index 00000000..4fc8ecbe --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/InstallCertificateRequest.json @@ -0,0 +1,53 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:InstallCertificateRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "InstallCertificateUseEnumType": { + "description": "Indicates the certificate type that is sent.\r\n", + "javaType": "InstallCertificateUseEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "V2GRootCertificate", + "MORootCertificate", + "ManufacturerRootCertificate", + "CSMSRootCertificate", + "OEMRootCertificate" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "certificateType": { + "$ref": "#/definitions/InstallCertificateUseEnumType" + }, + "certificate": { + "description": "A PEM encoded X.509 certificate.\r\n", + "type": "string", + "maxLength": 10000 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "certificateType", + "certificate" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/InstallCertificateResponse.json b/src/tests/schema_validation/schemas/v2.1/InstallCertificateResponse.json new file mode 100644 index 00000000..36684abc --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/InstallCertificateResponse.json @@ -0,0 +1,72 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:InstallCertificateResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "InstallCertificateStatusEnumType": { + "description": "Charging Station indicates if installation was successful.\r\n", + "javaType": "InstallCertificateStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "Failed" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/InstallCertificateStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/LogStatusNotificationRequest.json b/src/tests/schema_validation/schemas/v2.1/LogStatusNotificationRequest.json new file mode 100644 index 00000000..37ea4171 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/LogStatusNotificationRequest.json @@ -0,0 +1,81 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:LogStatusNotificationRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "UploadLogStatusEnumType": { + "description": "This contains the status of the log upload.\r\n", + "javaType": "UploadLogStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "BadMessage", + "Idle", + "NotSupportedOperation", + "PermissionDenied", + "Uploaded", + "UploadFailure", + "Uploading", + "AcceptedCanceled" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/UploadLogStatusEnumType" + }, + "requestId": { + "description": "The request id that was provided in GetLogRequest that started this log upload. This field is mandatory,\r\nunless the message was triggered by a TriggerMessageRequest AND there is no log upload ongoing.\r\n", + "type": "integer" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/LogStatusNotificationResponse.json b/src/tests/schema_validation/schemas/v2.1/LogStatusNotificationResponse.json new file mode 100644 index 00000000..e96ee232 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/LogStatusNotificationResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:LogStatusNotificationResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/MeterValuesRequest.json b/src/tests/schema_validation/schemas/v2.1/MeterValuesRequest.json new file mode 100644 index 00000000..6ef5ed88 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/MeterValuesRequest.json @@ -0,0 +1,281 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:MeterValuesRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "LocationEnumType": { + "description": "Indicates where the measured value has been sampled. Default = \"Outlet\"\r\n\r\n", + "javaType": "LocationEnum", + "type": "string", + "default": "Outlet", + "additionalProperties": false, + "enum": [ + "Body", + "Cable", + "EV", + "Inlet", + "Outlet", + "Upstream" + ] + }, + "MeasurandEnumType": { + "description": "Type of measurement. Default = \"Energy.Active.Import.Register\"\r\n", + "javaType": "MeasurandEnum", + "type": "string", + "default": "Energy.Active.Import.Register", + "additionalProperties": false, + "enum": [ + "Current.Export", + "Current.Export.Offered", + "Current.Export.Minimum", + "Current.Import", + "Current.Import.Offered", + "Current.Import.Minimum", + "Current.Offered", + "Display.PresentSOC", + "Display.MinimumSOC", + "Display.TargetSOC", + "Display.MaximumSOC", + "Display.RemainingTimeToMinimumSOC", + "Display.RemainingTimeToTargetSOC", + "Display.RemainingTimeToMaximumSOC", + "Display.ChargingComplete", + "Display.BatteryEnergyCapacity", + "Display.InletHot", + "Energy.Active.Export.Interval", + "Energy.Active.Export.Register", + "Energy.Active.Import.Interval", + "Energy.Active.Import.Register", + "Energy.Active.Import.CableLoss", + "Energy.Active.Import.LocalGeneration.Register", + "Energy.Active.Net", + "Energy.Active.Setpoint.Interval", + "Energy.Apparent.Export", + "Energy.Apparent.Import", + "Energy.Apparent.Net", + "Energy.Reactive.Export.Interval", + "Energy.Reactive.Export.Register", + "Energy.Reactive.Import.Interval", + "Energy.Reactive.Import.Register", + "Energy.Reactive.Net", + "EnergyRequest.Target", + "EnergyRequest.Minimum", + "EnergyRequest.Maximum", + "EnergyRequest.Minimum.V2X", + "EnergyRequest.Maximum.V2X", + "EnergyRequest.Bulk", + "Frequency", + "Power.Active.Export", + "Power.Active.Import", + "Power.Active.Setpoint", + "Power.Active.Residual", + "Power.Export.Minimum", + "Power.Export.Offered", + "Power.Factor", + "Power.Import.Offered", + "Power.Import.Minimum", + "Power.Offered", + "Power.Reactive.Export", + "Power.Reactive.Import", + "SoC", + "Voltage", + "Voltage.Minimum", + "Voltage.Maximum" + ] + }, + "PhaseEnumType": { + "description": "Indicates how the measured value is to be interpreted. For instance between L1 and neutral (L1-N) Please note that not all values of phase are applicable to all Measurands. When phase is absent, the measured value is interpreted as an overall value.\r\n", + "javaType": "PhaseEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "L1", + "L2", + "L3", + "N", + "L1-N", + "L2-N", + "L3-N", + "L1-L2", + "L2-L3", + "L3-L1" + ] + }, + "ReadingContextEnumType": { + "description": "Type of detail value: start, end or sample. Default = \"Sample.Periodic\"\r\n", + "javaType": "ReadingContextEnum", + "type": "string", + "default": "Sample.Periodic", + "additionalProperties": false, + "enum": [ + "Interruption.Begin", + "Interruption.End", + "Other", + "Sample.Clock", + "Sample.Periodic", + "Transaction.Begin", + "Transaction.End", + "Trigger" + ] + }, + "MeterValueType": { + "description": "Collection of one or more sampled values in MeterValuesRequest and TransactionEvent. All sampled values in a MeterValue are sampled at the same point in time.\r\n", + "javaType": "MeterValue", + "type": "object", + "additionalProperties": false, + "properties": { + "sampledValue": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/SampledValueType" + }, + "minItems": 1 + }, + "timestamp": { + "description": "Timestamp for measured value(s).\r\n", + "type": "string", + "format": "date-time" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timestamp", + "sampledValue" + ] + }, + "SampledValueType": { + "description": "Single sampled value in MeterValues. Each value can be accompanied by optional fields.\r\n\r\nTo save on mobile data usage, default values of all of the optional fields are such that. The value without any additional fields will be interpreted, as a register reading of active import energy in Wh (Watt-hour) units.\r\n", + "javaType": "SampledValue", + "type": "object", + "additionalProperties": false, + "properties": { + "value": { + "description": "Indicates the measured value.\r\n\r\n", + "type": "number" + }, + "measurand": { + "$ref": "#/definitions/MeasurandEnumType" + }, + "context": { + "$ref": "#/definitions/ReadingContextEnumType" + }, + "phase": { + "$ref": "#/definitions/PhaseEnumType" + }, + "location": { + "$ref": "#/definitions/LocationEnumType" + }, + "signedMeterValue": { + "$ref": "#/definitions/SignedMeterValueType" + }, + "unitOfMeasure": { + "$ref": "#/definitions/UnitOfMeasureType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "value" + ] + }, + "SignedMeterValueType": { + "description": "Represent a signed version of the meter value.\r\n", + "javaType": "SignedMeterValue", + "type": "object", + "additionalProperties": false, + "properties": { + "signedMeterData": { + "description": "Base64 encoded, contains the signed data from the meter in the format specified in _encodingMethod_, which might contain more then just the meter value. It can contain information like timestamps, reference to a customer etc.\r\n", + "type": "string", + "maxLength": 32768 + }, + "signingMethod": { + "description": "*(2.1)* Method used to create the digital signature. Optional, if already included in _signedMeterData_. Standard values for this are defined in Appendix as SigningMethodEnumStringType.\r\n", + "type": "string", + "maxLength": 50 + }, + "encodingMethod": { + "description": "Format used by the energy meter to encode the meter data. For example: OCMF or EDL.\r\n", + "type": "string", + "maxLength": 50 + }, + "publicKey": { + "description": "*(2.1)* Base64 encoded, sending depends on configuration variable _PublicKeyWithSignedMeterValue_.\r\n", + "type": "string", + "maxLength": 2500 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "signedMeterData", + "encodingMethod" + ] + }, + "UnitOfMeasureType": { + "description": "Represents a UnitOfMeasure with a multiplier\r\n", + "javaType": "UnitOfMeasure", + "type": "object", + "additionalProperties": false, + "properties": { + "unit": { + "description": "Unit of the value. Default = \"Wh\" if the (default) measurand is an \"Energy\" type.\r\nThis field SHALL use a value from the list Standardized Units of Measurements in Part 2 Appendices. \r\nIf an applicable unit is available in that list, otherwise a \"custom\" unit might be used.\r\n", + "type": "string", + "default": "Wh", + "maxLength": 20 + }, + "multiplier": { + "description": "Multiplier, this value represents the exponent to base 10. I.e. multiplier 3 means 10 raised to the 3rd power. Default is 0. +\r\nThe _multiplier_ only multiplies the value of the measurand. It does not specify a conversion between units, for example, kW and W.\r\n", + "type": "integer", + "default": 0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "evseId": { + "description": "This contains a number (>0) designating an EVSE of the Charging Station. \u20180\u2019 (zero) is used to designate the main power meter.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "meterValue": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/MeterValueType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "evseId", + "meterValue" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/MeterValuesResponse.json b/src/tests/schema_validation/schemas/v2.1/MeterValuesResponse.json new file mode 100644 index 00000000..424c037a --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/MeterValuesResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:MeterValuesResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyAllowedEnergyTransferRequest.json b/src/tests/schema_validation/schemas/v2.1/NotifyAllowedEnergyTransferRequest.json new file mode 100644 index 00000000..2a4135a4 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyAllowedEnergyTransferRequest.json @@ -0,0 +1,64 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyAllowedEnergyTransferRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "EnergyTransferModeEnumType": { + "javaType": "EnergyTransferModeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "AC_single_phase", + "AC_two_phase", + "AC_three_phase", + "DC", + "AC_BPT", + "AC_BPT_DER", + "AC_DER", + "DC_BPT", + "DC_ACDP", + "DC_ACDP_BPT", + "WPT" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "transactionId": { + "description": "The transaction for which the allowed energy transfer is allowed.\r\n", + "type": "string", + "maxLength": 36 + }, + "allowedEnergyTransfer": { + "description": "Modes of energy transfer that are accepted by CSMS.\r\n", + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/EnergyTransferModeEnumType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "transactionId", + "allowedEnergyTransfer" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyAllowedEnergyTransferResponse.json b/src/tests/schema_validation/schemas/v2.1/NotifyAllowedEnergyTransferResponse.json new file mode 100644 index 00000000..289ec788 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyAllowedEnergyTransferResponse.json @@ -0,0 +1,70 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyAllowedEnergyTransferResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "NotifyAllowedEnergyTransferStatusEnumType": { + "javaType": "NotifyAllowedEnergyTransferStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/NotifyAllowedEnergyTransferStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyChargingLimitRequest.json b/src/tests/schema_validation/schemas/v2.1/NotifyChargingLimitRequest.json new file mode 100644 index 00000000..65f152b7 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyChargingLimitRequest.json @@ -0,0 +1,897 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyChargingLimitRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ChargingRateUnitEnumType": { + "description": "The unit of measure in which limits and setpoints are expressed.\r\n", + "javaType": "ChargingRateUnitEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "W", + "A" + ] + }, + "CostKindEnumType": { + "description": "The kind of cost referred to in the message element amount\r\n", + "javaType": "CostKindEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "CarbonDioxideEmission", + "RelativePricePercentage", + "RenewableGenerationPercentage" + ] + }, + "OperationModeEnumType": { + "description": "*(2.1)* Charging operation mode to use during this time interval. When absent defaults to `ChargingOnly`.\r\n", + "javaType": "OperationModeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Idle", + "ChargingOnly", + "CentralSetpoint", + "ExternalSetpoint", + "ExternalLimits", + "CentralFrequency", + "LocalFrequency", + "LocalLoadBalancing" + ] + }, + "AbsolutePriceScheduleType": { + "description": "The AbsolutePriceScheduleType is modeled after the same type that is defined in ISO 15118-20, such that if it is supplied by an EMSP as a signed EXI message, the conversion from EXI to JSON (in OCPP) and back to EXI (for ISO 15118-20) does not change the digest and therefore does not invalidate the signature.\r\n\r\nimage::images/AbsolutePriceSchedule-Simple.png[]\r\n\r\n", + "javaType": "AbsolutePriceSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "timeAnchor": { + "description": "Starting point of price schedule.\r\n", + "type": "string", + "format": "date-time" + }, + "priceScheduleID": { + "description": "Unique ID of price schedule\r\n", + "type": "integer", + "minimum": 0.0 + }, + "priceScheduleDescription": { + "description": "Description of the price schedule.\r\n", + "type": "string", + "maxLength": 160 + }, + "currency": { + "description": "Currency according to ISO 4217.\r\n", + "type": "string", + "maxLength": 3 + }, + "language": { + "description": "String that indicates what language is used for the human readable strings in the price schedule. Based on ISO 639.\r\n", + "type": "string", + "maxLength": 8 + }, + "priceAlgorithm": { + "description": "A string in URN notation which shall uniquely identify an algorithm that defines how to compute an energy fee sum for a specific power profile based on the EnergyFee information from the PriceRule elements.\r\n", + "type": "string", + "maxLength": 2000 + }, + "minimumCost": { + "$ref": "#/definitions/RationalNumberType" + }, + "maximumCost": { + "$ref": "#/definitions/RationalNumberType" + }, + "priceRuleStacks": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/PriceRuleStackType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "taxRules": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRuleType" + }, + "minItems": 1, + "maxItems": 10 + }, + "overstayRuleList": { + "$ref": "#/definitions/OverstayRuleListType" + }, + "additionalSelectedServices": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AdditionalSelectedServicesType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timeAnchor", + "priceScheduleID", + "currency", + "language", + "priceAlgorithm", + "priceRuleStacks" + ] + }, + "AdditionalSelectedServicesType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "AdditionalSelectedServices", + "type": "object", + "additionalProperties": false, + "properties": { + "serviceFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "serviceName": { + "description": "Human readable string to identify this service.\r\n", + "type": "string", + "maxLength": 80 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "serviceName", + "serviceFee" + ] + }, + "ChargingLimitType": { + "javaType": "ChargingLimit", + "type": "object", + "additionalProperties": false, + "properties": { + "chargingLimitSource": { + "description": "Represents the source of the charging limit. Values defined in appendix as ChargingLimitSourceEnumStringType.\r\n", + "type": "string", + "maxLength": 20 + }, + "isLocalGeneration": { + "description": "*(2.1)* True when the reported limit concerns local generation that is providing extra capacity, instead of a limitation.\r\n", + "type": "boolean" + }, + "isGridCritical": { + "description": "Indicates whether the charging limit is critical for the grid.\r\n", + "type": "boolean" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "chargingLimitSource" + ] + }, + "ChargingSchedulePeriodType": { + "description": "Charging schedule period structure defines a time period in a charging schedule. It is used in: CompositeScheduleType and in ChargingScheduleType. When used in a NotifyEVChargingScheduleRequest only _startPeriod_, _limit_, _limit_L2_, _limit_L3_ are relevant.\r\n", + "javaType": "ChargingSchedulePeriod", + "type": "object", + "additionalProperties": false, + "properties": { + "startPeriod": { + "description": "Start of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period.\r\n", + "type": "integer" + }, + "limit": { + "description": "Optional only when not required by the _operationMode_, as in CentralSetpoint, ExternalSetpoint, ExternalLimits, LocalFrequency, LocalLoadBalancing. +\r\nCharging rate limit during the schedule period, in the applicable _chargingRateUnit_. \r\nThis SHOULD be a non-negative value; a negative value is only supported for backwards compatibility with older systems that use a negative value to specify a discharging limit.\r\nWhen using _chargingRateUnit_ = `W`, this field represents the sum of the power of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "limit_L2": { + "description": "*(2.1)* Charging rate limit on phase L2 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "limit_L3": { + "description": "*(2.1)* Charging rate limit on phase L3 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "numberPhases": { + "description": "The number of phases that can be used for charging. +\r\nFor a DC EVSE this field should be omitted. +\r\nFor an AC EVSE a default value of _numberPhases_ = 3 will be assumed if the field is absent.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 3.0 + }, + "phaseToUse": { + "description": "Values: 1..3, Used if numberPhases=1 and if the EVSE is capable of switching the phase connected to the EV, i.e. ACPhaseSwitchingSupported is defined and true. It\u2019s not allowed unless both conditions above are true. If both conditions are true, and phaseToUse is omitted, the Charging Station / EVSE will make the selection on its own.\r\n\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 3.0 + }, + "dischargeLimit": { + "description": "*(2.1)* Limit in _chargingRateUnit_ that the EV is allowed to discharge with. Note, these are negative values in order to be consistent with _setpoint_, which can be positive and negative. +\r\nFor AC this field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L2": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L2 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L3": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L3 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "setpoint": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow as close as possible. Use negative values for discharging. +\r\nWhen a limit and/or _dischargeLimit_ are given the overshoot when following _setpoint_ must remain within these values.\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpoint_L2": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L2 as close as possible.\r\n", + "type": "number" + }, + "setpoint_L3": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L3 as close as possible. \r\n", + "type": "number" + }, + "setpointReactive": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow as closely as possible. Positive values for inductive, negative for capacitive reactive power or current. +\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpointReactive_L2": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L2 as closely as possible. \r\n", + "type": "number" + }, + "setpointReactive_L3": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L3 as closely as possible. \r\n", + "type": "number" + }, + "preconditioningRequest": { + "description": "*(2.1)* If true, the EV should attempt to keep the BMS preconditioned for this time interval.\r\n", + "type": "boolean" + }, + "evseSleep": { + "description": "*(2.1)* If true, the EVSE must turn off power electronics/modules associated with this transaction. Default value when absent is false.\r\n", + "type": "boolean" + }, + "v2xBaseline": { + "description": "*(2.1)* Power value that, when present, is used as a baseline on top of which values from _v2xFreqWattCurve_ and _v2xSignalWattCurve_ are added.\r\n\r\n", + "type": "number" + }, + "operationMode": { + "$ref": "#/definitions/OperationModeEnumType" + }, + "v2xFreqWattCurve": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/V2XFreqWattPointType" + }, + "minItems": 1, + "maxItems": 20 + }, + "v2xSignalWattCurve": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/V2XSignalWattPointType" + }, + "minItems": 1, + "maxItems": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startPeriod" + ] + }, + "ChargingScheduleType": { + "description": "Charging schedule structure defines a list of charging periods, as used in: NotifyEVChargingScheduleRequest and ChargingProfileType. When used in a NotifyEVChargingScheduleRequest only _duration_ and _chargingSchedulePeriod_ are relevant and _chargingRateUnit_ must be 'W'. +\r\nAn ISO 15118-20 session may provide either an _absolutePriceSchedule_ or a _priceLevelSchedule_. An ISO 15118-2 session can only provide a_salesTariff_ element. The field _digestValue_ is used when price schedule or sales tariff are signed.\r\n\r\nimage::images/ChargingSchedule-Simple.png[]\r\n\r\n\r\n", + "javaType": "ChargingSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "limitAtSoC": { + "$ref": "#/definitions/LimitAtSoCType" + }, + "startSchedule": { + "description": "Starting point of an absolute schedule or recurring schedule.\r\n", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration of the charging schedule in seconds. If the duration is left empty, the last period will continue indefinitely or until end of the transaction in case startSchedule is absent.\r\n", + "type": "integer" + }, + "chargingRateUnit": { + "$ref": "#/definitions/ChargingRateUnitEnumType" + }, + "minChargingRate": { + "description": "Minimum charging rate supported by the EV. The unit of measure is defined by the chargingRateUnit. This parameter is intended to be used by a local smart charging algorithm to optimize the power allocation for in the case a charging process is inefficient at lower charging rates. \r\n", + "type": "number" + }, + "powerTolerance": { + "description": "*(2.1)* Power tolerance when following EVPowerProfile.\r\n\r\n", + "type": "number" + }, + "signatureId": { + "description": "*(2.1)* Id of this element for referencing in a signature.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "digestValue": { + "description": "*(2.1)* Base64 encoded hash (SHA256 for ISO 15118-2, SHA512 for ISO 15118-20) of the EXI price schedule element. Used in signature.\r\n", + "type": "string", + "maxLength": 88 + }, + "useLocalTime": { + "description": "*(2.1)* Defaults to false. When true, disregard time zone offset in dateTime fields of _ChargingScheduleType_ and use unqualified local time at Charging Station instead.\r\n This allows the same `Absolute` or `Recurring` charging profile to be used in both summer and winter time.\r\n\r\n", + "type": "boolean" + }, + "chargingSchedulePeriod": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ChargingSchedulePeriodType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "randomizedDelay": { + "description": "*(2.1)* Defaults to 0. When _randomizedDelay_ not equals zero, then the start of each <<cmn_chargingscheduleperiodtype,ChargingSchedulePeriodType>> is delayed by a randomly chosen number of seconds between 0 and _randomizedDelay_. Only allowed for TxProfile and TxDefaultProfile.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "salesTariff": { + "$ref": "#/definitions/SalesTariffType" + }, + "absolutePriceSchedule": { + "$ref": "#/definitions/AbsolutePriceScheduleType" + }, + "priceLevelSchedule": { + "$ref": "#/definitions/PriceLevelScheduleType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "chargingRateUnit", + "chargingSchedulePeriod" + ] + }, + "ConsumptionCostType": { + "javaType": "ConsumptionCost", + "type": "object", + "additionalProperties": false, + "properties": { + "startValue": { + "description": "The lowest level of consumption that defines the starting point of this consumption block. The block interval extends to the start of the next interval.\r\n", + "type": "number" + }, + "cost": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/CostType" + }, + "minItems": 1, + "maxItems": 3 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startValue", + "cost" + ] + }, + "CostType": { + "javaType": "Cost", + "type": "object", + "additionalProperties": false, + "properties": { + "costKind": { + "$ref": "#/definitions/CostKindEnumType" + }, + "amount": { + "description": "The estimated or actual cost per kWh\r\n", + "type": "integer" + }, + "amountMultiplier": { + "description": "Values: -3..3, The amountMultiplier defines the exponent to base 10 (dec). The final value is determined by: amount * 10 ^ amountMultiplier\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "costKind", + "amount" + ] + }, + "LimitAtSoCType": { + "javaType": "LimitAtSoC", + "type": "object", + "additionalProperties": false, + "properties": { + "soc": { + "description": "The SoC value beyond which the charging rate limit should be applied.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "limit": { + "description": "Charging rate limit beyond the SoC value.\r\nThe unit is defined by _chargingSchedule.chargingRateUnit_.\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "soc", + "limit" + ] + }, + "OverstayRuleListType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "OverstayRuleList", + "type": "object", + "additionalProperties": false, + "properties": { + "overstayPowerThreshold": { + "$ref": "#/definitions/RationalNumberType" + }, + "overstayRule": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/OverstayRuleType" + }, + "minItems": 1, + "maxItems": 5 + }, + "overstayTimeThreshold": { + "description": "Time till overstay is applied in seconds.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "overstayRule" + ] + }, + "OverstayRuleType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "OverstayRule", + "type": "object", + "additionalProperties": false, + "properties": { + "overstayFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "overstayRuleDescription": { + "description": "Human readable string to identify the overstay rule.\r\n", + "type": "string", + "maxLength": 32 + }, + "startTime": { + "description": "Time in seconds after trigger of the parent Overstay Rules for this particular fee to apply.\r\n", + "type": "integer" + }, + "overstayFeePeriod": { + "description": "Time till overstay will be reapplied\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startTime", + "overstayFeePeriod", + "overstayFee" + ] + }, + "PriceLevelScheduleEntryType": { + "description": "Part of ISO 15118-20 price schedule.\r\n", + "javaType": "PriceLevelScheduleEntry", + "type": "object", + "additionalProperties": false, + "properties": { + "duration": { + "description": "The amount of seconds that define the duration of this given PriceLevelScheduleEntry.\r\n", + "type": "integer" + }, + "priceLevel": { + "description": "Defines the price level of this PriceLevelScheduleEntry (referring to NumberOfPriceLevels). Small values for the PriceLevel represent a cheaper PriceLevelScheduleEntry. Large values for the PriceLevel represent a more expensive PriceLevelScheduleEntry.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "duration", + "priceLevel" + ] + }, + "PriceLevelScheduleType": { + "description": "The PriceLevelScheduleType is modeled after the same type that is defined in ISO 15118-20, such that if it is supplied by an EMSP as a signed EXI message, the conversion from EXI to JSON (in OCPP) and back to EXI (for ISO 15118-20) does not change the digest and therefore does not invalidate the signature.\r\n", + "javaType": "PriceLevelSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "priceLevelScheduleEntries": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/PriceLevelScheduleEntryType" + }, + "minItems": 1, + "maxItems": 100 + }, + "timeAnchor": { + "description": "Starting point of this price schedule.\r\n", + "type": "string", + "format": "date-time" + }, + "priceScheduleId": { + "description": "Unique ID of this price schedule.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "priceScheduleDescription": { + "description": "Description of the price schedule.\r\n", + "type": "string", + "maxLength": 32 + }, + "numberOfPriceLevels": { + "description": "Defines the overall number of distinct price level elements used across all PriceLevelSchedules.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timeAnchor", + "priceScheduleId", + "numberOfPriceLevels", + "priceLevelScheduleEntries" + ] + }, + "PriceRuleStackType": { + "description": "Part of ISO 15118-20 price schedule.\r\n", + "javaType": "PriceRuleStack", + "type": "object", + "additionalProperties": false, + "properties": { + "duration": { + "description": "Duration of the stack of price rules. he amount of seconds that define the duration of the given PriceRule(s).\r\n", + "type": "integer" + }, + "priceRule": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/PriceRuleType" + }, + "minItems": 1, + "maxItems": 8 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "duration", + "priceRule" + ] + }, + "PriceRuleType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "PriceRule", + "type": "object", + "additionalProperties": false, + "properties": { + "parkingFeePeriod": { + "description": "The duration of the parking fee period (in seconds).\r\nWhen the time enters into a ParkingFeePeriod, the ParkingFee will apply to the session. .\r\n", + "type": "integer" + }, + "carbonDioxideEmission": { + "description": "Number of grams of CO2 per kWh.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "renewableGenerationPercentage": { + "description": "Percentage of the power that is created by renewable resources.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "energyFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "parkingFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "powerRangeStart": { + "$ref": "#/definitions/RationalNumberType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "energyFee", + "powerRangeStart" + ] + }, + "RationalNumberType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "RationalNumber", + "type": "object", + "additionalProperties": false, + "properties": { + "exponent": { + "description": "The exponent to base 10 (dec)\r\n", + "type": "integer" + }, + "value": { + "description": "Value which shall be multiplied.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "exponent", + "value" + ] + }, + "RelativeTimeIntervalType": { + "javaType": "RelativeTimeInterval", + "type": "object", + "additionalProperties": false, + "properties": { + "start": { + "description": "Start of the interval, in seconds from NOW.\r\n", + "type": "integer" + }, + "duration": { + "description": "Duration of the interval, in seconds.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "start" + ] + }, + "SalesTariffEntryType": { + "javaType": "SalesTariffEntry", + "type": "object", + "additionalProperties": false, + "properties": { + "relativeTimeInterval": { + "$ref": "#/definitions/RelativeTimeIntervalType" + }, + "ePriceLevel": { + "description": "Defines the price level of this SalesTariffEntry (referring to NumEPriceLevels). Small values for the EPriceLevel represent a cheaper TariffEntry. Large values for the EPriceLevel represent a more expensive TariffEntry.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "consumptionCost": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ConsumptionCostType" + }, + "minItems": 1, + "maxItems": 3 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "relativeTimeInterval" + ] + }, + "SalesTariffType": { + "description": "A SalesTariff provided by a Mobility Operator (EMSP) .\r\nNOTE: This dataType is based on dataTypes from <<ref-ISOIEC15118-2,ISO 15118-2>>.\r\n", + "javaType": "SalesTariff", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "SalesTariff identifier used to identify one sales tariff. An SAID remains a unique identifier for one schedule throughout a charging session.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "salesTariffDescription": { + "description": "A human readable title/short description of the sales tariff e.g. for HMI display purposes.\r\n", + "type": "string", + "maxLength": 32 + }, + "numEPriceLevels": { + "description": "Defines the overall number of distinct price levels used across all provided SalesTariff elements.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "salesTariffEntry": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/SalesTariffEntryType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "salesTariffEntry" + ] + }, + "TaxRuleType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "TaxRule", + "type": "object", + "additionalProperties": false, + "properties": { + "taxRuleID": { + "description": "Id for the tax rule.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "taxRuleName": { + "description": "Human readable string to identify the tax rule.\r\n", + "type": "string", + "maxLength": 100 + }, + "taxIncludedInPrice": { + "description": "Indicates whether the tax is included in any price or not.\r\n", + "type": "boolean" + }, + "appliesToEnergyFee": { + "description": "Indicates whether this tax applies to Energy Fees.\r\n", + "type": "boolean" + }, + "appliesToParkingFee": { + "description": "Indicates whether this tax applies to Parking Fees.\r\n\r\n", + "type": "boolean" + }, + "appliesToOverstayFee": { + "description": "Indicates whether this tax applies to Overstay Fees.\r\n\r\n", + "type": "boolean" + }, + "appliesToMinimumMaximumCost": { + "description": "Indicates whether this tax applies to Minimum/Maximum Cost.\r\n\r\n", + "type": "boolean" + }, + "taxRate": { + "$ref": "#/definitions/RationalNumberType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "taxRuleID", + "appliesToEnergyFee", + "appliesToParkingFee", + "appliesToOverstayFee", + "appliesToMinimumMaximumCost", + "taxRate" + ] + }, + "V2XFreqWattPointType": { + "description": "*(2.1)* A point of a frequency-watt curve.\r\n", + "javaType": "V2XFreqWattPoint", + "type": "object", + "additionalProperties": false, + "properties": { + "frequency": { + "description": "Net frequency in Hz.\r\n", + "type": "number" + }, + "power": { + "description": "Power in W to charge (positive) or discharge (negative) at specified frequency.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "frequency", + "power" + ] + }, + "V2XSignalWattPointType": { + "description": "*(2.1)* A point of a signal-watt curve.\r\n", + "javaType": "V2XSignalWattPoint", + "type": "object", + "additionalProperties": false, + "properties": { + "signal": { + "description": "Signal value from an AFRRSignalRequest.\r\n", + "type": "integer" + }, + "power": { + "description": "Power in W to charge (positive) or discharge (negative) at specified frequency.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "signal", + "power" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "chargingSchedule": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ChargingScheduleType" + }, + "minItems": 1 + }, + "evseId": { + "description": "The EVSE to which the charging limit is set. If absent or when zero, it applies to the entire Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "chargingLimit": { + "$ref": "#/definitions/ChargingLimitType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "chargingLimit" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyChargingLimitResponse.json b/src/tests/schema_validation/schemas/v2.1/NotifyChargingLimitResponse.json new file mode 100644 index 00000000..0708d390 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyChargingLimitResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyChargingLimitResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyCustomerInformationRequest.json b/src/tests/schema_validation/schemas/v2.1/NotifyCustomerInformationRequest.json new file mode 100644 index 00000000..157df572 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyCustomerInformationRequest.json @@ -0,0 +1,59 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyCustomerInformationRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "data": { + "description": "(Part of) the requested data. No format specified in which the data is returned. Should be human readable.\r\n", + "type": "string", + "maxLength": 512 + }, + "tbc": { + "description": "\u201cto be continued\u201d indicator. Indicates whether another part of the monitoringData follows in an upcoming notifyMonitoringReportRequest message. Default value when omitted is false.\r\n", + "type": "boolean", + "default": false + }, + "seqNo": { + "description": "Sequence number of this message. First message starts at 0.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "generatedAt": { + "description": " Timestamp of the moment this message was generated at the Charging Station.\r\n", + "type": "string", + "format": "date-time" + }, + "requestId": { + "description": "The Id of the request.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "data", + "seqNo", + "generatedAt", + "requestId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyCustomerInformationResponse.json b/src/tests/schema_validation/schemas/v2.1/NotifyCustomerInformationResponse.json new file mode 100644 index 00000000..b5206885 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyCustomerInformationResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyCustomerInformationResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyDERAlarmRequest.json b/src/tests/schema_validation/schemas/v2.1/NotifyDERAlarmRequest.json new file mode 100644 index 00000000..aa73a154 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyDERAlarmRequest.json @@ -0,0 +1,101 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyDERAlarmRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "DERControlEnumType": { + "description": "Name of DER control, e.g. LFMustTrip\r\n", + "javaType": "DERControlEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "EnterService", + "FreqDroop", + "FreqWatt", + "FixedPFAbsorb", + "FixedPFInject", + "FixedVar", + "Gradients", + "HFMustTrip", + "HFMayTrip", + "HVMustTrip", + "HVMomCess", + "HVMayTrip", + "LimitMaxDischarge", + "LFMustTrip", + "LVMustTrip", + "LVMomCess", + "LVMayTrip", + "PowerMonitoringMustTrip", + "VoltVar", + "VoltWatt", + "WattPF", + "WattVar" + ] + }, + "GridEventFaultEnumType": { + "description": "Type of grid event that caused this\r\n\r\n", + "javaType": "GridEventFaultEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "CurrentImbalance", + "LocalEmergency", + "LowInputPower", + "OverCurrent", + "OverFrequency", + "OverVoltage", + "PhaseRotation", + "RemoteEmergency", + "UnderFrequency", + "UnderVoltage", + "VoltageImbalance" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "controlType": { + "$ref": "#/definitions/DERControlEnumType" + }, + "gridEventFault": { + "$ref": "#/definitions/GridEventFaultEnumType" + }, + "alarmEnded": { + "description": "True when error condition has ended.\r\nAbsent or false when alarm has started.\r\n\r\n", + "type": "boolean" + }, + "timestamp": { + "description": "Time of start or end of alarm.\r\n\r\n", + "type": "string", + "format": "date-time" + }, + "extraInfo": { + "description": "Optional info provided by EV.\r\n\r\n", + "type": "string", + "maxLength": 200 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "controlType", + "timestamp" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyDERAlarmResponse.json b/src/tests/schema_validation/schemas/v2.1/NotifyDERAlarmResponse.json new file mode 100644 index 00000000..e349dbd7 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyDERAlarmResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyDERAlarmResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyDERStartStopRequest.json b/src/tests/schema_validation/schemas/v2.1/NotifyDERStartStopRequest.json new file mode 100644 index 00000000..3db49635 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyDERStartStopRequest.json @@ -0,0 +1,58 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyDERStartStopRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "controlId": { + "description": "Id of the started or stopped DER control.\r\nCorresponds to the _controlId_ of the SetDERControlRequest.\r\n\r\n", + "type": "string", + "maxLength": 36 + }, + "started": { + "description": "True if DER control has started. False if it has ended.\r\n\r\n", + "type": "boolean" + }, + "timestamp": { + "description": "Time of start or end of event.\r\n\r\n", + "type": "string", + "format": "date-time" + }, + "supersededIds": { + "description": "List of controlIds that are superseded as a result of this control starting.\r\n\r\n", + "type": "array", + "additionalItems": false, + "items": { + "type": "string", + "maxLength": 36 + }, + "minItems": 1, + "maxItems": 24 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "controlId", + "started", + "timestamp" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyDERStartStopResponse.json b/src/tests/schema_validation/schemas/v2.1/NotifyDERStartStopResponse.json new file mode 100644 index 00000000..f9c7e19e --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyDERStartStopResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyDERStartStopResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyDisplayMessagesRequest.json b/src/tests/schema_validation/schemas/v2.1/NotifyDisplayMessagesRequest.json new file mode 100644 index 00000000..5d81a8c6 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyDisplayMessagesRequest.json @@ -0,0 +1,222 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyDisplayMessagesRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "MessageFormatEnumType": { + "description": "Format of the message.\r\n", + "javaType": "MessageFormatEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ASCII", + "HTML", + "URI", + "UTF8", + "QRCODE" + ] + }, + "MessagePriorityEnumType": { + "description": "With what priority should this message be shown\r\n", + "javaType": "MessagePriorityEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "AlwaysFront", + "InFront", + "NormalCycle" + ] + }, + "MessageStateEnumType": { + "description": "During what state should this message be shown. When omitted this message should be shown in any state of the Charging Station.\r\n", + "javaType": "MessageStateEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Charging", + "Faulted", + "Idle", + "Unavailable", + "Suspended", + "Discharging" + ] + }, + "ComponentType": { + "description": "A physical or logical component\r\n", + "javaType": "Component", + "type": "object", + "additionalProperties": false, + "properties": { + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "name": { + "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "MessageContentType": { + "description": "Contains message details, for a message to be displayed on a Charging Station.\r\n\r\n", + "javaType": "MessageContent", + "type": "object", + "additionalProperties": false, + "properties": { + "format": { + "$ref": "#/definitions/MessageFormatEnumType" + }, + "language": { + "description": "Message language identifier. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n", + "type": "string", + "maxLength": 8 + }, + "content": { + "description": "*(2.1)* Required. Message contents. +\r\nMaximum length supported by Charging Station is given in OCPPCommCtrlr.FieldLength[\"MessageContentType.content\"].\r\n Maximum length defaults to 1024.\r\n\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "format", + "content" + ] + }, + "MessageInfoType": { + "description": "Contains message details, for a message to be displayed on a Charging Station.\r\n", + "javaType": "MessageInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "display": { + "$ref": "#/definitions/ComponentType" + }, + "id": { + "description": "Unique id within an exchange context. It is defined within the OCPP context as a positive Integer value (greater or equal to zero).\r\n", + "type": "integer", + "minimum": 0.0 + }, + "priority": { + "$ref": "#/definitions/MessagePriorityEnumType" + }, + "state": { + "$ref": "#/definitions/MessageStateEnumType" + }, + "startDateTime": { + "description": "From what date-time should this message be shown. If omitted: directly.\r\n", + "type": "string", + "format": "date-time" + }, + "endDateTime": { + "description": "Until what date-time should this message be shown, after this date/time this message SHALL be removed.\r\n", + "type": "string", + "format": "date-time" + }, + "transactionId": { + "description": "During which transaction shall this message be shown.\r\nMessage SHALL be removed by the Charging Station after transaction has\r\nended.\r\n", + "type": "string", + "maxLength": 36 + }, + "message": { + "$ref": "#/definitions/MessageContentType" + }, + "messageExtra": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/MessageContentType" + }, + "minItems": 1, + "maxItems": 4 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "priority", + "message" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "messageInfo": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/MessageInfoType" + }, + "minItems": 1 + }, + "requestId": { + "description": "The id of the <<getdisplaymessagesrequest,GetDisplayMessagesRequest>> that requested this message.\r\n", + "type": "integer" + }, + "tbc": { + "description": "\"to be continued\" indicator. Indicates whether another part of the report follows in an upcoming NotifyDisplayMessagesRequest message. Default value when omitted is false.\r\n", + "type": "boolean", + "default": false + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyDisplayMessagesResponse.json b/src/tests/schema_validation/schemas/v2.1/NotifyDisplayMessagesResponse.json new file mode 100644 index 00000000..8e09c123 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyDisplayMessagesResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyDisplayMessagesResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyEVChargingNeedsRequest.json b/src/tests/schema_validation/schemas/v2.1/NotifyEVChargingNeedsRequest.json new file mode 100644 index 00000000..fc8e0c04 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyEVChargingNeedsRequest.json @@ -0,0 +1,740 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyEVChargingNeedsRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ControlModeEnumType": { + "description": "*(2.1)* Indicates whether EV wants to operate in Dynamic or Scheduled mode. When absent, Scheduled mode is assumed for backwards compatibility. +\r\n*ISO 15118-20:* +\r\nServiceSelectionReq(SelectedEnergyTransferService)\r\n", + "javaType": "ControlModeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ScheduledControl", + "DynamicControl" + ] + }, + "DERControlEnumType": { + "javaType": "DERControlEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "EnterService", + "FreqDroop", + "FreqWatt", + "FixedPFAbsorb", + "FixedPFInject", + "FixedVar", + "Gradients", + "HFMustTrip", + "HFMayTrip", + "HVMustTrip", + "HVMomCess", + "HVMayTrip", + "LimitMaxDischarge", + "LFMustTrip", + "LVMustTrip", + "LVMomCess", + "LVMayTrip", + "PowerMonitoringMustTrip", + "VoltVar", + "VoltWatt", + "WattPF", + "WattVar" + ] + }, + "EnergyTransferModeEnumType": { + "description": "Mode of energy transfer requested by the EV.\r\n", + "javaType": "EnergyTransferModeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "AC_single_phase", + "AC_two_phase", + "AC_three_phase", + "DC", + "AC_BPT", + "AC_BPT_DER", + "AC_DER", + "DC_BPT", + "DC_ACDP", + "DC_ACDP_BPT", + "WPT" + ] + }, + "IslandingDetectionEnumType": { + "javaType": "IslandingDetectionEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "NoAntiIslandingSupport", + "RoCoF", + "UVP_OVP", + "UFP_OFP", + "VoltageVectorShift", + "ZeroCrossingDetection", + "OtherPassive", + "ImpedanceMeasurement", + "ImpedanceAtFrequency", + "SlipModeFrequencyShift", + "SandiaFrequencyShift", + "SandiaVoltageShift", + "FrequencyJump", + "RCLQFactor", + "OtherActive" + ] + }, + "MobilityNeedsModeEnumType": { + "description": "*(2.1)* Value of EVCC indicates that EV determines min/target SOC and departure time. +\r\nA value of EVCC_SECC indicates that charging station or CSMS may also update min/target SOC and departure time. +\r\n*ISO 15118-20:* +\r\nServiceSelectionReq(SelectedEnergyTransferService)\r\n", + "javaType": "MobilityNeedsModeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "EVCC", + "EVCC_SECC" + ] + }, + "ACChargingParametersType": { + "description": "EV AC charging parameters for ISO 15118-2\r\n\r\n", + "javaType": "ACChargingParameters", + "type": "object", + "additionalProperties": false, + "properties": { + "energyAmount": { + "description": "Amount of energy requested (in Wh). This includes energy required for preconditioning.\r\nRelates to: +\r\n*ISO 15118-2*: AC_EVChargeParameterType: EAmount +\r\n*ISO 15118-20*: Dynamic/Scheduled_SEReqControlModeType: EVTargetEnergyRequest\r\n\r\n", + "type": "number" + }, + "evMinCurrent": { + "description": "Minimum current (amps) supported by the electric vehicle (per phase).\r\nRelates to: +\r\n*ISO 15118-2*: AC_EVChargeParameterType: EVMinCurrent\r\n\r\n", + "type": "number" + }, + "evMaxCurrent": { + "description": "Maximum current (amps) supported by the electric vehicle (per phase). Includes cable capacity.\r\nRelates to: +\r\n*ISO 15118-2*: AC_EVChargeParameterType: EVMaxCurrent\r\n\r\n", + "type": "number" + }, + "evMaxVoltage": { + "description": "Maximum voltage supported by the electric vehicle.\r\nRelates to: +\r\n*ISO 15118-2*: AC_EVChargeParameterType: EVMaxVoltage\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "energyAmount", + "evMinCurrent", + "evMaxCurrent", + "evMaxVoltage" + ] + }, + "ChargingNeedsType": { + "javaType": "ChargingNeeds", + "type": "object", + "additionalProperties": false, + "properties": { + "acChargingParameters": { + "$ref": "#/definitions/ACChargingParametersType" + }, + "derChargingParameters": { + "$ref": "#/definitions/DERChargingParametersType" + }, + "evEnergyOffer": { + "$ref": "#/definitions/EVEnergyOfferType" + }, + "requestedEnergyTransfer": { + "$ref": "#/definitions/EnergyTransferModeEnumType" + }, + "dcChargingParameters": { + "$ref": "#/definitions/DCChargingParametersType" + }, + "v2xChargingParameters": { + "$ref": "#/definitions/V2XChargingParametersType" + }, + "availableEnergyTransfer": { + "description": "*(2.1)* Modes of energy transfer that are marked as available by EV.\r\n", + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/EnergyTransferModeEnumType" + }, + "minItems": 1 + }, + "controlMode": { + "$ref": "#/definitions/ControlModeEnumType" + }, + "mobilityNeedsMode": { + "$ref": "#/definitions/MobilityNeedsModeEnumType" + }, + "departureTime": { + "description": "Estimated departure time of the EV. +\r\n*ISO 15118-2:* AC/DC_EVChargeParameterType: DepartureTime +\r\n*ISO 15118-20:* Dynamic/Scheduled_SEReqControlModeType: DepartureTIme\r\n", + "type": "string", + "format": "date-time" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestedEnergyTransfer" + ] + }, + "DCChargingParametersType": { + "description": "EV DC charging parameters for ISO 15118-2\r\n", + "javaType": "DCChargingParameters", + "type": "object", + "additionalProperties": false, + "properties": { + "evMaxCurrent": { + "description": "Maximum current (in A) supported by the electric vehicle. Includes cable capacity.\r\nRelates to: +\r\n*ISO 15118-2*: DC_EVChargeParameterType:EVMaximumCurrentLimit\r\n", + "type": "number" + }, + "evMaxVoltage": { + "description": "Maximum voltage supported by the electric vehicle.\r\nRelates to: +\r\n*ISO 15118-2*: DC_EVChargeParameterType: EVMaximumVoltageLimit\r\n\r\n", + "type": "number" + }, + "evMaxPower": { + "description": "Maximum power (in W) supported by the electric vehicle. Required for DC charging.\r\nRelates to: +\r\n*ISO 15118-2*: DC_EVChargeParameterType: EVMaximumPowerLimit\r\n\r\n", + "type": "number" + }, + "evEnergyCapacity": { + "description": "Capacity of the electric vehicle battery (in Wh).\r\nRelates to: +\r\n*ISO 15118-2*: DC_EVChargeParameterType: EVEnergyCapacity\r\n\r\n", + "type": "number" + }, + "energyAmount": { + "description": "Amount of energy requested (in Wh). This inludes energy required for preconditioning.\r\nRelates to: +\r\n*ISO 15118-2*: DC_EVChargeParameterType: EVEnergyRequest\r\n\r\n\r\n", + "type": "number" + }, + "stateOfCharge": { + "description": "Energy available in the battery (in percent of the battery capacity)\r\nRelates to: +\r\n*ISO 15118-2*: DC_EVChargeParameterType: DC_EVStatus: EVRESSSOC\r\n\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "fullSoC": { + "description": "Percentage of SoC at which the EV considers the battery fully charged. (possible values: 0 - 100)\r\nRelates to: +\r\n*ISO 15118-2*: DC_EVChargeParameterType: FullSOC\r\n\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "bulkSoC": { + "description": "Percentage of SoC at which the EV considers a fast charging process to end. (possible values: 0 - 100)\r\nRelates to: +\r\n*ISO 15118-2*: DC_EVChargeParameterType: BulkSOC\r\n\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "evMaxCurrent", + "evMaxVoltage" + ] + }, + "DERChargingParametersType": { + "description": "*(2.1)* DERChargingParametersType is used in ChargingNeedsType during an ISO 15118-20 session for AC_BPT_DER to report the inverter settings related to DER control that were agreed between EVSE and EV.\r\n\r\nFields starting with \"ev\" contain values from the EV.\r\nOther fields contain a value that is supported by both EV and EVSE.\r\n\r\nDERChargingParametersType type is only relevant in case of an ISO 15118-20 AC_BPT_DER/AC_DER charging session.\r\n\r\nNOTE: All these fields have values greater or equal to zero (i.e. are non-negative)\r\n\r\n", + "javaType": "DERChargingParameters", + "type": "object", + "additionalProperties": false, + "properties": { + "evSupportedDERControl": { + "description": "DER control functions supported by EV. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType:DERControlFunctions (bitmap)\r\n", + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/DERControlEnumType" + }, + "minItems": 1 + }, + "evOverExcitedMaxDischargePower": { + "description": "Rated maximum injected active power by EV, at specified over-excited power factor (overExcitedPowerFactor). +\r\nIt can also be defined as the rated maximum discharge power at the rated minimum injected reactive power value. This means that if the EV is providing reactive power support, and it is requested to discharge at max power (e.g. to satisfy an EMS request), the EV may override the request and discharge up to overExcitedMaximumDischargePower to meet the minimum reactive power requirements. +\r\nCorresponds to the WOvPF attribute in IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVOverExcitedMaximumDischargePower\r\n", + "type": "number" + }, + "evOverExcitedPowerFactor": { + "description": "EV power factor when injecting (over excited) the minimum reactive power. +\r\nCorresponds to the OvPF attribute in IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVOverExcitedPowerFactor\r\n", + "type": "number" + }, + "evUnderExcitedMaxDischargePower": { + "description": "Rated maximum injected active power by EV supported at specified under-excited power factor (EVUnderExcitedPowerFactor). +\r\nIt can also be defined as the rated maximum dischargePower at the rated minimum absorbed reactive power value.\r\nThis means that if the EV is providing reactive power support, and it is requested to discharge at max power (e.g. to satisfy an EMS request), the EV may override the request and discharge up to underExcitedMaximumDischargePower to meet the minimum reactive power requirements. +\r\nThis corresponds to the WUnPF attribute in the IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVUnderExcitedMaximumDischargePower\r\n", + "type": "number" + }, + "evUnderExcitedPowerFactor": { + "description": "EV power factor when injecting (under excited) the minimum reactive power. +\r\nCorresponds to the OvPF attribute in IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVUnderExcitedPowerFactor\r\n", + "type": "number" + }, + "maxApparentPower": { + "description": "Rated maximum total apparent power, defined by min(EV, EVSE) in va.\r\nCorresponds to the VAMaxRtg in IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumApparentPower\r\n", + "type": "number" + }, + "maxChargeApparentPower": { + "description": "Rated maximum absorbed apparent power, defined by min(EV, EVSE) in va. +\r\n This field represents the sum of all phases, unless values are provided for L2 and L3,\r\n in which case this field represents phase L1. +\r\n Corresponds to the ChaVAMaxRtg in IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumChargeApparentPower\r\n", + "type": "number" + }, + "maxChargeApparentPower_L2": { + "description": "Rated maximum absorbed apparent power on phase L2, defined by min(EV, EVSE) in va.\r\nCorresponds to the ChaVAMaxRtg in IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumChargeApparentPower_L2\r\n", + "type": "number" + }, + "maxChargeApparentPower_L3": { + "description": "Rated maximum absorbed apparent power on phase L3, defined by min(EV, EVSE) in va.\r\nCorresponds to the ChaVAMaxRtg in IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumChargeApparentPower_L3\r\n", + "type": "number" + }, + "maxDischargeApparentPower": { + "description": "Rated maximum injected apparent power, defined by min(EV, EVSE) in va. +\r\n This field represents the sum of all phases, unless values are provided for L2 and L3,\r\n in which case this field represents phase L1. +\r\n Corresponds to the DisVAMaxRtg in IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumDischargeApparentPower\r\n", + "type": "number" + }, + "maxDischargeApparentPower_L2": { + "description": "Rated maximum injected apparent power on phase L2, defined by min(EV, EVSE) in va. +\r\n Corresponds to the DisVAMaxRtg in IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumDischargeApparentPower_L2\r\n", + "type": "number" + }, + "maxDischargeApparentPower_L3": { + "description": "Rated maximum injected apparent power on phase L3, defined by min(EV, EVSE) in va. +\r\n Corresponds to the DisVAMaxRtg in IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumDischargeApparentPower_L3\r\n", + "type": "number" + }, + "maxChargeReactivePower": { + "description": "Rated maximum absorbed reactive power, defined by min(EV, EVSE), in vars. +\r\n This field represents the sum of all phases, unless values are provided for L2 and L3,\r\n in which case this field represents phase L1. +\r\nCorresponds to the AvarMax attribute in the IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumChargeReactivePower\r\n", + "type": "number" + }, + "maxChargeReactivePower_L2": { + "description": "Rated maximum absorbed reactive power, defined by min(EV, EVSE), in vars on phase L2. +\r\nCorresponds to the AvarMax attribute in the IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumChargeReactivePower_L2\r\n", + "type": "number" + }, + "maxChargeReactivePower_L3": { + "description": "Rated maximum absorbed reactive power, defined by min(EV, EVSE), in vars on phase L3. +\r\nCorresponds to the AvarMax attribute in the IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumChargeReactivePower_L3\r\n", + "type": "number" + }, + "minChargeReactivePower": { + "description": "Rated minimum absorbed reactive power, defined by max(EV, EVSE), in vars. +\r\n This field represents the sum of all phases, unless values are provided for L2 and L3,\r\n in which case this field represents phase L1. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMinimumChargeReactivePower\r\n", + "type": "number" + }, + "minChargeReactivePower_L2": { + "description": "Rated minimum absorbed reactive power, defined by max(EV, EVSE), in vars on phase L2. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMinimumChargeReactivePower_L2\r\n", + "type": "number" + }, + "minChargeReactivePower_L3": { + "description": "Rated minimum absorbed reactive power, defined by max(EV, EVSE), in vars on phase L3. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMinimumChargeReactivePower_L3\r\n", + "type": "number" + }, + "maxDischargeReactivePower": { + "description": "Rated maximum injected reactive power, defined by min(EV, EVSE), in vars. +\r\n This field represents the sum of all phases, unless values are provided for L2 and L3,\r\n in which case this field represents phase L1. +\r\nCorresponds to the IvarMax attribute in the IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumDischargeReactivePower\r\n", + "type": "number" + }, + "maxDischargeReactivePower_L2": { + "description": "Rated maximum injected reactive power, defined by min(EV, EVSE), in vars on phase L2. +\r\nCorresponds to the IvarMax attribute in the IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumDischargeReactivePower_L2\r\n", + "type": "number" + }, + "maxDischargeReactivePower_L3": { + "description": "Rated maximum injected reactive power, defined by min(EV, EVSE), in vars on phase L3. +\r\nCorresponds to the IvarMax attribute in the IEC 61850. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumDischargeReactivePower_L3\r\n", + "type": "number" + }, + "minDischargeReactivePower": { + "description": "Rated minimum injected reactive power, defined by max(EV, EVSE), in vars. +\r\n This field represents the sum of all phases, unless values are provided for L2 and L3,\r\n in which case this field represents phase L1. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMinimumDischargeReactivePower\r\n", + "type": "number" + }, + "minDischargeReactivePower_L2": { + "description": "Rated minimum injected reactive power, defined by max(EV, EVSE), in var on phase L2. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMinimumDischargeReactivePower_L2\r\n", + "type": "number" + }, + "minDischargeReactivePower_L3": { + "description": "Rated minimum injected reactive power, defined by max(EV, EVSE), in var on phase L3. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMinimumDischargeReactivePower_L3\r\n", + "type": "number" + }, + "nominalVoltage": { + "description": "Line voltage supported by EVSE and EV.\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVNominalVoltage\r\n", + "type": "number" + }, + "nominalVoltageOffset": { + "description": "The nominal AC voltage (rms) offset between the Charging Station's electrical connection point and the utility\u2019s point of common coupling. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVNominalVoltageOffset\r\n", + "type": "number" + }, + "maxNominalVoltage": { + "description": "Maximum AC rms voltage, as defined by min(EV, EVSE) to operate with. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumNominalVoltage\r\n", + "type": "number" + }, + "minNominalVoltage": { + "description": "Minimum AC rms voltage, as defined by max(EV, EVSE) to operate with. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMinimumNominalVoltage\r\n", + "type": "number" + }, + "evInverterManufacturer": { + "description": "Manufacturer of the EV inverter. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVInverterManufacturer\r\n", + "type": "string", + "maxLength": 50 + }, + "evInverterModel": { + "description": "Model name of the EV inverter. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVInverterModel\r\n", + "type": "string", + "maxLength": 50 + }, + "evInverterSerialNumber": { + "description": "Serial number of the EV inverter. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVInverterSerialNumber\r\n", + "type": "string", + "maxLength": 50 + }, + "evInverterSwVersion": { + "description": "Software version of EV inverter. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVInverterSwVersion\r\n", + "type": "string", + "maxLength": 50 + }, + "evInverterHwVersion": { + "description": "Hardware version of EV inverter. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVInverterHwVersion\r\n", + "type": "string", + "maxLength": 50 + }, + "evIslandingDetectionMethod": { + "description": "Type of islanding detection method. Only mandatory when islanding detection is required at the site, as set in the ISO 15118 Service Details configuration. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVIslandingDetectionMethod\r\n", + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/IslandingDetectionEnumType" + }, + "minItems": 1 + }, + "evIslandingTripTime": { + "description": "Time after which EV will trip if an island has been detected. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVIslandingTripTime\r\n", + "type": "number" + }, + "evMaximumLevel1DCInjection": { + "description": "Maximum injected DC current allowed at level 1 charging. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumLevel1DCInjection\r\n", + "type": "number" + }, + "evDurationLevel1DCInjection": { + "description": "Maximum allowed duration of DC injection at level 1 charging. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVDurationLevel1DCInjection\r\n", + "type": "number" + }, + "evMaximumLevel2DCInjection": { + "description": "Maximum injected DC current allowed at level 2 charging. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVMaximumLevel2DCInjection\r\n", + "type": "number" + }, + "evDurationLevel2DCInjection": { + "description": "Maximum allowed duration of DC injection at level 2 charging. +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVDurationLevel2DCInjection\r\n", + "type": "number" + }, + "evReactiveSusceptance": { + "description": "\tMeasure of the susceptibility of the circuit to reactance, in Siemens (S). +\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVReactiveSusceptance\r\n\r\n\r\n", + "type": "number" + }, + "evSessionTotalDischargeEnergyAvailable": { + "description": "Total energy value, in Wh, that EV is allowed to provide during the entire V2G session. The value is independent of the V2X Cycling area. Once this value reaches the value of 0, the EV may block any attempt to discharge in order to protect the battery health.\r\n *ISO 15118-20*: DER_BPT_AC_CPDReqEnergyTransferModeType: EVSessionTotalDischargeEnergyAvailable\r\n\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "EVAbsolutePriceScheduleEntryType": { + "description": "*(2.1)* An entry in price schedule over time for which EV is willing to discharge.\r\n", + "javaType": "EVAbsolutePriceScheduleEntry", + "type": "object", + "additionalProperties": false, + "properties": { + "duration": { + "description": "The amount of seconds of this entry.\r\n", + "type": "integer" + }, + "evPriceRule": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/EVPriceRuleType" + }, + "minItems": 1, + "maxItems": 8 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "duration", + "evPriceRule" + ] + }, + "EVAbsolutePriceScheduleType": { + "description": "*(2.1)* Price schedule of EV energy offer.\r\n", + "javaType": "EVAbsolutePriceSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "timeAnchor": { + "description": "Starting point in time of the EVEnergyOffer.\r\n", + "type": "string", + "format": "date-time" + }, + "currency": { + "description": "Currency code according to ISO 4217.\r\n", + "type": "string", + "maxLength": 3 + }, + "evAbsolutePriceScheduleEntries": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/EVAbsolutePriceScheduleEntryType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "priceAlgorithm": { + "description": "ISO 15118-20 URN of price algorithm: Power, PeakPower, StackedEnergy.\r\n", + "type": "string", + "maxLength": 2000 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timeAnchor", + "currency", + "priceAlgorithm", + "evAbsolutePriceScheduleEntries" + ] + }, + "EVEnergyOfferType": { + "description": "*(2.1)* A schedule of the energy amount over time that EV is willing to discharge. A negative value indicates the willingness to discharge under specific conditions, a positive value indicates that the EV currently is not able to offer energy to discharge. \r\n", + "javaType": "EVEnergyOffer", + "type": "object", + "additionalProperties": false, + "properties": { + "evAbsolutePriceSchedule": { + "$ref": "#/definitions/EVAbsolutePriceScheduleType" + }, + "evPowerSchedule": { + "$ref": "#/definitions/EVPowerScheduleType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "evPowerSchedule" + ] + }, + "EVPowerScheduleEntryType": { + "description": "*(2.1)* An entry in schedule of the energy amount over time that EV is willing to discharge. A negative value indicates the willingness to discharge under specific conditions, a positive value indicates that the EV currently is not able to offer energy to discharge.\r\n", + "javaType": "EVPowerScheduleEntry", + "type": "object", + "additionalProperties": false, + "properties": { + "duration": { + "description": "The duration of this entry.\r\n", + "type": "integer" + }, + "power": { + "description": "Defines maximum amount of power for the duration of this EVPowerScheduleEntry to be discharged from the EV battery through EVSE power outlet. Negative values are used for discharging.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "duration", + "power" + ] + }, + "EVPowerScheduleType": { + "description": "*(2.1)* Schedule of EV energy offer.\r\n", + "javaType": "EVPowerSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "evPowerScheduleEntries": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/EVPowerScheduleEntryType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "timeAnchor": { + "description": "The time that defines the starting point for the EVEnergyOffer.\r\n", + "type": "string", + "format": "date-time" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timeAnchor", + "evPowerScheduleEntries" + ] + }, + "EVPriceRuleType": { + "description": "*(2.1)* An entry in price schedule over time for which EV is willing to discharge.\r\n", + "javaType": "EVPriceRule", + "type": "object", + "additionalProperties": false, + "properties": { + "energyFee": { + "description": "Cost per kWh.\r\n", + "type": "number" + }, + "powerRangeStart": { + "description": "The EnergyFee applies between this value and the value of the PowerRangeStart of the subsequent EVPriceRule. If the power is below this value, the EnergyFee of the previous EVPriceRule applies. Negative values are used for discharging.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "energyFee", + "powerRangeStart" + ] + }, + "V2XChargingParametersType": { + "description": "Charging parameters for ISO 15118-20, also supporting V2X charging/discharging.+\r\nAll values are greater or equal to zero, with the exception of EVMinEnergyRequest, EVMaxEnergyRequest, EVTargetEnergyRequest, EVMinV2XEnergyRequest and EVMaxV2XEnergyRequest.\r\n", + "javaType": "V2XChargingParameters", + "type": "object", + "additionalProperties": false, + "properties": { + "minChargePower": { + "description": "Minimum charge power in W, defined by max(EV, EVSE).\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\nRelates to:\r\n*ISO 15118-20*: BPT_AC/DC_CPDReqEnergyTransferModeType: EVMinimumChargePower\r\n", + "type": "number" + }, + "minChargePower_L2": { + "description": "Minimum charge power on phase L2 in W, defined by max(EV, EVSE).\r\nRelates to:\r\n*ISO 15118-20*: BPT_AC/DC_CPDReqEnergyTransferModeType: EVMinimumChargePower_L2\r\n", + "type": "number" + }, + "minChargePower_L3": { + "description": "Minimum charge power on phase L3 in W, defined by max(EV, EVSE).\r\nRelates to:\r\n*ISO 15118-20*: BPT_AC/DC_CPDReqEnergyTransferModeType: EVMinimumChargePower_L3\r\n", + "type": "number" + }, + "maxChargePower": { + "description": "Maximum charge (absorbed) power in W, defined by min(EV, EVSE) at unity power factor. +\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\nIt corresponds to the ChaWMax attribute in the IEC 61850.\r\nIt is usually equivalent to the rated apparent power of the EV when discharging (ChaVAMax) in IEC 61850. +\r\n\r\nRelates to: \r\n*ISO 15118-20*: BPT_AC/DC_CPDReqEnergyTransferModeType: EVMaximumChargePower\r\n\r\n", + "type": "number" + }, + "maxChargePower_L2": { + "description": "Maximum charge power on phase L2 in W, defined by min(EV, EVSE)\r\nRelates to: \r\n*ISO 15118-20*: BPT_AC/DC_CPDReqEnergyTransferModeType: EVMaximumChargePower_L2\r\n\r\n\r\n", + "type": "number" + }, + "maxChargePower_L3": { + "description": "Maximum charge power on phase L3 in W, defined by min(EV, EVSE)\r\nRelates to: \r\n*ISO 15118-20*: BPT_AC/DC_CPDReqEnergyTransferModeType: EVMaximumChargePower_L3\r\n\r\n\r\n", + "type": "number" + }, + "minDischargePower": { + "description": "Minimum discharge (injected) power in W, defined by max(EV, EVSE) at unity power factor. Value >= 0. +\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1. +\r\nIt corresponds to the WMax attribute in the IEC 61850.\r\nIt is usually equivalent to the rated apparent power of the EV when discharging (VAMax attribute in the IEC 61850).\r\n\r\nRelates to:\r\n*ISO 15118-20*: BPT_AC/DC_CPDReqEnergyTransferModeType: EVMinimumDischargePower\r\n\r\n", + "type": "number" + }, + "minDischargePower_L2": { + "description": "Minimum discharge power on phase L2 in W, defined by max(EV, EVSE). Value >= 0.\r\nRelates to:\r\n*ISO 15118-20*: BPT_AC/DC_CPDReqEnergyTransferModeType: EVMinimumDischargePower_L2\r\n\r\n", + "type": "number" + }, + "minDischargePower_L3": { + "description": "Minimum discharge power on phase L3 in W, defined by max(EV, EVSE). Value >= 0.\r\nRelates to:\r\n*ISO 15118-20*: BPT_AC/DC_CPDReqEnergyTransferModeType: EVMinimumDischargePower_L3\r\n\r\n", + "type": "number" + }, + "maxDischargePower": { + "description": "Maximum discharge (injected) power in W, defined by min(EV, EVSE) at unity power factor. Value >= 0.\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\nRelates to:\r\n*ISO 15118-20*: BPT_AC/DC_CPDReqEnergyTransferModeType: EVMaximumDischargePower\r\n\r\n\r\n", + "type": "number" + }, + "maxDischargePower_L2": { + "description": "Maximum discharge power on phase L2 in W, defined by min(EV, EVSE). Value >= 0.\r\nRelates to:\r\n*ISO 15118-20*: BPT_AC/DC_CPDReqEnergyTransferModeType: EVMaximumDischargePowe_L2\r\n\r\n", + "type": "number" + }, + "maxDischargePower_L3": { + "description": "Maximum discharge power on phase L3 in W, defined by min(EV, EVSE). Value >= 0.\r\nRelates to:\r\n*ISO 15118-20*: BPT_AC/DC_CPDReqEnergyTransferModeType: EVMaximumDischargePower_L3\r\n\r\n", + "type": "number" + }, + "minChargeCurrent": { + "description": "Minimum charge current in A, defined by max(EV, EVSE)\r\nRelates to: \r\n*ISO 15118-20*: BPT_DC_CPDReqEnergyTransferModeType: EVMinimumChargeCurrent\r\n\r\n", + "type": "number" + }, + "maxChargeCurrent": { + "description": "Maximum charge current in A, defined by min(EV, EVSE)\r\nRelates to: \r\n*ISO 15118-20*: BPT_DC_CPDReqEnergyTransferModeType: EVMaximumChargeCurrent\r\n\r\n\r\n", + "type": "number" + }, + "minDischargeCurrent": { + "description": "Minimum discharge current in A, defined by max(EV, EVSE). Value >= 0.\r\nRelates to: \r\n*ISO 15118-20*: BPT_DC_CPDReqEnergyTransferModeType: EVMinimumDischargeCurrent\r\n\r\n\r\n", + "type": "number" + }, + "maxDischargeCurrent": { + "description": "Maximum discharge current in A, defined by min(EV, EVSE). Value >= 0.\r\nRelates to: \r\n*ISO 15118-20*: BPT_DC_CPDReqEnergyTransferModeType: EVMaximumDischargeCurrent\r\n\r\n", + "type": "number" + }, + "minVoltage": { + "description": "Minimum voltage in V, defined by max(EV, EVSE)\r\nRelates to:\r\n*ISO 15118-20*: BPT_DC_CPDReqEnergyTransferModeType: EVMinimumVoltage\r\n\r\n", + "type": "number" + }, + "maxVoltage": { + "description": "Maximum voltage in V, defined by min(EV, EVSE)\r\nRelates to:\r\n*ISO 15118-20*: BPT_DC_CPDReqEnergyTransferModeType: EVMaximumVoltage\r\n\r\n", + "type": "number" + }, + "evTargetEnergyRequest": { + "description": "Energy to requested state of charge in Wh\r\nRelates to:\r\n*ISO 15118-20*: Dynamic/Scheduled_SEReqControlModeType: EVTargetEnergyRequest\r\n\r\n", + "type": "number" + }, + "evMinEnergyRequest": { + "description": "Energy to minimum allowed state of charge in Wh\r\nRelates to:\r\n*ISO 15118-20*: Dynamic/Scheduled_SEReqControlModeType: EVMinimumEnergyRequest\r\n\r\n", + "type": "number" + }, + "evMaxEnergyRequest": { + "description": "Energy to maximum state of charge in Wh\r\nRelates to:\r\n*ISO 15118-20*: Dynamic/Scheduled_SEReqControlModeType: EVMaximumEnergyRequest\r\n\r\n", + "type": "number" + }, + "evMinV2XEnergyRequest": { + "description": "Energy (in Wh) to minimum state of charge for cycling (V2X) activity. \r\nPositive value means that current state of charge is below V2X range.\r\nRelates to:\r\n*ISO 15118-20*: Dynamic_SEReqControlModeType: EVMinimumV2XEnergyRequest\r\n\r\n", + "type": "number" + }, + "evMaxV2XEnergyRequest": { + "description": "Energy (in Wh) to maximum state of charge for cycling (V2X) activity.\r\nNegative value indicates that current state of charge is above V2X range.\r\nRelates to:\r\n*ISO 15118-20*: Dynamic_SEReqControlModeType: EVMaximumV2XEnergyRequest\r\n\r\n\r\n", + "type": "number" + }, + "targetSoC": { + "description": "Target state of charge at departure as percentage.\r\nRelates to:\r\n*ISO 15118-20*: BPT_DC_CPDReqEnergyTransferModeType: TargetSOC\r\n\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "evseId": { + "description": "Defines the EVSE and connector to which the EV is connected. EvseId may not be 0.\r\n", + "type": "integer", + "minimum": 1.0 + }, + "maxScheduleTuples": { + "description": "Contains the maximum elements the EV supports for: +\r\n- ISO 15118-2: schedule tuples in SASchedule (both Pmax and Tariff). +\r\n- ISO 15118-20: PowerScheduleEntry, PriceRule and PriceLevelScheduleEntries.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "chargingNeeds": { + "$ref": "#/definitions/ChargingNeedsType" + }, + "timestamp": { + "description": "*(2.1)* Time when EV charging needs were received. +\r\nField can be added when charging station was offline when charging needs were received.\r\n\r\n", + "type": "string", + "format": "date-time" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "evseId", + "chargingNeeds" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyEVChargingNeedsResponse.json b/src/tests/schema_validation/schemas/v2.1/NotifyEVChargingNeedsResponse.json new file mode 100644 index 00000000..bcb1918f --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyEVChargingNeedsResponse.json @@ -0,0 +1,73 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyEVChargingNeedsResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "NotifyEVChargingNeedsStatusEnumType": { + "description": "Returns whether the CSMS has been able to process the message successfully. It does not imply that the evChargingNeeds can be met with the current charging profile.\r\n", + "javaType": "NotifyEVChargingNeedsStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "Processing", + "NoChargingProfile" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/NotifyEVChargingNeedsStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyEVChargingScheduleRequest.json b/src/tests/schema_validation/schemas/v2.1/NotifyEVChargingScheduleRequest.json new file mode 100644 index 00000000..d4e1900a --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyEVChargingScheduleRequest.json @@ -0,0 +1,879 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyEVChargingScheduleRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ChargingRateUnitEnumType": { + "description": "The unit of measure in which limits and setpoints are expressed.\r\n", + "javaType": "ChargingRateUnitEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "W", + "A" + ] + }, + "CostKindEnumType": { + "description": "The kind of cost referred to in the message element amount\r\n", + "javaType": "CostKindEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "CarbonDioxideEmission", + "RelativePricePercentage", + "RenewableGenerationPercentage" + ] + }, + "OperationModeEnumType": { + "description": "*(2.1)* Charging operation mode to use during this time interval. When absent defaults to `ChargingOnly`.\r\n", + "javaType": "OperationModeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Idle", + "ChargingOnly", + "CentralSetpoint", + "ExternalSetpoint", + "ExternalLimits", + "CentralFrequency", + "LocalFrequency", + "LocalLoadBalancing" + ] + }, + "AbsolutePriceScheduleType": { + "description": "The AbsolutePriceScheduleType is modeled after the same type that is defined in ISO 15118-20, such that if it is supplied by an EMSP as a signed EXI message, the conversion from EXI to JSON (in OCPP) and back to EXI (for ISO 15118-20) does not change the digest and therefore does not invalidate the signature.\r\n\r\nimage::images/AbsolutePriceSchedule-Simple.png[]\r\n\r\n", + "javaType": "AbsolutePriceSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "timeAnchor": { + "description": "Starting point of price schedule.\r\n", + "type": "string", + "format": "date-time" + }, + "priceScheduleID": { + "description": "Unique ID of price schedule\r\n", + "type": "integer", + "minimum": 0.0 + }, + "priceScheduleDescription": { + "description": "Description of the price schedule.\r\n", + "type": "string", + "maxLength": 160 + }, + "currency": { + "description": "Currency according to ISO 4217.\r\n", + "type": "string", + "maxLength": 3 + }, + "language": { + "description": "String that indicates what language is used for the human readable strings in the price schedule. Based on ISO 639.\r\n", + "type": "string", + "maxLength": 8 + }, + "priceAlgorithm": { + "description": "A string in URN notation which shall uniquely identify an algorithm that defines how to compute an energy fee sum for a specific power profile based on the EnergyFee information from the PriceRule elements.\r\n", + "type": "string", + "maxLength": 2000 + }, + "minimumCost": { + "$ref": "#/definitions/RationalNumberType" + }, + "maximumCost": { + "$ref": "#/definitions/RationalNumberType" + }, + "priceRuleStacks": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/PriceRuleStackType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "taxRules": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRuleType" + }, + "minItems": 1, + "maxItems": 10 + }, + "overstayRuleList": { + "$ref": "#/definitions/OverstayRuleListType" + }, + "additionalSelectedServices": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AdditionalSelectedServicesType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timeAnchor", + "priceScheduleID", + "currency", + "language", + "priceAlgorithm", + "priceRuleStacks" + ] + }, + "AdditionalSelectedServicesType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "AdditionalSelectedServices", + "type": "object", + "additionalProperties": false, + "properties": { + "serviceFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "serviceName": { + "description": "Human readable string to identify this service.\r\n", + "type": "string", + "maxLength": 80 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "serviceName", + "serviceFee" + ] + }, + "ChargingSchedulePeriodType": { + "description": "Charging schedule period structure defines a time period in a charging schedule. It is used in: CompositeScheduleType and in ChargingScheduleType. When used in a NotifyEVChargingScheduleRequest only _startPeriod_, _limit_, _limit_L2_, _limit_L3_ are relevant.\r\n", + "javaType": "ChargingSchedulePeriod", + "type": "object", + "additionalProperties": false, + "properties": { + "startPeriod": { + "description": "Start of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period.\r\n", + "type": "integer" + }, + "limit": { + "description": "Optional only when not required by the _operationMode_, as in CentralSetpoint, ExternalSetpoint, ExternalLimits, LocalFrequency, LocalLoadBalancing. +\r\nCharging rate limit during the schedule period, in the applicable _chargingRateUnit_. \r\nThis SHOULD be a non-negative value; a negative value is only supported for backwards compatibility with older systems that use a negative value to specify a discharging limit.\r\nWhen using _chargingRateUnit_ = `W`, this field represents the sum of the power of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "limit_L2": { + "description": "*(2.1)* Charging rate limit on phase L2 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "limit_L3": { + "description": "*(2.1)* Charging rate limit on phase L3 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "numberPhases": { + "description": "The number of phases that can be used for charging. +\r\nFor a DC EVSE this field should be omitted. +\r\nFor an AC EVSE a default value of _numberPhases_ = 3 will be assumed if the field is absent.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 3.0 + }, + "phaseToUse": { + "description": "Values: 1..3, Used if numberPhases=1 and if the EVSE is capable of switching the phase connected to the EV, i.e. ACPhaseSwitchingSupported is defined and true. It\u2019s not allowed unless both conditions above are true. If both conditions are true, and phaseToUse is omitted, the Charging Station / EVSE will make the selection on its own.\r\n\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 3.0 + }, + "dischargeLimit": { + "description": "*(2.1)* Limit in _chargingRateUnit_ that the EV is allowed to discharge with. Note, these are negative values in order to be consistent with _setpoint_, which can be positive and negative. +\r\nFor AC this field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L2": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L2 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L3": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L3 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "setpoint": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow as close as possible. Use negative values for discharging. +\r\nWhen a limit and/or _dischargeLimit_ are given the overshoot when following _setpoint_ must remain within these values.\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpoint_L2": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L2 as close as possible.\r\n", + "type": "number" + }, + "setpoint_L3": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L3 as close as possible. \r\n", + "type": "number" + }, + "setpointReactive": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow as closely as possible. Positive values for inductive, negative for capacitive reactive power or current. +\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpointReactive_L2": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L2 as closely as possible. \r\n", + "type": "number" + }, + "setpointReactive_L3": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L3 as closely as possible. \r\n", + "type": "number" + }, + "preconditioningRequest": { + "description": "*(2.1)* If true, the EV should attempt to keep the BMS preconditioned for this time interval.\r\n", + "type": "boolean" + }, + "evseSleep": { + "description": "*(2.1)* If true, the EVSE must turn off power electronics/modules associated with this transaction. Default value when absent is false.\r\n", + "type": "boolean" + }, + "v2xBaseline": { + "description": "*(2.1)* Power value that, when present, is used as a baseline on top of which values from _v2xFreqWattCurve_ and _v2xSignalWattCurve_ are added.\r\n\r\n", + "type": "number" + }, + "operationMode": { + "$ref": "#/definitions/OperationModeEnumType" + }, + "v2xFreqWattCurve": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/V2XFreqWattPointType" + }, + "minItems": 1, + "maxItems": 20 + }, + "v2xSignalWattCurve": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/V2XSignalWattPointType" + }, + "minItems": 1, + "maxItems": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startPeriod" + ] + }, + "ChargingScheduleType": { + "description": "Charging schedule structure defines a list of charging periods, as used in: NotifyEVChargingScheduleRequest and ChargingProfileType. When used in a NotifyEVChargingScheduleRequest only _duration_ and _chargingSchedulePeriod_ are relevant and _chargingRateUnit_ must be 'W'. +\r\nAn ISO 15118-20 session may provide either an _absolutePriceSchedule_ or a _priceLevelSchedule_. An ISO 15118-2 session can only provide a_salesTariff_ element. The field _digestValue_ is used when price schedule or sales tariff are signed.\r\n\r\nimage::images/ChargingSchedule-Simple.png[]\r\n\r\n\r\n", + "javaType": "ChargingSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "limitAtSoC": { + "$ref": "#/definitions/LimitAtSoCType" + }, + "startSchedule": { + "description": "Starting point of an absolute schedule or recurring schedule.\r\n", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration of the charging schedule in seconds. If the duration is left empty, the last period will continue indefinitely or until end of the transaction in case startSchedule is absent.\r\n", + "type": "integer" + }, + "chargingRateUnit": { + "$ref": "#/definitions/ChargingRateUnitEnumType" + }, + "minChargingRate": { + "description": "Minimum charging rate supported by the EV. The unit of measure is defined by the chargingRateUnit. This parameter is intended to be used by a local smart charging algorithm to optimize the power allocation for in the case a charging process is inefficient at lower charging rates. \r\n", + "type": "number" + }, + "powerTolerance": { + "description": "*(2.1)* Power tolerance when following EVPowerProfile.\r\n\r\n", + "type": "number" + }, + "signatureId": { + "description": "*(2.1)* Id of this element for referencing in a signature.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "digestValue": { + "description": "*(2.1)* Base64 encoded hash (SHA256 for ISO 15118-2, SHA512 for ISO 15118-20) of the EXI price schedule element. Used in signature.\r\n", + "type": "string", + "maxLength": 88 + }, + "useLocalTime": { + "description": "*(2.1)* Defaults to false. When true, disregard time zone offset in dateTime fields of _ChargingScheduleType_ and use unqualified local time at Charging Station instead.\r\n This allows the same `Absolute` or `Recurring` charging profile to be used in both summer and winter time.\r\n\r\n", + "type": "boolean" + }, + "chargingSchedulePeriod": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ChargingSchedulePeriodType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "randomizedDelay": { + "description": "*(2.1)* Defaults to 0. When _randomizedDelay_ not equals zero, then the start of each <<cmn_chargingscheduleperiodtype,ChargingSchedulePeriodType>> is delayed by a randomly chosen number of seconds between 0 and _randomizedDelay_. Only allowed for TxProfile and TxDefaultProfile.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "salesTariff": { + "$ref": "#/definitions/SalesTariffType" + }, + "absolutePriceSchedule": { + "$ref": "#/definitions/AbsolutePriceScheduleType" + }, + "priceLevelSchedule": { + "$ref": "#/definitions/PriceLevelScheduleType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "chargingRateUnit", + "chargingSchedulePeriod" + ] + }, + "ConsumptionCostType": { + "javaType": "ConsumptionCost", + "type": "object", + "additionalProperties": false, + "properties": { + "startValue": { + "description": "The lowest level of consumption that defines the starting point of this consumption block. The block interval extends to the start of the next interval.\r\n", + "type": "number" + }, + "cost": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/CostType" + }, + "minItems": 1, + "maxItems": 3 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startValue", + "cost" + ] + }, + "CostType": { + "javaType": "Cost", + "type": "object", + "additionalProperties": false, + "properties": { + "costKind": { + "$ref": "#/definitions/CostKindEnumType" + }, + "amount": { + "description": "The estimated or actual cost per kWh\r\n", + "type": "integer" + }, + "amountMultiplier": { + "description": "Values: -3..3, The amountMultiplier defines the exponent to base 10 (dec). The final value is determined by: amount * 10 ^ amountMultiplier\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "costKind", + "amount" + ] + }, + "LimitAtSoCType": { + "javaType": "LimitAtSoC", + "type": "object", + "additionalProperties": false, + "properties": { + "soc": { + "description": "The SoC value beyond which the charging rate limit should be applied.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "limit": { + "description": "Charging rate limit beyond the SoC value.\r\nThe unit is defined by _chargingSchedule.chargingRateUnit_.\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "soc", + "limit" + ] + }, + "OverstayRuleListType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "OverstayRuleList", + "type": "object", + "additionalProperties": false, + "properties": { + "overstayPowerThreshold": { + "$ref": "#/definitions/RationalNumberType" + }, + "overstayRule": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/OverstayRuleType" + }, + "minItems": 1, + "maxItems": 5 + }, + "overstayTimeThreshold": { + "description": "Time till overstay is applied in seconds.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "overstayRule" + ] + }, + "OverstayRuleType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "OverstayRule", + "type": "object", + "additionalProperties": false, + "properties": { + "overstayFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "overstayRuleDescription": { + "description": "Human readable string to identify the overstay rule.\r\n", + "type": "string", + "maxLength": 32 + }, + "startTime": { + "description": "Time in seconds after trigger of the parent Overstay Rules for this particular fee to apply.\r\n", + "type": "integer" + }, + "overstayFeePeriod": { + "description": "Time till overstay will be reapplied\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startTime", + "overstayFeePeriod", + "overstayFee" + ] + }, + "PriceLevelScheduleEntryType": { + "description": "Part of ISO 15118-20 price schedule.\r\n", + "javaType": "PriceLevelScheduleEntry", + "type": "object", + "additionalProperties": false, + "properties": { + "duration": { + "description": "The amount of seconds that define the duration of this given PriceLevelScheduleEntry.\r\n", + "type": "integer" + }, + "priceLevel": { + "description": "Defines the price level of this PriceLevelScheduleEntry (referring to NumberOfPriceLevels). Small values for the PriceLevel represent a cheaper PriceLevelScheduleEntry. Large values for the PriceLevel represent a more expensive PriceLevelScheduleEntry.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "duration", + "priceLevel" + ] + }, + "PriceLevelScheduleType": { + "description": "The PriceLevelScheduleType is modeled after the same type that is defined in ISO 15118-20, such that if it is supplied by an EMSP as a signed EXI message, the conversion from EXI to JSON (in OCPP) and back to EXI (for ISO 15118-20) does not change the digest and therefore does not invalidate the signature.\r\n", + "javaType": "PriceLevelSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "priceLevelScheduleEntries": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/PriceLevelScheduleEntryType" + }, + "minItems": 1, + "maxItems": 100 + }, + "timeAnchor": { + "description": "Starting point of this price schedule.\r\n", + "type": "string", + "format": "date-time" + }, + "priceScheduleId": { + "description": "Unique ID of this price schedule.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "priceScheduleDescription": { + "description": "Description of the price schedule.\r\n", + "type": "string", + "maxLength": 32 + }, + "numberOfPriceLevels": { + "description": "Defines the overall number of distinct price level elements used across all PriceLevelSchedules.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timeAnchor", + "priceScheduleId", + "numberOfPriceLevels", + "priceLevelScheduleEntries" + ] + }, + "PriceRuleStackType": { + "description": "Part of ISO 15118-20 price schedule.\r\n", + "javaType": "PriceRuleStack", + "type": "object", + "additionalProperties": false, + "properties": { + "duration": { + "description": "Duration of the stack of price rules. he amount of seconds that define the duration of the given PriceRule(s).\r\n", + "type": "integer" + }, + "priceRule": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/PriceRuleType" + }, + "minItems": 1, + "maxItems": 8 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "duration", + "priceRule" + ] + }, + "PriceRuleType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "PriceRule", + "type": "object", + "additionalProperties": false, + "properties": { + "parkingFeePeriod": { + "description": "The duration of the parking fee period (in seconds).\r\nWhen the time enters into a ParkingFeePeriod, the ParkingFee will apply to the session. .\r\n", + "type": "integer" + }, + "carbonDioxideEmission": { + "description": "Number of grams of CO2 per kWh.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "renewableGenerationPercentage": { + "description": "Percentage of the power that is created by renewable resources.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "energyFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "parkingFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "powerRangeStart": { + "$ref": "#/definitions/RationalNumberType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "energyFee", + "powerRangeStart" + ] + }, + "RationalNumberType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "RationalNumber", + "type": "object", + "additionalProperties": false, + "properties": { + "exponent": { + "description": "The exponent to base 10 (dec)\r\n", + "type": "integer" + }, + "value": { + "description": "Value which shall be multiplied.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "exponent", + "value" + ] + }, + "RelativeTimeIntervalType": { + "javaType": "RelativeTimeInterval", + "type": "object", + "additionalProperties": false, + "properties": { + "start": { + "description": "Start of the interval, in seconds from NOW.\r\n", + "type": "integer" + }, + "duration": { + "description": "Duration of the interval, in seconds.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "start" + ] + }, + "SalesTariffEntryType": { + "javaType": "SalesTariffEntry", + "type": "object", + "additionalProperties": false, + "properties": { + "relativeTimeInterval": { + "$ref": "#/definitions/RelativeTimeIntervalType" + }, + "ePriceLevel": { + "description": "Defines the price level of this SalesTariffEntry (referring to NumEPriceLevels). Small values for the EPriceLevel represent a cheaper TariffEntry. Large values for the EPriceLevel represent a more expensive TariffEntry.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "consumptionCost": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ConsumptionCostType" + }, + "minItems": 1, + "maxItems": 3 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "relativeTimeInterval" + ] + }, + "SalesTariffType": { + "description": "A SalesTariff provided by a Mobility Operator (EMSP) .\r\nNOTE: This dataType is based on dataTypes from <<ref-ISOIEC15118-2,ISO 15118-2>>.\r\n", + "javaType": "SalesTariff", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "SalesTariff identifier used to identify one sales tariff. An SAID remains a unique identifier for one schedule throughout a charging session.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "salesTariffDescription": { + "description": "A human readable title/short description of the sales tariff e.g. for HMI display purposes.\r\n", + "type": "string", + "maxLength": 32 + }, + "numEPriceLevels": { + "description": "Defines the overall number of distinct price levels used across all provided SalesTariff elements.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "salesTariffEntry": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/SalesTariffEntryType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "salesTariffEntry" + ] + }, + "TaxRuleType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "TaxRule", + "type": "object", + "additionalProperties": false, + "properties": { + "taxRuleID": { + "description": "Id for the tax rule.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "taxRuleName": { + "description": "Human readable string to identify the tax rule.\r\n", + "type": "string", + "maxLength": 100 + }, + "taxIncludedInPrice": { + "description": "Indicates whether the tax is included in any price or not.\r\n", + "type": "boolean" + }, + "appliesToEnergyFee": { + "description": "Indicates whether this tax applies to Energy Fees.\r\n", + "type": "boolean" + }, + "appliesToParkingFee": { + "description": "Indicates whether this tax applies to Parking Fees.\r\n\r\n", + "type": "boolean" + }, + "appliesToOverstayFee": { + "description": "Indicates whether this tax applies to Overstay Fees.\r\n\r\n", + "type": "boolean" + }, + "appliesToMinimumMaximumCost": { + "description": "Indicates whether this tax applies to Minimum/Maximum Cost.\r\n\r\n", + "type": "boolean" + }, + "taxRate": { + "$ref": "#/definitions/RationalNumberType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "taxRuleID", + "appliesToEnergyFee", + "appliesToParkingFee", + "appliesToOverstayFee", + "appliesToMinimumMaximumCost", + "taxRate" + ] + }, + "V2XFreqWattPointType": { + "description": "*(2.1)* A point of a frequency-watt curve.\r\n", + "javaType": "V2XFreqWattPoint", + "type": "object", + "additionalProperties": false, + "properties": { + "frequency": { + "description": "Net frequency in Hz.\r\n", + "type": "number" + }, + "power": { + "description": "Power in W to charge (positive) or discharge (negative) at specified frequency.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "frequency", + "power" + ] + }, + "V2XSignalWattPointType": { + "description": "*(2.1)* A point of a signal-watt curve.\r\n", + "javaType": "V2XSignalWattPoint", + "type": "object", + "additionalProperties": false, + "properties": { + "signal": { + "description": "Signal value from an AFRRSignalRequest.\r\n", + "type": "integer" + }, + "power": { + "description": "Power in W to charge (positive) or discharge (negative) at specified frequency.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "signal", + "power" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "timeBase": { + "description": "Periods contained in the charging profile are relative to this point in time.\r\n", + "type": "string", + "format": "date-time" + }, + "chargingSchedule": { + "$ref": "#/definitions/ChargingScheduleType" + }, + "evseId": { + "description": "The charging schedule contained in this notification applies to an EVSE. EvseId must be > 0.\r\n", + "type": "integer", + "minimum": 1.0 + }, + "selectedChargingScheduleId": { + "description": "*(2.1)* Id of the _chargingSchedule_ that EV selected from the provided ChargingProfile.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "powerToleranceAcceptance": { + "description": "*(2.1)* True when power tolerance is accepted by EV.\r\nThis value is taken from EVPowerProfile.PowerToleranceAcceptance in the ISO 15118-20 PowerDeliverReq message..\r\n", + "type": "boolean" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timeBase", + "evseId", + "chargingSchedule" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyEVChargingScheduleResponse.json b/src/tests/schema_validation/schemas/v2.1/NotifyEVChargingScheduleResponse.json new file mode 100644 index 00000000..42585c61 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyEVChargingScheduleResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyEVChargingScheduleResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GenericStatusEnumType": { + "description": "Returns whether the CSMS has been able to process the message successfully. It does not imply any approval of the charging schedule.\r\n", + "javaType": "GenericStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GenericStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyEventRequest.json b/src/tests/schema_validation/schemas/v2.1/NotifyEventRequest.json new file mode 100644 index 00000000..014d3a3b --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyEventRequest.json @@ -0,0 +1,235 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyEventRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "EventNotificationEnumType": { + "description": "Specifies the event notification type of the message.\r\n\r\n", + "javaType": "EventNotificationEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "HardWiredNotification", + "HardWiredMonitor", + "PreconfiguredMonitor", + "CustomMonitor" + ] + }, + "EventTriggerEnumType": { + "description": "Type of trigger for this event, e.g. exceeding a threshold value.\r\n\r\n", + "javaType": "EventTriggerEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Alerting", + "Delta", + "Periodic" + ] + }, + "ComponentType": { + "description": "A physical or logical component\r\n", + "javaType": "Component", + "type": "object", + "additionalProperties": false, + "properties": { + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "name": { + "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "EventDataType": { + "description": "Class to report an event notification for a component-variable.\r\n", + "javaType": "EventData", + "type": "object", + "additionalProperties": false, + "properties": { + "eventId": { + "description": "Identifies the event. This field can be referred to as a cause by other events.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "timestamp": { + "description": "Timestamp of the moment the report was generated.\r\n", + "type": "string", + "format": "date-time" + }, + "trigger": { + "$ref": "#/definitions/EventTriggerEnumType" + }, + "cause": { + "description": "Refers to the Id of an event that is considered to be the cause for this event.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "actualValue": { + "description": "Actual value (_attributeType_ Actual) of the variable.\r\n\r\nThe Configuration Variable <<configkey-reporting-value-size,ReportingValueSize>> can be used to limit GetVariableResult.attributeValue, VariableAttribute.value and EventData.actualValue. The max size of these values will always remain equal. \r\n\r\n", + "type": "string", + "maxLength": 2500 + }, + "techCode": { + "description": "Technical (error) code as reported by component.\r\n", + "type": "string", + "maxLength": 50 + }, + "techInfo": { + "description": "Technical detail information as reported by component.\r\n", + "type": "string", + "maxLength": 500 + }, + "cleared": { + "description": "_Cleared_ is set to true to report the clearing of a monitored situation, i.e. a 'return to normal'. \r\n\r\n", + "type": "boolean" + }, + "transactionId": { + "description": "If an event notification is linked to a specific transaction, this field can be used to specify its transactionId.\r\n", + "type": "string", + "maxLength": 36 + }, + "component": { + "$ref": "#/definitions/ComponentType" + }, + "variableMonitoringId": { + "description": "Identifies the VariableMonitoring which triggered the event.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "eventNotificationType": { + "$ref": "#/definitions/EventNotificationEnumType" + }, + "variable": { + "$ref": "#/definitions/VariableType" + }, + "severity": { + "description": "*(2.1)* Severity associated with the monitor in _variableMonitoringId_ or with the hardwired notification.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "eventId", + "timestamp", + "trigger", + "actualValue", + "eventNotificationType", + "component", + "variable" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "VariableType": { + "description": "Reference key to a component-variable.\r\n", + "javaType": "Variable", + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "description": "Name of the variable. Name should be taken from the list of standardized variable names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "generatedAt": { + "description": "Timestamp of the moment this message was generated at the Charging Station.\r\n", + "type": "string", + "format": "date-time" + }, + "tbc": { + "description": "\u201cto be continued\u201d indicator. Indicates whether another part of the report follows in an upcoming notifyEventRequest message. Default value when omitted is false. \r\n", + "type": "boolean", + "default": false + }, + "seqNo": { + "description": "Sequence number of this message. First message starts at 0.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "eventData": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/EventDataType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "generatedAt", + "seqNo", + "eventData" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyEventResponse.json b/src/tests/schema_validation/schemas/v2.1/NotifyEventResponse.json new file mode 100644 index 00000000..4672e2fd --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyEventResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyEventResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyMonitoringReportRequest.json b/src/tests/schema_validation/schemas/v2.1/NotifyMonitoringReportRequest.json new file mode 100644 index 00000000..9553a4b6 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyMonitoringReportRequest.json @@ -0,0 +1,235 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyMonitoringReportRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "EventNotificationEnumType": { + "description": "*(2.1)* Type of monitor.\r\n", + "javaType": "EventNotificationEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "HardWiredNotification", + "HardWiredMonitor", + "PreconfiguredMonitor", + "CustomMonitor" + ] + }, + "MonitorEnumType": { + "description": "The type of this monitor, e.g. a threshold, delta or periodic monitor. \r\n", + "javaType": "MonitorEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "UpperThreshold", + "LowerThreshold", + "Delta", + "Periodic", + "PeriodicClockAligned", + "TargetDelta", + "TargetDeltaRelative" + ] + }, + "ComponentType": { + "description": "A physical or logical component\r\n", + "javaType": "Component", + "type": "object", + "additionalProperties": false, + "properties": { + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "name": { + "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "MonitoringDataType": { + "description": "Class to hold parameters of SetVariableMonitoring request.\r\n", + "javaType": "MonitoringData", + "type": "object", + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/definitions/ComponentType" + }, + "variable": { + "$ref": "#/definitions/VariableType" + }, + "variableMonitoring": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/VariableMonitoringType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "component", + "variable", + "variableMonitoring" + ] + }, + "VariableMonitoringType": { + "description": "A monitoring setting for a variable.\r\n", + "javaType": "VariableMonitoring", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "Identifies the monitor.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "transaction": { + "description": "Monitor only active when a transaction is ongoing on a component relevant to this transaction. \r\n", + "type": "boolean" + }, + "value": { + "description": "Value for threshold or delta monitoring.\r\nFor Periodic or PeriodicClockAligned this is the interval in seconds.\r\n", + "type": "number" + }, + "type": { + "$ref": "#/definitions/MonitorEnumType" + }, + "severity": { + "description": "The severity that will be assigned to an event that is triggered by this monitor. The severity range is 0-9, with 0 as the highest and 9 as the lowest severity level.\r\n\r\nThe severity levels have the following meaning: +\r\n*0-Danger* +\r\nIndicates lives are potentially in danger. Urgent attention is needed and action should be taken immediately. +\r\n*1-Hardware Failure* +\r\nIndicates that the Charging Station is unable to continue regular operations due to Hardware issues. Action is required. +\r\n*2-System Failure* +\r\nIndicates that the Charging Station is unable to continue regular operations due to software or minor hardware issues. Action is required. +\r\n*3-Critical* +\r\nIndicates a critical error. Action is required. +\r\n*4-Error* +\r\nIndicates a non-urgent error. Action is required. +\r\n*5-Alert* +\r\nIndicates an alert event. Default severity for any type of monitoring event. +\r\n*6-Warning* +\r\nIndicates a warning event. Action may be required. +\r\n*7-Notice* +\r\nIndicates an unusual event. No immediate action is required. +\r\n*8-Informational* +\r\nIndicates a regular operational event. May be used for reporting, measuring throughput, etc. No action is required. +\r\n*9-Debug* +\r\nIndicates information useful to developers for debugging, not useful during operations.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "eventNotificationType": { + "$ref": "#/definitions/EventNotificationEnumType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "transaction", + "value", + "type", + "severity", + "eventNotificationType" + ] + }, + "VariableType": { + "description": "Reference key to a component-variable.\r\n", + "javaType": "Variable", + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "description": "Name of the variable. Name should be taken from the list of standardized variable names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "monitor": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/MonitoringDataType" + }, + "minItems": 1 + }, + "requestId": { + "description": "The id of the GetMonitoringRequest that requested this report.\r\n\r\n", + "type": "integer" + }, + "tbc": { + "description": "\u201cto be continued\u201d indicator. Indicates whether another part of the monitoringData follows in an upcoming notifyMonitoringReportRequest message. Default value when omitted is false.\r\n", + "type": "boolean", + "default": false + }, + "seqNo": { + "description": "Sequence number of this message. First message starts at 0.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "generatedAt": { + "description": "Timestamp of the moment this message was generated at the Charging Station.\r\n", + "type": "string", + "format": "date-time" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestId", + "seqNo", + "generatedAt" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyMonitoringReportResponse.json b/src/tests/schema_validation/schemas/v2.1/NotifyMonitoringReportResponse.json new file mode 100644 index 00000000..a71b9c65 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyMonitoringReportResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyMonitoringReportResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyPeriodicEventStream.json b/src/tests/schema_validation/schemas/v2.1/NotifyPeriodicEventStream.json new file mode 100644 index 00000000..8a594be5 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyPeriodicEventStream.json @@ -0,0 +1,79 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyPeriodicEventStream", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "StreamDataElementType": { + "javaType": "StreamDataElement", + "type": "object", + "additionalProperties": false, + "properties": { + "t": { + "description": "Offset relative to _basetime_ of this message. _basetime_ + _t_ is timestamp of recorded value.\r\n", + "type": "number" + }, + "v": { + "type": "string", + "maxLength": 2500 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "t", + "v" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "data": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/StreamDataElementType" + }, + "minItems": 1 + }, + "id": { + "description": "Id of stream.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "pending": { + "description": "Number of data elements still pending to be sent.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "basetime": { + "description": "Base timestamp to add to time offset of values.\r\n", + "type": "string", + "format": "date-time" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "pending", + "basetime", + "data" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyPriorityChargingRequest.json b/src/tests/schema_validation/schemas/v2.1/NotifyPriorityChargingRequest.json new file mode 100644 index 00000000..3e7df574 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyPriorityChargingRequest.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyPriorityChargingRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "transactionId": { + "description": "The transaction for which priority charging is requested.\r\n", + "type": "string", + "maxLength": 36 + }, + "activated": { + "description": "True if priority charging was activated. False if it has stopped using the priority charging profile.\r\n", + "type": "boolean" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "transactionId", + "activated" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyPriorityChargingResponse.json b/src/tests/schema_validation/schemas/v2.1/NotifyPriorityChargingResponse.json new file mode 100644 index 00000000..08c33ce7 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyPriorityChargingResponse.json @@ -0,0 +1,29 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyPriorityChargingResponse", + "description": "This response message has an empty body.\r\n", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyReportRequest.json b/src/tests/schema_validation/schemas/v2.1/NotifyReportRequest.json new file mode 100644 index 00000000..99f8be97 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyReportRequest.json @@ -0,0 +1,287 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyReportRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "AttributeEnumType": { + "description": "Attribute: Actual, MinSet, MaxSet, etc.\r\nDefaults to Actual if absent.\r\n", + "javaType": "AttributeEnum", + "type": "string", + "default": "Actual", + "additionalProperties": false, + "enum": [ + "Actual", + "Target", + "MinSet", + "MaxSet" + ] + }, + "DataEnumType": { + "description": "Data type of this variable.\r\n", + "javaType": "DataEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "string", + "decimal", + "integer", + "dateTime", + "boolean", + "OptionList", + "SequenceList", + "MemberList" + ] + }, + "MutabilityEnumType": { + "description": "Defines the mutability of this attribute. Default is ReadWrite when omitted.\r\n", + "javaType": "MutabilityEnum", + "type": "string", + "default": "ReadWrite", + "additionalProperties": false, + "enum": [ + "ReadOnly", + "WriteOnly", + "ReadWrite" + ] + }, + "ComponentType": { + "description": "A physical or logical component\r\n", + "javaType": "Component", + "type": "object", + "additionalProperties": false, + "properties": { + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "name": { + "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "ReportDataType": { + "description": "Class to report components, variables and variable attributes and characteristics.\r\n", + "javaType": "ReportData", + "type": "object", + "additionalProperties": false, + "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" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "component", + "variable", + "variableAttribute" + ] + }, + "VariableAttributeType": { + "description": "Attribute data of a variable.\r\n", + "javaType": "VariableAttribute", + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "$ref": "#/definitions/AttributeEnumType" + }, + "value": { + "description": "Value of the attribute. May only be omitted when mutability is set to 'WriteOnly'.\r\n\r\nThe Configuration Variable <<configkey-reporting-value-size,ReportingValueSize>> can be used to limit GetVariableResult.attributeValue, VariableAttribute.value and EventData.actualValue. The max size of these values will always remain equal. \r\n", + "type": "string", + "maxLength": 2500 + }, + "mutability": { + "$ref": "#/definitions/MutabilityEnumType" + }, + "persistent": { + "description": "If true, value will be persistent across system reboots or power down. Default when omitted is false.\r\n", + "type": "boolean", + "default": false + }, + "constant": { + "description": "If true, value that will never be changed by the Charging Station at runtime. Default when omitted is false.\r\n", + "type": "boolean", + "default": false + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "VariableCharacteristicsType": { + "description": "Fixed read-only parameters of a variable.\r\n", + "javaType": "VariableCharacteristics", + "type": "object", + "additionalProperties": false, + "properties": { + "unit": { + "description": "Unit of the variable. When the transmitted value has a unit, this field SHALL be included.\r\n", + "type": "string", + "maxLength": 16 + }, + "dataType": { + "$ref": "#/definitions/DataEnumType" + }, + "minLimit": { + "description": "Minimum possible value of this variable.\r\n", + "type": "number" + }, + "maxLimit": { + "description": "Maximum possible value of this variable. When the datatype of this Variable is String, OptionList, SequenceList or MemberList, this field defines the maximum length of the (CSV) string.\r\n", + "type": "number" + }, + "maxElements": { + "description": "*(2.1)* Maximum number of elements from _valuesList_ that are supported as _attributeValue_.\r\n", + "type": "integer", + "minimum": 1.0 + }, + "valuesList": { + "description": "Mandatory when _dataType_ = OptionList, MemberList or SequenceList. In that case _valuesList_ specifies the allowed values for the type.\r\n\r\nThe length of this field can be limited by DeviceDataCtrlr.ConfigurationValueSize.\r\n\r\n* OptionList: The (Actual) Variable value must be a single value from the reported (CSV) enumeration list.\r\n\r\n* MemberList: The (Actual) Variable value may be an (unordered) (sub-)set of the reported (CSV) valid values list.\r\n\r\n* SequenceList: The (Actual) Variable value may be an ordered (priority, etc) (sub-)set of the reported (CSV) valid values.\r\n\r\nThis is a comma separated list.\r\n\r\nThe Configuration Variable <<configkey-configuration-value-size,ConfigurationValueSize>> can be used to limit SetVariableData.attributeValue and VariableCharacteristics.valuesList. The max size of these values will always remain equal. \r\n\r\n\r\n", + "type": "string", + "maxLength": 1000 + }, + "supportsMonitoring": { + "description": "Flag indicating if this variable supports monitoring. \r\n", + "type": "boolean" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "dataType", + "supportsMonitoring" + ] + }, + "VariableType": { + "description": "Reference key to a component-variable.\r\n", + "javaType": "Variable", + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "description": "Name of the variable. Name should be taken from the list of standardized variable names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "requestId": { + "description": "The id of the GetReportRequest or GetBaseReportRequest that requested this report\r\n", + "type": "integer" + }, + "generatedAt": { + "description": "Timestamp of the moment this message was generated at the Charging Station.\r\n", + "type": "string", + "format": "date-time" + }, + "reportData": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ReportDataType" + }, + "minItems": 1 + }, + "tbc": { + "description": "\u201cto be continued\u201d indicator. Indicates whether another part of the report follows in an upcoming notifyReportRequest message. Default value when omitted is false.\r\n\r\n", + "type": "boolean", + "default": false + }, + "seqNo": { + "description": "Sequence number of this message. First message starts at 0.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestId", + "generatedAt", + "seqNo" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyReportResponse.json b/src/tests/schema_validation/schemas/v2.1/NotifyReportResponse.json new file mode 100644 index 00000000..4d0265dd --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyReportResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyReportResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifySettlementRequest.json b/src/tests/schema_validation/schemas/v2.1/NotifySettlementRequest.json new file mode 100644 index 00000000..fa95f65a --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifySettlementRequest.json @@ -0,0 +1,137 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifySettlementRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "PaymentStatusEnumType": { + "description": "The status of the settlement attempt.\r\n\r\n", + "javaType": "PaymentStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Settled", + "Canceled", + "Rejected", + "Failed" + ] + }, + "AddressType": { + "description": "*(2.1)* A generic address format.\r\n", + "javaType": "Address", + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "description": "Name of person/company\r\n", + "type": "string", + "maxLength": 50 + }, + "address1": { + "description": "Address line 1\r\n", + "type": "string", + "maxLength": 100 + }, + "address2": { + "description": "Address line 2\r\n", + "type": "string", + "maxLength": 100 + }, + "city": { + "description": "City\r\n", + "type": "string", + "maxLength": 100 + }, + "postalCode": { + "description": "Postal code\r\n", + "type": "string", + "maxLength": 20 + }, + "country": { + "description": "Country name\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name", + "address1", + "city", + "country" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "transactionId": { + "description": "The _transactionId_ that the settlement belongs to. Can be empty if the payment transaction is canceled prior to the start of the OCPP transaction.\r\n\r\n", + "type": "string", + "maxLength": 36 + }, + "pspRef": { + "description": "The payment reference received from the payment terminal and is used as the value for _idToken_. \r\n\r\n", + "type": "string", + "maxLength": 255 + }, + "status": { + "$ref": "#/definitions/PaymentStatusEnumType" + }, + "statusInfo": { + "description": "Additional information from payment terminal/payment process.\r\n\r\n", + "type": "string", + "maxLength": 500 + }, + "settlementAmount": { + "description": "The amount that was settled, or attempted to be settled (in case of failure).\r\n\r\n", + "type": "number" + }, + "settlementTime": { + "description": "The time when the settlement was done.\r\n\r\n", + "type": "string", + "format": "date-time" + }, + "receiptId": { + "type": "string", + "maxLength": 50 + }, + "receiptUrl": { + "description": "The receipt URL, to be used if the receipt is generated by the payment terminal or the CS.\r\n\r\n", + "type": "string", + "maxLength": 2000 + }, + "vatCompany": { + "$ref": "#/definitions/AddressType" + }, + "vatNumber": { + "description": "VAT number for a company receipt.\r\n\r\n", + "type": "string", + "maxLength": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "pspRef", + "status", + "settlementAmount", + "settlementTime" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifySettlementResponse.json b/src/tests/schema_validation/schemas/v2.1/NotifySettlementResponse.json new file mode 100644 index 00000000..983a4efe --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifySettlementResponse.json @@ -0,0 +1,38 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifySettlementResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "receiptUrl": { + "description": "The receipt URL if receipt generated by CSMS. The Charging Station can QR encode it and show it to the EV Driver.\r\n\r\n", + "type": "string", + "maxLength": 2000 + }, + "receiptId": { + "description": "The receipt id if the receipt is generated by CSMS.\r\n\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyWebPaymentStartedRequest.json b/src/tests/schema_validation/schemas/v2.1/NotifyWebPaymentStartedRequest.json new file mode 100644 index 00000000..24497ef4 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyWebPaymentStartedRequest.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyWebPaymentStartedRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "evseId": { + "description": "EVSE id for which transaction is requested.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "timeout": { + "description": "Timeout value in seconds after which no result of web payment process (e.g. QR code scanning) is to be expected anymore.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "evseId", + "timeout" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/NotifyWebPaymentStartedResponse.json b/src/tests/schema_validation/schemas/v2.1/NotifyWebPaymentStartedResponse.json new file mode 100644 index 00000000..d123b1e5 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/NotifyWebPaymentStartedResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:NotifyWebPaymentStartedResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/OpenPeriodicEventStreamRequest.json b/src/tests/schema_validation/schemas/v2.1/OpenPeriodicEventStreamRequest.json new file mode 100644 index 00000000..d2f92ee8 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/OpenPeriodicEventStreamRequest.json @@ -0,0 +1,82 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:OpenPeriodicEventStreamRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ConstantStreamDataType": { + "javaType": "ConstantStreamData", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "Uniquely identifies the stream\r\n", + "type": "integer", + "minimum": 0.0 + }, + "params": { + "$ref": "#/definitions/PeriodicEventStreamParamsType" + }, + "variableMonitoringId": { + "description": "Id of monitor used to report his event. It can be a preconfigured or hardwired monitor.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "variableMonitoringId", + "params" + ] + }, + "PeriodicEventStreamParamsType": { + "javaType": "PeriodicEventStreamParams", + "type": "object", + "additionalProperties": false, + "properties": { + "interval": { + "description": "Time in seconds after which stream data is sent.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "values": { + "description": "Number of items to be sent together in stream.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "constantStreamData": { + "$ref": "#/definitions/ConstantStreamDataType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "constantStreamData" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/OpenPeriodicEventStreamResponse.json b/src/tests/schema_validation/schemas/v2.1/OpenPeriodicEventStreamResponse.json new file mode 100644 index 00000000..73da789d --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/OpenPeriodicEventStreamResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:OpenPeriodicEventStreamResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GenericStatusEnumType": { + "description": "Result of request.\r\n", + "javaType": "GenericStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GenericStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/PublishFirmwareRequest.json b/src/tests/schema_validation/schemas/v2.1/PublishFirmwareRequest.json new file mode 100644 index 00000000..5e603acf --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/PublishFirmwareRequest.json @@ -0,0 +1,58 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:PublishFirmwareRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "location": { + "description": "This contains a string containing a URI pointing to a\r\nlocation from which to retrieve the firmware.\r\n", + "type": "string", + "maxLength": 2000 + }, + "retries": { + "description": "This specifies how many times Charging Station must retry\r\nto download the firmware before giving up. If this field is not\r\npresent, it is left to Charging Station to decide how many times it wants to retry.\r\nIf the value is 0, it means: no retries.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "checksum": { + "description": "The MD5 checksum over the entire firmware file as a hexadecimal string of length 32. \r\n", + "type": "string", + "maxLength": 32 + }, + "requestId": { + "description": "The Id of the request.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "retryInterval": { + "description": "The interval in seconds\r\nafter which a retry may be\r\nattempted. If this field is not\r\npresent, it is left to Charging\r\nStation to decide how long to wait\r\nbetween attempts.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "location", + "checksum", + "requestId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/PublishFirmwareResponse.json b/src/tests/schema_validation/schemas/v2.1/PublishFirmwareResponse.json new file mode 100644 index 00000000..d6b13ab7 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/PublishFirmwareResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:PublishFirmwareResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GenericStatusEnumType": { + "description": "Indicates whether the request was accepted.\r\n", + "javaType": "GenericStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GenericStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/PublishFirmwareStatusNotificationRequest.json b/src/tests/schema_validation/schemas/v2.1/PublishFirmwareStatusNotificationRequest.json new file mode 100644 index 00000000..7b9305dd --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/PublishFirmwareStatusNotificationRequest.json @@ -0,0 +1,94 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:PublishFirmwareStatusNotificationRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "PublishFirmwareStatusEnumType": { + "description": "This contains the progress status of the publishfirmware\r\ninstallation.\r\n", + "javaType": "PublishFirmwareStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Idle", + "DownloadScheduled", + "Downloading", + "Downloaded", + "Published", + "DownloadFailed", + "DownloadPaused", + "InvalidChecksum", + "ChecksumVerified", + "PublishFailed" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/PublishFirmwareStatusEnumType" + }, + "location": { + "description": "Required if status is Published. Can be multiple URI\u2019s, if the Local Controller supports e.g. HTTP, HTTPS, and FTP.\r\n", + "type": "array", + "additionalItems": false, + "items": { + "type": "string", + "maxLength": 2000 + }, + "minItems": 1 + }, + "requestId": { + "description": "The request id that was\r\nprovided in the\r\nPublishFirmwareRequest which\r\ntriggered this action.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/PublishFirmwareStatusNotificationResponse.json b/src/tests/schema_validation/schemas/v2.1/PublishFirmwareStatusNotificationResponse.json new file mode 100644 index 00000000..494efc09 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/PublishFirmwareStatusNotificationResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:PublishFirmwareStatusNotificationResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/PullDynamicScheduleUpdateRequest.json b/src/tests/schema_validation/schemas/v2.1/PullDynamicScheduleUpdateRequest.json new file mode 100644 index 00000000..80f82a43 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/PullDynamicScheduleUpdateRequest.json @@ -0,0 +1,35 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:PullDynamicScheduleUpdateRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "chargingProfileId": { + "description": "Id of charging profile to update.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "chargingProfileId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/PullDynamicScheduleUpdateResponse.json b/src/tests/schema_validation/schemas/v2.1/PullDynamicScheduleUpdateResponse.json new file mode 100644 index 00000000..2822f779 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/PullDynamicScheduleUpdateResponse.json @@ -0,0 +1,136 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:PullDynamicScheduleUpdateResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ChargingProfileStatusEnumType": { + "description": "Result of request.\r\n\r\n", + "javaType": "ChargingProfileStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "ChargingScheduleUpdateType": { + "description": "Updates to a ChargingSchedulePeriodType for dynamic charging profiles.\r\n\r\n", + "javaType": "ChargingScheduleUpdate", + "type": "object", + "additionalProperties": false, + "properties": { + "limit": { + "description": "Optional only when not required by the _operationMode_, as in CentralSetpoint, ExternalSetpoint, ExternalLimits, LocalFrequency, LocalLoadBalancing. +\r\nCharging rate limit during the schedule period, in the applicable _chargingRateUnit_. \r\nThis SHOULD be a non-negative value; a negative value is only supported for backwards compatibility with older systems that use a negative value to specify a discharging limit.\r\nFor AC this field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "limit_L2": { + "description": "*(2.1)* Charging rate limit on phase L2 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "limit_L3": { + "description": "*(2.1)* Charging rate limit on phase L3 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "dischargeLimit": { + "description": "*(2.1)* Limit in _chargingRateUnit_ that the EV is allowed to discharge with. Note, these are negative values in order to be consistent with _setpoint_, which can be positive and negative. +\r\nFor AC this field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L2": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L2 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L3": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L3 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "setpoint": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow as close as possible. Use negative values for discharging. +\r\nWhen a limit and/or _dischargeLimit_ are given the overshoot when following _setpoint_ must remain within these values.\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpoint_L2": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L2 as close as possible.\r\n", + "type": "number" + }, + "setpoint_L3": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L3 as close as possible. \r\n", + "type": "number" + }, + "setpointReactive": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow as closely as possible. Positive values for inductive, negative for capacitive reactive power or current. +\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpointReactive_L2": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L2 as closely as possible. \r\n", + "type": "number" + }, + "setpointReactive_L3": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L3 as closely as possible. \r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "scheduleUpdate": { + "$ref": "#/definitions/ChargingScheduleUpdateType" + }, + "status": { + "$ref": "#/definitions/ChargingProfileStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ReportChargingProfilesRequest.json b/src/tests/schema_validation/schemas/v2.1/ReportChargingProfilesRequest.json new file mode 100644 index 00000000..bd2d993f --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ReportChargingProfilesRequest.json @@ -0,0 +1,1003 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ReportChargingProfilesRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ChargingProfileKindEnumType": { + "description": "Indicates the kind of schedule.\r\n", + "javaType": "ChargingProfileKindEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Absolute", + "Recurring", + "Relative", + "Dynamic" + ] + }, + "ChargingProfilePurposeEnumType": { + "description": "Defines the purpose of the schedule transferred by this profile\r\n", + "javaType": "ChargingProfilePurposeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ChargingStationExternalConstraints", + "ChargingStationMaxProfile", + "TxDefaultProfile", + "TxProfile", + "PriorityCharging", + "LocalGeneration" + ] + }, + "ChargingRateUnitEnumType": { + "description": "The unit of measure in which limits and setpoints are expressed.\r\n", + "javaType": "ChargingRateUnitEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "W", + "A" + ] + }, + "CostKindEnumType": { + "description": "The kind of cost referred to in the message element amount\r\n", + "javaType": "CostKindEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "CarbonDioxideEmission", + "RelativePricePercentage", + "RenewableGenerationPercentage" + ] + }, + "OperationModeEnumType": { + "description": "*(2.1)* Charging operation mode to use during this time interval. When absent defaults to `ChargingOnly`.\r\n", + "javaType": "OperationModeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Idle", + "ChargingOnly", + "CentralSetpoint", + "ExternalSetpoint", + "ExternalLimits", + "CentralFrequency", + "LocalFrequency", + "LocalLoadBalancing" + ] + }, + "RecurrencyKindEnumType": { + "description": "Indicates the start point of a recurrence.\r\n", + "javaType": "RecurrencyKindEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Daily", + "Weekly" + ] + }, + "AbsolutePriceScheduleType": { + "description": "The AbsolutePriceScheduleType is modeled after the same type that is defined in ISO 15118-20, such that if it is supplied by an EMSP as a signed EXI message, the conversion from EXI to JSON (in OCPP) and back to EXI (for ISO 15118-20) does not change the digest and therefore does not invalidate the signature.\r\n\r\nimage::images/AbsolutePriceSchedule-Simple.png[]\r\n\r\n", + "javaType": "AbsolutePriceSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "timeAnchor": { + "description": "Starting point of price schedule.\r\n", + "type": "string", + "format": "date-time" + }, + "priceScheduleID": { + "description": "Unique ID of price schedule\r\n", + "type": "integer", + "minimum": 0.0 + }, + "priceScheduleDescription": { + "description": "Description of the price schedule.\r\n", + "type": "string", + "maxLength": 160 + }, + "currency": { + "description": "Currency according to ISO 4217.\r\n", + "type": "string", + "maxLength": 3 + }, + "language": { + "description": "String that indicates what language is used for the human readable strings in the price schedule. Based on ISO 639.\r\n", + "type": "string", + "maxLength": 8 + }, + "priceAlgorithm": { + "description": "A string in URN notation which shall uniquely identify an algorithm that defines how to compute an energy fee sum for a specific power profile based on the EnergyFee information from the PriceRule elements.\r\n", + "type": "string", + "maxLength": 2000 + }, + "minimumCost": { + "$ref": "#/definitions/RationalNumberType" + }, + "maximumCost": { + "$ref": "#/definitions/RationalNumberType" + }, + "priceRuleStacks": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/PriceRuleStackType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "taxRules": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRuleType" + }, + "minItems": 1, + "maxItems": 10 + }, + "overstayRuleList": { + "$ref": "#/definitions/OverstayRuleListType" + }, + "additionalSelectedServices": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AdditionalSelectedServicesType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timeAnchor", + "priceScheduleID", + "currency", + "language", + "priceAlgorithm", + "priceRuleStacks" + ] + }, + "AdditionalSelectedServicesType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "AdditionalSelectedServices", + "type": "object", + "additionalProperties": false, + "properties": { + "serviceFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "serviceName": { + "description": "Human readable string to identify this service.\r\n", + "type": "string", + "maxLength": 80 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "serviceName", + "serviceFee" + ] + }, + "ChargingProfileType": { + "description": "A ChargingProfile consists of 1 to 3 ChargingSchedules with a list of ChargingSchedulePeriods, describing the amount of power or current that can be delivered per time interval.\r\n\r\nimage::images/ChargingProfile-Simple.png[]\r\n\r\n", + "javaType": "ChargingProfile", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "Id of ChargingProfile. Unique within charging station. Id can have a negative value. This is useful to distinguish charging profiles from an external actor (external constraints) from charging profiles received from CSMS.\r\n", + "type": "integer" + }, + "stackLevel": { + "description": "Value determining level in hierarchy stack of profiles. Higher values have precedence over lower values. Lowest level is 0.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "chargingProfilePurpose": { + "$ref": "#/definitions/ChargingProfilePurposeEnumType" + }, + "chargingProfileKind": { + "$ref": "#/definitions/ChargingProfileKindEnumType" + }, + "recurrencyKind": { + "$ref": "#/definitions/RecurrencyKindEnumType" + }, + "validFrom": { + "description": "Point in time at which the profile starts to be valid. If absent, the profile is valid as soon as it is received by the Charging Station.\r\n", + "type": "string", + "format": "date-time" + }, + "validTo": { + "description": "Point in time at which the profile stops to be valid. If absent, the profile is valid until it is replaced by another profile.\r\n", + "type": "string", + "format": "date-time" + }, + "transactionId": { + "description": "SHALL only be included if ChargingProfilePurpose is set to TxProfile in a SetChargingProfileRequest. The transactionId is used to match the profile to a specific transaction.\r\n", + "type": "string", + "maxLength": 36 + }, + "maxOfflineDuration": { + "description": "*(2.1)* Period in seconds that this charging profile remains valid after the Charging Station has gone offline. After this period the charging profile becomes invalid for as long as it is offline and the Charging Station reverts back to a valid profile with a lower stack level. \r\nIf _invalidAfterOfflineDuration_ is true, then this charging profile will become permanently invalid.\r\nA value of 0 means that the charging profile is immediately invalid while offline. When the field is absent, then no timeout applies and the charging profile remains valid when offline.\r\n", + "type": "integer" + }, + "chargingSchedule": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ChargingScheduleType" + }, + "minItems": 1, + "maxItems": 3 + }, + "invalidAfterOfflineDuration": { + "description": "*(2.1)* When set to true this charging profile will not be valid anymore after being offline for more than _maxOfflineDuration_. +\r\n When absent defaults to false.\r\n", + "type": "boolean" + }, + "dynUpdateInterval": { + "description": "*(2.1)* Interval in seconds after receipt of last update, when to request a profile update by sending a PullDynamicScheduleUpdateRequest message.\r\n A value of 0 or no value means that no update interval applies. +\r\n Only relevant in a dynamic charging profile.\r\n\r\n", + "type": "integer" + }, + "dynUpdateTime": { + "description": "*(2.1)* Time at which limits or setpoints in this charging profile were last updated by a PullDynamicScheduleUpdateRequest or UpdateDynamicScheduleRequest or by an external actor. +\r\n Only relevant in a dynamic charging profile.\r\n\r\n", + "type": "string", + "format": "date-time" + }, + "priceScheduleSignature": { + "description": "*(2.1)* ISO 15118-20 signature for all price schedules in _chargingSchedules_. +\r\nNote: for 256-bit elliptic curves (like secp256k1) the ECDSA signature is 512 bits (64 bytes) and for 521-bit curves (like secp521r1) the signature is 1042 bits. This equals 131 bytes, which can be encoded as base64 in 176 bytes.\r\n", + "type": "string", + "maxLength": 256 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "stackLevel", + "chargingProfilePurpose", + "chargingProfileKind", + "chargingSchedule" + ] + }, + "ChargingSchedulePeriodType": { + "description": "Charging schedule period structure defines a time period in a charging schedule. It is used in: CompositeScheduleType and in ChargingScheduleType. When used in a NotifyEVChargingScheduleRequest only _startPeriod_, _limit_, _limit_L2_, _limit_L3_ are relevant.\r\n", + "javaType": "ChargingSchedulePeriod", + "type": "object", + "additionalProperties": false, + "properties": { + "startPeriod": { + "description": "Start of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period.\r\n", + "type": "integer" + }, + "limit": { + "description": "Optional only when not required by the _operationMode_, as in CentralSetpoint, ExternalSetpoint, ExternalLimits, LocalFrequency, LocalLoadBalancing. +\r\nCharging rate limit during the schedule period, in the applicable _chargingRateUnit_. \r\nThis SHOULD be a non-negative value; a negative value is only supported for backwards compatibility with older systems that use a negative value to specify a discharging limit.\r\nWhen using _chargingRateUnit_ = `W`, this field represents the sum of the power of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "limit_L2": { + "description": "*(2.1)* Charging rate limit on phase L2 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "limit_L3": { + "description": "*(2.1)* Charging rate limit on phase L3 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "numberPhases": { + "description": "The number of phases that can be used for charging. +\r\nFor a DC EVSE this field should be omitted. +\r\nFor an AC EVSE a default value of _numberPhases_ = 3 will be assumed if the field is absent.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 3.0 + }, + "phaseToUse": { + "description": "Values: 1..3, Used if numberPhases=1 and if the EVSE is capable of switching the phase connected to the EV, i.e. ACPhaseSwitchingSupported is defined and true. It\u2019s not allowed unless both conditions above are true. If both conditions are true, and phaseToUse is omitted, the Charging Station / EVSE will make the selection on its own.\r\n\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 3.0 + }, + "dischargeLimit": { + "description": "*(2.1)* Limit in _chargingRateUnit_ that the EV is allowed to discharge with. Note, these are negative values in order to be consistent with _setpoint_, which can be positive and negative. +\r\nFor AC this field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L2": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L2 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L3": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L3 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "setpoint": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow as close as possible. Use negative values for discharging. +\r\nWhen a limit and/or _dischargeLimit_ are given the overshoot when following _setpoint_ must remain within these values.\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpoint_L2": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L2 as close as possible.\r\n", + "type": "number" + }, + "setpoint_L3": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L3 as close as possible. \r\n", + "type": "number" + }, + "setpointReactive": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow as closely as possible. Positive values for inductive, negative for capacitive reactive power or current. +\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpointReactive_L2": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L2 as closely as possible. \r\n", + "type": "number" + }, + "setpointReactive_L3": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L3 as closely as possible. \r\n", + "type": "number" + }, + "preconditioningRequest": { + "description": "*(2.1)* If true, the EV should attempt to keep the BMS preconditioned for this time interval.\r\n", + "type": "boolean" + }, + "evseSleep": { + "description": "*(2.1)* If true, the EVSE must turn off power electronics/modules associated with this transaction. Default value when absent is false.\r\n", + "type": "boolean" + }, + "v2xBaseline": { + "description": "*(2.1)* Power value that, when present, is used as a baseline on top of which values from _v2xFreqWattCurve_ and _v2xSignalWattCurve_ are added.\r\n\r\n", + "type": "number" + }, + "operationMode": { + "$ref": "#/definitions/OperationModeEnumType" + }, + "v2xFreqWattCurve": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/V2XFreqWattPointType" + }, + "minItems": 1, + "maxItems": 20 + }, + "v2xSignalWattCurve": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/V2XSignalWattPointType" + }, + "minItems": 1, + "maxItems": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startPeriod" + ] + }, + "ChargingScheduleType": { + "description": "Charging schedule structure defines a list of charging periods, as used in: NotifyEVChargingScheduleRequest and ChargingProfileType. When used in a NotifyEVChargingScheduleRequest only _duration_ and _chargingSchedulePeriod_ are relevant and _chargingRateUnit_ must be 'W'. +\r\nAn ISO 15118-20 session may provide either an _absolutePriceSchedule_ or a _priceLevelSchedule_. An ISO 15118-2 session can only provide a_salesTariff_ element. The field _digestValue_ is used when price schedule or sales tariff are signed.\r\n\r\nimage::images/ChargingSchedule-Simple.png[]\r\n\r\n\r\n", + "javaType": "ChargingSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "limitAtSoC": { + "$ref": "#/definitions/LimitAtSoCType" + }, + "startSchedule": { + "description": "Starting point of an absolute schedule or recurring schedule.\r\n", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration of the charging schedule in seconds. If the duration is left empty, the last period will continue indefinitely or until end of the transaction in case startSchedule is absent.\r\n", + "type": "integer" + }, + "chargingRateUnit": { + "$ref": "#/definitions/ChargingRateUnitEnumType" + }, + "minChargingRate": { + "description": "Minimum charging rate supported by the EV. The unit of measure is defined by the chargingRateUnit. This parameter is intended to be used by a local smart charging algorithm to optimize the power allocation for in the case a charging process is inefficient at lower charging rates. \r\n", + "type": "number" + }, + "powerTolerance": { + "description": "*(2.1)* Power tolerance when following EVPowerProfile.\r\n\r\n", + "type": "number" + }, + "signatureId": { + "description": "*(2.1)* Id of this element for referencing in a signature.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "digestValue": { + "description": "*(2.1)* Base64 encoded hash (SHA256 for ISO 15118-2, SHA512 for ISO 15118-20) of the EXI price schedule element. Used in signature.\r\n", + "type": "string", + "maxLength": 88 + }, + "useLocalTime": { + "description": "*(2.1)* Defaults to false. When true, disregard time zone offset in dateTime fields of _ChargingScheduleType_ and use unqualified local time at Charging Station instead.\r\n This allows the same `Absolute` or `Recurring` charging profile to be used in both summer and winter time.\r\n\r\n", + "type": "boolean" + }, + "chargingSchedulePeriod": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ChargingSchedulePeriodType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "randomizedDelay": { + "description": "*(2.1)* Defaults to 0. When _randomizedDelay_ not equals zero, then the start of each <<cmn_chargingscheduleperiodtype,ChargingSchedulePeriodType>> is delayed by a randomly chosen number of seconds between 0 and _randomizedDelay_. Only allowed for TxProfile and TxDefaultProfile.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "salesTariff": { + "$ref": "#/definitions/SalesTariffType" + }, + "absolutePriceSchedule": { + "$ref": "#/definitions/AbsolutePriceScheduleType" + }, + "priceLevelSchedule": { + "$ref": "#/definitions/PriceLevelScheduleType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "chargingRateUnit", + "chargingSchedulePeriod" + ] + }, + "ConsumptionCostType": { + "javaType": "ConsumptionCost", + "type": "object", + "additionalProperties": false, + "properties": { + "startValue": { + "description": "The lowest level of consumption that defines the starting point of this consumption block. The block interval extends to the start of the next interval.\r\n", + "type": "number" + }, + "cost": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/CostType" + }, + "minItems": 1, + "maxItems": 3 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startValue", + "cost" + ] + }, + "CostType": { + "javaType": "Cost", + "type": "object", + "additionalProperties": false, + "properties": { + "costKind": { + "$ref": "#/definitions/CostKindEnumType" + }, + "amount": { + "description": "The estimated or actual cost per kWh\r\n", + "type": "integer" + }, + "amountMultiplier": { + "description": "Values: -3..3, The amountMultiplier defines the exponent to base 10 (dec). The final value is determined by: amount * 10 ^ amountMultiplier\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "costKind", + "amount" + ] + }, + "LimitAtSoCType": { + "javaType": "LimitAtSoC", + "type": "object", + "additionalProperties": false, + "properties": { + "soc": { + "description": "The SoC value beyond which the charging rate limit should be applied.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "limit": { + "description": "Charging rate limit beyond the SoC value.\r\nThe unit is defined by _chargingSchedule.chargingRateUnit_.\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "soc", + "limit" + ] + }, + "OverstayRuleListType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "OverstayRuleList", + "type": "object", + "additionalProperties": false, + "properties": { + "overstayPowerThreshold": { + "$ref": "#/definitions/RationalNumberType" + }, + "overstayRule": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/OverstayRuleType" + }, + "minItems": 1, + "maxItems": 5 + }, + "overstayTimeThreshold": { + "description": "Time till overstay is applied in seconds.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "overstayRule" + ] + }, + "OverstayRuleType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "OverstayRule", + "type": "object", + "additionalProperties": false, + "properties": { + "overstayFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "overstayRuleDescription": { + "description": "Human readable string to identify the overstay rule.\r\n", + "type": "string", + "maxLength": 32 + }, + "startTime": { + "description": "Time in seconds after trigger of the parent Overstay Rules for this particular fee to apply.\r\n", + "type": "integer" + }, + "overstayFeePeriod": { + "description": "Time till overstay will be reapplied\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startTime", + "overstayFeePeriod", + "overstayFee" + ] + }, + "PriceLevelScheduleEntryType": { + "description": "Part of ISO 15118-20 price schedule.\r\n", + "javaType": "PriceLevelScheduleEntry", + "type": "object", + "additionalProperties": false, + "properties": { + "duration": { + "description": "The amount of seconds that define the duration of this given PriceLevelScheduleEntry.\r\n", + "type": "integer" + }, + "priceLevel": { + "description": "Defines the price level of this PriceLevelScheduleEntry (referring to NumberOfPriceLevels). Small values for the PriceLevel represent a cheaper PriceLevelScheduleEntry. Large values for the PriceLevel represent a more expensive PriceLevelScheduleEntry.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "duration", + "priceLevel" + ] + }, + "PriceLevelScheduleType": { + "description": "The PriceLevelScheduleType is modeled after the same type that is defined in ISO 15118-20, such that if it is supplied by an EMSP as a signed EXI message, the conversion from EXI to JSON (in OCPP) and back to EXI (for ISO 15118-20) does not change the digest and therefore does not invalidate the signature.\r\n", + "javaType": "PriceLevelSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "priceLevelScheduleEntries": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/PriceLevelScheduleEntryType" + }, + "minItems": 1, + "maxItems": 100 + }, + "timeAnchor": { + "description": "Starting point of this price schedule.\r\n", + "type": "string", + "format": "date-time" + }, + "priceScheduleId": { + "description": "Unique ID of this price schedule.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "priceScheduleDescription": { + "description": "Description of the price schedule.\r\n", + "type": "string", + "maxLength": 32 + }, + "numberOfPriceLevels": { + "description": "Defines the overall number of distinct price level elements used across all PriceLevelSchedules.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timeAnchor", + "priceScheduleId", + "numberOfPriceLevels", + "priceLevelScheduleEntries" + ] + }, + "PriceRuleStackType": { + "description": "Part of ISO 15118-20 price schedule.\r\n", + "javaType": "PriceRuleStack", + "type": "object", + "additionalProperties": false, + "properties": { + "duration": { + "description": "Duration of the stack of price rules. he amount of seconds that define the duration of the given PriceRule(s).\r\n", + "type": "integer" + }, + "priceRule": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/PriceRuleType" + }, + "minItems": 1, + "maxItems": 8 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "duration", + "priceRule" + ] + }, + "PriceRuleType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "PriceRule", + "type": "object", + "additionalProperties": false, + "properties": { + "parkingFeePeriod": { + "description": "The duration of the parking fee period (in seconds).\r\nWhen the time enters into a ParkingFeePeriod, the ParkingFee will apply to the session. .\r\n", + "type": "integer" + }, + "carbonDioxideEmission": { + "description": "Number of grams of CO2 per kWh.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "renewableGenerationPercentage": { + "description": "Percentage of the power that is created by renewable resources.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "energyFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "parkingFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "powerRangeStart": { + "$ref": "#/definitions/RationalNumberType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "energyFee", + "powerRangeStart" + ] + }, + "RationalNumberType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "RationalNumber", + "type": "object", + "additionalProperties": false, + "properties": { + "exponent": { + "description": "The exponent to base 10 (dec)\r\n", + "type": "integer" + }, + "value": { + "description": "Value which shall be multiplied.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "exponent", + "value" + ] + }, + "RelativeTimeIntervalType": { + "javaType": "RelativeTimeInterval", + "type": "object", + "additionalProperties": false, + "properties": { + "start": { + "description": "Start of the interval, in seconds from NOW.\r\n", + "type": "integer" + }, + "duration": { + "description": "Duration of the interval, in seconds.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "start" + ] + }, + "SalesTariffEntryType": { + "javaType": "SalesTariffEntry", + "type": "object", + "additionalProperties": false, + "properties": { + "relativeTimeInterval": { + "$ref": "#/definitions/RelativeTimeIntervalType" + }, + "ePriceLevel": { + "description": "Defines the price level of this SalesTariffEntry (referring to NumEPriceLevels). Small values for the EPriceLevel represent a cheaper TariffEntry. Large values for the EPriceLevel represent a more expensive TariffEntry.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "consumptionCost": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ConsumptionCostType" + }, + "minItems": 1, + "maxItems": 3 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "relativeTimeInterval" + ] + }, + "SalesTariffType": { + "description": "A SalesTariff provided by a Mobility Operator (EMSP) .\r\nNOTE: This dataType is based on dataTypes from <<ref-ISOIEC15118-2,ISO 15118-2>>.\r\n", + "javaType": "SalesTariff", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "SalesTariff identifier used to identify one sales tariff. An SAID remains a unique identifier for one schedule throughout a charging session.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "salesTariffDescription": { + "description": "A human readable title/short description of the sales tariff e.g. for HMI display purposes.\r\n", + "type": "string", + "maxLength": 32 + }, + "numEPriceLevels": { + "description": "Defines the overall number of distinct price levels used across all provided SalesTariff elements.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "salesTariffEntry": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/SalesTariffEntryType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "salesTariffEntry" + ] + }, + "TaxRuleType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "TaxRule", + "type": "object", + "additionalProperties": false, + "properties": { + "taxRuleID": { + "description": "Id for the tax rule.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "taxRuleName": { + "description": "Human readable string to identify the tax rule.\r\n", + "type": "string", + "maxLength": 100 + }, + "taxIncludedInPrice": { + "description": "Indicates whether the tax is included in any price or not.\r\n", + "type": "boolean" + }, + "appliesToEnergyFee": { + "description": "Indicates whether this tax applies to Energy Fees.\r\n", + "type": "boolean" + }, + "appliesToParkingFee": { + "description": "Indicates whether this tax applies to Parking Fees.\r\n\r\n", + "type": "boolean" + }, + "appliesToOverstayFee": { + "description": "Indicates whether this tax applies to Overstay Fees.\r\n\r\n", + "type": "boolean" + }, + "appliesToMinimumMaximumCost": { + "description": "Indicates whether this tax applies to Minimum/Maximum Cost.\r\n\r\n", + "type": "boolean" + }, + "taxRate": { + "$ref": "#/definitions/RationalNumberType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "taxRuleID", + "appliesToEnergyFee", + "appliesToParkingFee", + "appliesToOverstayFee", + "appliesToMinimumMaximumCost", + "taxRate" + ] + }, + "V2XFreqWattPointType": { + "description": "*(2.1)* A point of a frequency-watt curve.\r\n", + "javaType": "V2XFreqWattPoint", + "type": "object", + "additionalProperties": false, + "properties": { + "frequency": { + "description": "Net frequency in Hz.\r\n", + "type": "number" + }, + "power": { + "description": "Power in W to charge (positive) or discharge (negative) at specified frequency.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "frequency", + "power" + ] + }, + "V2XSignalWattPointType": { + "description": "*(2.1)* A point of a signal-watt curve.\r\n", + "javaType": "V2XSignalWattPoint", + "type": "object", + "additionalProperties": false, + "properties": { + "signal": { + "description": "Signal value from an AFRRSignalRequest.\r\n", + "type": "integer" + }, + "power": { + "description": "Power in W to charge (positive) or discharge (negative) at specified frequency.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "signal", + "power" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "requestId": { + "description": "Id used to match the <<getchargingprofilesrequest, GetChargingProfilesRequest>> message with the resulting ReportChargingProfilesRequest messages. When the CSMS provided a requestId in the <<getchargingprofilesrequest, GetChargingProfilesRequest>>, this field SHALL contain the same value.\r\n", + "type": "integer" + }, + "chargingLimitSource": { + "description": "Source that has installed this charging profile. Values defined in Appendix as ChargingLimitSourceEnumStringType.\r\n", + "type": "string", + "maxLength": 20 + }, + "chargingProfile": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ChargingProfileType" + }, + "minItems": 1 + }, + "tbc": { + "description": "To Be Continued. Default value when omitted: false. false indicates that there are no further messages as part of this report.\r\n", + "type": "boolean", + "default": false + }, + "evseId": { + "description": "The evse to which the charging profile applies. If evseId = 0, the message contains an overall limit for the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestId", + "chargingLimitSource", + "evseId", + "chargingProfile" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ReportChargingProfilesResponse.json b/src/tests/schema_validation/schemas/v2.1/ReportChargingProfilesResponse.json new file mode 100644 index 00000000..b0c47bb2 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ReportChargingProfilesResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ReportChargingProfilesResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ReportDERControlRequest.json b/src/tests/schema_validation/schemas/v2.1/ReportDERControlRequest.json new file mode 100644 index 00000000..7a9fcf62 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ReportDERControlRequest.json @@ -0,0 +1,755 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ReportDERControlRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "DERControlEnumType": { + "description": "Type of DER curve\r\n\r\n", + "javaType": "DERControlEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "EnterService", + "FreqDroop", + "FreqWatt", + "FixedPFAbsorb", + "FixedPFInject", + "FixedVar", + "Gradients", + "HFMustTrip", + "HFMayTrip", + "HVMustTrip", + "HVMomCess", + "HVMayTrip", + "LimitMaxDischarge", + "LFMustTrip", + "LVMustTrip", + "LVMomCess", + "LVMayTrip", + "PowerMonitoringMustTrip", + "VoltVar", + "VoltWatt", + "WattPF", + "WattVar" + ] + }, + "DERUnitEnumType": { + "description": "Unit of the Y-axis of DER curve\r\n", + "javaType": "DERUnitEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Not_Applicable", + "PctMaxW", + "PctMaxVar", + "PctWAvail", + "PctVarAvail", + "PctEffectiveV" + ] + }, + "PowerDuringCessationEnumType": { + "description": "Parameter is only sent, if the EV has to feed-in power or reactive power during fault-ride through (FRT) as defined by HVMomCess curve and LVMomCess curve.\r\n\r\n\r\n", + "javaType": "PowerDuringCessationEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Active", + "Reactive" + ] + }, + "DERCurveGetType": { + "javaType": "DERCurveGet", + "type": "object", + "additionalProperties": false, + "properties": { + "curve": { + "$ref": "#/definitions/DERCurveType" + }, + "id": { + "description": "Id of DER curve\r\n\r\n", + "type": "string", + "maxLength": 36 + }, + "curveType": { + "$ref": "#/definitions/DERControlEnumType" + }, + "isDefault": { + "description": "True if this is a default curve\r\n\r\n", + "type": "boolean" + }, + "isSuperseded": { + "description": "True if this setting is superseded by a higher priority setting (i.e. lower value of _priority_)\r\n\r\n", + "type": "boolean" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "curveType", + "isDefault", + "isSuperseded", + "curve" + ] + }, + "DERCurvePointsType": { + "javaType": "DERCurvePoints", + "type": "object", + "additionalProperties": false, + "properties": { + "x": { + "description": "The data value of the X-axis (independent) variable, depending on the curve type.\r\n\r\n\r\n", + "type": "number" + }, + "y": { + "description": "The data value of the Y-axis (dependent) variable, depending on the <<cmn_derunitenumtype>> of the curve. If _y_ is power factor, then a positive value means DER is absorbing reactive power (under-excited), a negative value when DER is injecting reactive power (over-excited).\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "x", + "y" + ] + }, + "DERCurveType": { + "javaType": "DERCurve", + "type": "object", + "additionalProperties": false, + "properties": { + "curveData": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/DERCurvePointsType" + }, + "minItems": 1, + "maxItems": 10 + }, + "hysteresis": { + "$ref": "#/definitions/HysteresisType" + }, + "priority": { + "description": "Priority of curve (0=highest)\r\n\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "reactivePowerParams": { + "$ref": "#/definitions/ReactivePowerParamsType" + }, + "voltageParams": { + "$ref": "#/definitions/VoltageParamsType" + }, + "yUnit": { + "$ref": "#/definitions/DERUnitEnumType" + }, + "responseTime": { + "description": "Open loop response time, the time to ramp up to 90% of the new target in response to the change in voltage, in seconds. A value of 0 is used to mean no limit. When not present, the device should follow its default behavior.\r\n\r\n\r\n", + "type": "number" + }, + "startTime": { + "description": "Point in time when this curve will become activated. Only absent when _default_ is true.\r\n\r\n", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration in seconds that this curve will be active. Only absent when _default_ is true.\r\n\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priority", + "yUnit", + "curveData" + ] + }, + "EnterServiceGetType": { + "javaType": "EnterServiceGet", + "type": "object", + "additionalProperties": false, + "properties": { + "enterService": { + "$ref": "#/definitions/EnterServiceType" + }, + "id": { + "description": "Id of setting\r\n\r\n", + "type": "string", + "maxLength": 36 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "enterService" + ] + }, + "EnterServiceType": { + "javaType": "EnterService", + "type": "object", + "additionalProperties": false, + "properties": { + "priority": { + "description": "Priority of setting (0=highest)\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "highVoltage": { + "description": "Enter service voltage high\r\n", + "type": "number" + }, + "lowVoltage": { + "description": "Enter service voltage low\r\n\r\n\r\n", + "type": "number" + }, + "highFreq": { + "description": "Enter service frequency high\r\n\r\n", + "type": "number" + }, + "lowFreq": { + "description": "Enter service frequency low\r\n\r\n\r\n", + "type": "number" + }, + "delay": { + "description": "Enter service delay\r\n\r\n\r\n", + "type": "number" + }, + "randomDelay": { + "description": "Enter service randomized delay\r\n\r\n\r\n", + "type": "number" + }, + "rampRate": { + "description": "Enter service ramp rate in seconds\r\n\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priority", + "highVoltage", + "lowVoltage", + "highFreq", + "lowFreq" + ] + }, + "FixedPFGetType": { + "javaType": "FixedPFGet", + "type": "object", + "additionalProperties": false, + "properties": { + "fixedPF": { + "$ref": "#/definitions/FixedPFType" + }, + "id": { + "description": "Id of setting.\r\n", + "type": "string", + "maxLength": 36 + }, + "isDefault": { + "description": "True if setting is a default control.\r\n", + "type": "boolean" + }, + "isSuperseded": { + "description": "True if this setting is superseded by a lower priority setting.\r\n", + "type": "boolean" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "isDefault", + "isSuperseded", + "fixedPF" + ] + }, + "FixedPFType": { + "javaType": "FixedPF", + "type": "object", + "additionalProperties": false, + "properties": { + "priority": { + "description": "Priority of setting (0=highest)\r\n", + "type": "integer", + "minimum": 0.0 + }, + "displacement": { + "description": "Power factor, cos(phi), as value between 0..1.\r\n", + "type": "number" + }, + "excitation": { + "description": "True when absorbing reactive power (under-excited), false when injecting reactive power (over-excited).\r\n", + "type": "boolean" + }, + "startTime": { + "description": "Time when this setting becomes active\r\n", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration in seconds that this setting is active.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priority", + "displacement", + "excitation" + ] + }, + "FixedVarGetType": { + "javaType": "FixedVarGet", + "type": "object", + "additionalProperties": false, + "properties": { + "fixedVar": { + "$ref": "#/definitions/FixedVarType" + }, + "id": { + "description": "Id of setting\r\n\r\n", + "type": "string", + "maxLength": 36 + }, + "isDefault": { + "description": "True if setting is a default control.\r\n", + "type": "boolean" + }, + "isSuperseded": { + "description": "True if this setting is superseded by a lower priority setting\r\n\r\n", + "type": "boolean" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "isDefault", + "isSuperseded", + "fixedVar" + ] + }, + "FixedVarType": { + "javaType": "FixedVar", + "type": "object", + "additionalProperties": false, + "properties": { + "priority": { + "description": "Priority of setting (0=highest)\r\n", + "type": "integer", + "minimum": 0.0 + }, + "setpoint": { + "description": "The value specifies a target var output interpreted as a signed percentage (-100 to 100). \r\n A negative value refers to charging, whereas a positive one refers to discharging.\r\n The value type is determined by the unit field.\r\n", + "type": "number" + }, + "unit": { + "$ref": "#/definitions/DERUnitEnumType" + }, + "startTime": { + "description": "Time when this setting becomes active.\r\n", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration in seconds that this setting is active.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priority", + "setpoint", + "unit" + ] + }, + "FreqDroopGetType": { + "javaType": "FreqDroopGet", + "type": "object", + "additionalProperties": false, + "properties": { + "freqDroop": { + "$ref": "#/definitions/FreqDroopType" + }, + "id": { + "description": "Id of setting\r\n\r\n", + "type": "string", + "maxLength": 36 + }, + "isDefault": { + "description": "True if setting is a default control.\r\n", + "type": "boolean" + }, + "isSuperseded": { + "description": "True if this setting is superseded by a higher priority setting (i.e. lower value of _priority_)\r\n\r\n", + "type": "boolean" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "isDefault", + "isSuperseded", + "freqDroop" + ] + }, + "FreqDroopType": { + "javaType": "FreqDroop", + "type": "object", + "additionalProperties": false, + "properties": { + "priority": { + "description": "Priority of setting (0=highest)\r\n\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "overFreq": { + "description": "Over-frequency start of droop\r\n\r\n\r\n", + "type": "number" + }, + "underFreq": { + "description": "Under-frequency start of droop\r\n\r\n\r\n", + "type": "number" + }, + "overDroop": { + "description": "Over-frequency droop per unit, oFDroop\r\n\r\n\r\n", + "type": "number" + }, + "underDroop": { + "description": "Under-frequency droop per unit, uFDroop\r\n\r\n", + "type": "number" + }, + "responseTime": { + "description": "Open loop response time in seconds\r\n\r\n", + "type": "number" + }, + "startTime": { + "description": "Time when this setting becomes active\r\n\r\n\r\n", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration in seconds that this setting is active\r\n\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priority", + "overFreq", + "underFreq", + "overDroop", + "underDroop", + "responseTime" + ] + }, + "GradientGetType": { + "javaType": "GradientGet", + "type": "object", + "additionalProperties": false, + "properties": { + "gradient": { + "$ref": "#/definitions/GradientType" + }, + "id": { + "description": "Id of setting\r\n\r\n", + "type": "string", + "maxLength": 36 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "gradient" + ] + }, + "GradientType": { + "javaType": "Gradient", + "type": "object", + "additionalProperties": false, + "properties": { + "priority": { + "description": "Id of setting\r\n\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "gradient": { + "description": "Default ramp rate in seconds (0 if not applicable)\r\n\r\n\r\n", + "type": "number" + }, + "softGradient": { + "description": "Soft-start ramp rate in seconds (0 if not applicable)\r\n\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priority", + "gradient", + "softGradient" + ] + }, + "HysteresisType": { + "javaType": "Hysteresis", + "type": "object", + "additionalProperties": false, + "properties": { + "hysteresisHigh": { + "description": "High value for return to normal operation after a grid event, in absolute value. This value adopts the same unit as defined by yUnit\r\n\r\n\r\n", + "type": "number" + }, + "hysteresisLow": { + "description": "Low value for return to normal operation after a grid event, in absolute value. This value adopts the same unit as defined by yUnit\r\n\r\n\r\n", + "type": "number" + }, + "hysteresisDelay": { + "description": "Delay in seconds, once grid parameter within HysteresisLow and HysteresisHigh, for the EV to return to normal operation after a grid event.\r\n\r\n\r\n", + "type": "number" + }, + "hysteresisGradient": { + "description": "Set default rate of change (ramp rate %/s) for the EV to return to normal operation after a grid event\r\n\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "LimitMaxDischargeGetType": { + "javaType": "LimitMaxDischargeGet", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "Id of setting\r\n\r\n", + "type": "string", + "maxLength": 36 + }, + "isDefault": { + "description": "True if setting is a default control.\r\n", + "type": "boolean" + }, + "isSuperseded": { + "description": "True if this setting is superseded by a higher priority setting (i.e. lower value of _priority_)\r\n\r\n", + "type": "boolean" + }, + "limitMaxDischarge": { + "$ref": "#/definitions/LimitMaxDischargeType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "isDefault", + "isSuperseded", + "limitMaxDischarge" + ] + }, + "LimitMaxDischargeType": { + "javaType": "LimitMaxDischarge", + "type": "object", + "additionalProperties": false, + "properties": { + "priority": { + "description": "Priority of setting (0=highest)\r\n\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "pctMaxDischargePower": { + "description": "Only for PowerMonitoring. +\r\n The value specifies a percentage (0 to 100) of the rated maximum discharge power of EV. \r\n The PowerMonitoring curve becomes active when power exceeds this percentage.\r\n\r\n\r\n", + "type": "number" + }, + "powerMonitoringMustTrip": { + "$ref": "#/definitions/DERCurveType" + }, + "startTime": { + "description": "Time when this setting becomes active\r\n\r\n\r\n", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration in seconds that this setting is active\r\n\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priority" + ] + }, + "ReactivePowerParamsType": { + "javaType": "ReactivePowerParams", + "type": "object", + "additionalProperties": false, + "properties": { + "vRef": { + "description": "Only for VoltVar curve: The nominal ac voltage (rms) adjustment to the voltage curve points for Volt-Var curves (percentage).\r\n\r\n\r\n", + "type": "number" + }, + "autonomousVRefEnable": { + "description": "Only for VoltVar: Enable/disable autonomous VRef adjustment\r\n\r\n\r\n", + "type": "boolean" + }, + "autonomousVRefTimeConstant": { + "description": "Only for VoltVar: Adjustment range for VRef time constant\r\n\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "VoltageParamsType": { + "javaType": "VoltageParams", + "type": "object", + "additionalProperties": false, + "properties": { + "hv10MinMeanValue": { + "description": "EN 50549-1 chapter 4.9.3.4\r\n Voltage threshold for the 10 min time window mean value monitoring.\r\n The 10 min mean is recalculated up to every 3 s. \r\n If the present voltage is above this threshold for more than the time defined by _hv10MinMeanValue_, the EV must trip.\r\n This value is mandatory if _hv10MinMeanTripDelay_ is set.\r\n\r\n\r\n", + "type": "number" + }, + "hv10MinMeanTripDelay": { + "description": "Time for which the voltage is allowed to stay above the 10 min mean value. \r\n After this time, the EV must trip.\r\n This value is mandatory if OverVoltageMeanValue10min is set.\r\n\r\n\r\n", + "type": "number" + }, + "powerDuringCessation": { + "$ref": "#/definitions/PowerDuringCessationEnumType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "curve": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/DERCurveGetType" + }, + "minItems": 1, + "maxItems": 24 + }, + "enterService": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/EnterServiceGetType" + }, + "minItems": 1, + "maxItems": 24 + }, + "fixedPFAbsorb": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/FixedPFGetType" + }, + "minItems": 1, + "maxItems": 24 + }, + "fixedPFInject": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/FixedPFGetType" + }, + "minItems": 1, + "maxItems": 24 + }, + "fixedVar": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/FixedVarGetType" + }, + "minItems": 1, + "maxItems": 24 + }, + "freqDroop": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/FreqDroopGetType" + }, + "minItems": 1, + "maxItems": 24 + }, + "gradient": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/GradientGetType" + }, + "minItems": 1, + "maxItems": 24 + }, + "limitMaxDischarge": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/LimitMaxDischargeGetType" + }, + "minItems": 1, + "maxItems": 24 + }, + "requestId": { + "description": "RequestId from GetDERControlRequest.\r\n", + "type": "integer" + }, + "tbc": { + "description": "To Be Continued. Default value when omitted: false. +\r\nFalse indicates that there are no further messages as part of this report.\r\n", + "type": "boolean" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ReportDERControlResponse.json b/src/tests/schema_validation/schemas/v2.1/ReportDERControlResponse.json new file mode 100644 index 00000000..63e04114 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ReportDERControlResponse.json @@ -0,0 +1,29 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ReportDERControlResponse", + "description": "This message has no parameters.\r\n\r\n", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/RequestBatterySwapRequest.json b/src/tests/schema_validation/schemas/v2.1/RequestBatterySwapRequest.json new file mode 100644 index 00000000..19780e36 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/RequestBatterySwapRequest.json @@ -0,0 +1,97 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:RequestBatterySwapRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "AdditionalInfoType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "AdditionalInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalIdToken": { + "description": "*(2.1)* This field specifies the additional IdToken.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "_additionalInfo_ can be used to send extra information to CSMS in addition to the regular authorization with _IdToken_. _AdditionalInfo_ contains one or more custom _types_, which need to be agreed upon by all parties involved. When the _type_ is not supported, the CSMS/Charging Station MAY ignore the _additionalInfo_.\r\n\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "additionalIdToken", + "type" + ] + }, + "IdTokenType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "IdToken", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalInfo": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AdditionalInfoType" + }, + "minItems": 1 + }, + "idToken": { + "description": "*(2.1)* IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "*(2.1)* Enumeration of possible idToken types. Values defined in Appendix as IdTokenEnumStringType.\r\n", + "type": "string", + "maxLength": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "idToken", + "type" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "idToken": { + "$ref": "#/definitions/IdTokenType" + }, + "requestId": { + "description": "Request id to match with BatterySwapRequest.\r\n\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestId", + "idToken" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/RequestBatterySwapResponse.json b/src/tests/schema_validation/schemas/v2.1/RequestBatterySwapResponse.json new file mode 100644 index 00000000..f1da4c7e --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/RequestBatterySwapResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:RequestBatterySwapResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GenericStatusEnumType": { + "description": "Accepted or rejected the request.\r\n", + "javaType": "GenericStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GenericStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/RequestStartTransactionRequest.json b/src/tests/schema_validation/schemas/v2.1/RequestStartTransactionRequest.json new file mode 100644 index 00000000..1c1b7a89 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/RequestStartTransactionRequest.json @@ -0,0 +1,1050 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:RequestStartTransactionRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ChargingProfileKindEnumType": { + "description": "Indicates the kind of schedule.\r\n", + "javaType": "ChargingProfileKindEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Absolute", + "Recurring", + "Relative", + "Dynamic" + ] + }, + "ChargingProfilePurposeEnumType": { + "description": "Defines the purpose of the schedule transferred by this profile\r\n", + "javaType": "ChargingProfilePurposeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ChargingStationExternalConstraints", + "ChargingStationMaxProfile", + "TxDefaultProfile", + "TxProfile", + "PriorityCharging", + "LocalGeneration" + ] + }, + "ChargingRateUnitEnumType": { + "description": "The unit of measure in which limits and setpoints are expressed.\r\n", + "javaType": "ChargingRateUnitEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "W", + "A" + ] + }, + "CostKindEnumType": { + "description": "The kind of cost referred to in the message element amount\r\n", + "javaType": "CostKindEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "CarbonDioxideEmission", + "RelativePricePercentage", + "RenewableGenerationPercentage" + ] + }, + "OperationModeEnumType": { + "description": "*(2.1)* Charging operation mode to use during this time interval. When absent defaults to `ChargingOnly`.\r\n", + "javaType": "OperationModeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Idle", + "ChargingOnly", + "CentralSetpoint", + "ExternalSetpoint", + "ExternalLimits", + "CentralFrequency", + "LocalFrequency", + "LocalLoadBalancing" + ] + }, + "RecurrencyKindEnumType": { + "description": "Indicates the start point of a recurrence.\r\n", + "javaType": "RecurrencyKindEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Daily", + "Weekly" + ] + }, + "AbsolutePriceScheduleType": { + "description": "The AbsolutePriceScheduleType is modeled after the same type that is defined in ISO 15118-20, such that if it is supplied by an EMSP as a signed EXI message, the conversion from EXI to JSON (in OCPP) and back to EXI (for ISO 15118-20) does not change the digest and therefore does not invalidate the signature.\r\n\r\nimage::images/AbsolutePriceSchedule-Simple.png[]\r\n\r\n", + "javaType": "AbsolutePriceSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "timeAnchor": { + "description": "Starting point of price schedule.\r\n", + "type": "string", + "format": "date-time" + }, + "priceScheduleID": { + "description": "Unique ID of price schedule\r\n", + "type": "integer", + "minimum": 0.0 + }, + "priceScheduleDescription": { + "description": "Description of the price schedule.\r\n", + "type": "string", + "maxLength": 160 + }, + "currency": { + "description": "Currency according to ISO 4217.\r\n", + "type": "string", + "maxLength": 3 + }, + "language": { + "description": "String that indicates what language is used for the human readable strings in the price schedule. Based on ISO 639.\r\n", + "type": "string", + "maxLength": 8 + }, + "priceAlgorithm": { + "description": "A string in URN notation which shall uniquely identify an algorithm that defines how to compute an energy fee sum for a specific power profile based on the EnergyFee information from the PriceRule elements.\r\n", + "type": "string", + "maxLength": 2000 + }, + "minimumCost": { + "$ref": "#/definitions/RationalNumberType" + }, + "maximumCost": { + "$ref": "#/definitions/RationalNumberType" + }, + "priceRuleStacks": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/PriceRuleStackType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "taxRules": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRuleType" + }, + "minItems": 1, + "maxItems": 10 + }, + "overstayRuleList": { + "$ref": "#/definitions/OverstayRuleListType" + }, + "additionalSelectedServices": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AdditionalSelectedServicesType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timeAnchor", + "priceScheduleID", + "currency", + "language", + "priceAlgorithm", + "priceRuleStacks" + ] + }, + "AdditionalInfoType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "AdditionalInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalIdToken": { + "description": "*(2.1)* This field specifies the additional IdToken.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "_additionalInfo_ can be used to send extra information to CSMS in addition to the regular authorization with _IdToken_. _AdditionalInfo_ contains one or more custom _types_, which need to be agreed upon by all parties involved. When the _type_ is not supported, the CSMS/Charging Station MAY ignore the _additionalInfo_.\r\n\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "additionalIdToken", + "type" + ] + }, + "AdditionalSelectedServicesType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "AdditionalSelectedServices", + "type": "object", + "additionalProperties": false, + "properties": { + "serviceFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "serviceName": { + "description": "Human readable string to identify this service.\r\n", + "type": "string", + "maxLength": 80 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "serviceName", + "serviceFee" + ] + }, + "ChargingProfileType": { + "description": "A ChargingProfile consists of 1 to 3 ChargingSchedules with a list of ChargingSchedulePeriods, describing the amount of power or current that can be delivered per time interval.\r\n\r\nimage::images/ChargingProfile-Simple.png[]\r\n\r\n", + "javaType": "ChargingProfile", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "Id of ChargingProfile. Unique within charging station. Id can have a negative value. This is useful to distinguish charging profiles from an external actor (external constraints) from charging profiles received from CSMS.\r\n", + "type": "integer" + }, + "stackLevel": { + "description": "Value determining level in hierarchy stack of profiles. Higher values have precedence over lower values. Lowest level is 0.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "chargingProfilePurpose": { + "$ref": "#/definitions/ChargingProfilePurposeEnumType" + }, + "chargingProfileKind": { + "$ref": "#/definitions/ChargingProfileKindEnumType" + }, + "recurrencyKind": { + "$ref": "#/definitions/RecurrencyKindEnumType" + }, + "validFrom": { + "description": "Point in time at which the profile starts to be valid. If absent, the profile is valid as soon as it is received by the Charging Station.\r\n", + "type": "string", + "format": "date-time" + }, + "validTo": { + "description": "Point in time at which the profile stops to be valid. If absent, the profile is valid until it is replaced by another profile.\r\n", + "type": "string", + "format": "date-time" + }, + "transactionId": { + "description": "SHALL only be included if ChargingProfilePurpose is set to TxProfile in a SetChargingProfileRequest. The transactionId is used to match the profile to a specific transaction.\r\n", + "type": "string", + "maxLength": 36 + }, + "maxOfflineDuration": { + "description": "*(2.1)* Period in seconds that this charging profile remains valid after the Charging Station has gone offline. After this period the charging profile becomes invalid for as long as it is offline and the Charging Station reverts back to a valid profile with a lower stack level. \r\nIf _invalidAfterOfflineDuration_ is true, then this charging profile will become permanently invalid.\r\nA value of 0 means that the charging profile is immediately invalid while offline. When the field is absent, then no timeout applies and the charging profile remains valid when offline.\r\n", + "type": "integer" + }, + "chargingSchedule": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ChargingScheduleType" + }, + "minItems": 1, + "maxItems": 3 + }, + "invalidAfterOfflineDuration": { + "description": "*(2.1)* When set to true this charging profile will not be valid anymore after being offline for more than _maxOfflineDuration_. +\r\n When absent defaults to false.\r\n", + "type": "boolean" + }, + "dynUpdateInterval": { + "description": "*(2.1)* Interval in seconds after receipt of last update, when to request a profile update by sending a PullDynamicScheduleUpdateRequest message.\r\n A value of 0 or no value means that no update interval applies. +\r\n Only relevant in a dynamic charging profile.\r\n\r\n", + "type": "integer" + }, + "dynUpdateTime": { + "description": "*(2.1)* Time at which limits or setpoints in this charging profile were last updated by a PullDynamicScheduleUpdateRequest or UpdateDynamicScheduleRequest or by an external actor. +\r\n Only relevant in a dynamic charging profile.\r\n\r\n", + "type": "string", + "format": "date-time" + }, + "priceScheduleSignature": { + "description": "*(2.1)* ISO 15118-20 signature for all price schedules in _chargingSchedules_. +\r\nNote: for 256-bit elliptic curves (like secp256k1) the ECDSA signature is 512 bits (64 bytes) and for 521-bit curves (like secp521r1) the signature is 1042 bits. This equals 131 bytes, which can be encoded as base64 in 176 bytes.\r\n", + "type": "string", + "maxLength": 256 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "stackLevel", + "chargingProfilePurpose", + "chargingProfileKind", + "chargingSchedule" + ] + }, + "ChargingSchedulePeriodType": { + "description": "Charging schedule period structure defines a time period in a charging schedule. It is used in: CompositeScheduleType and in ChargingScheduleType. When used in a NotifyEVChargingScheduleRequest only _startPeriod_, _limit_, _limit_L2_, _limit_L3_ are relevant.\r\n", + "javaType": "ChargingSchedulePeriod", + "type": "object", + "additionalProperties": false, + "properties": { + "startPeriod": { + "description": "Start of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period.\r\n", + "type": "integer" + }, + "limit": { + "description": "Optional only when not required by the _operationMode_, as in CentralSetpoint, ExternalSetpoint, ExternalLimits, LocalFrequency, LocalLoadBalancing. +\r\nCharging rate limit during the schedule period, in the applicable _chargingRateUnit_. \r\nThis SHOULD be a non-negative value; a negative value is only supported for backwards compatibility with older systems that use a negative value to specify a discharging limit.\r\nWhen using _chargingRateUnit_ = `W`, this field represents the sum of the power of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "limit_L2": { + "description": "*(2.1)* Charging rate limit on phase L2 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "limit_L3": { + "description": "*(2.1)* Charging rate limit on phase L3 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "numberPhases": { + "description": "The number of phases that can be used for charging. +\r\nFor a DC EVSE this field should be omitted. +\r\nFor an AC EVSE a default value of _numberPhases_ = 3 will be assumed if the field is absent.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 3.0 + }, + "phaseToUse": { + "description": "Values: 1..3, Used if numberPhases=1 and if the EVSE is capable of switching the phase connected to the EV, i.e. ACPhaseSwitchingSupported is defined and true. It\u2019s not allowed unless both conditions above are true. If both conditions are true, and phaseToUse is omitted, the Charging Station / EVSE will make the selection on its own.\r\n\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 3.0 + }, + "dischargeLimit": { + "description": "*(2.1)* Limit in _chargingRateUnit_ that the EV is allowed to discharge with. Note, these are negative values in order to be consistent with _setpoint_, which can be positive and negative. +\r\nFor AC this field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L2": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L2 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L3": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L3 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "setpoint": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow as close as possible. Use negative values for discharging. +\r\nWhen a limit and/or _dischargeLimit_ are given the overshoot when following _setpoint_ must remain within these values.\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpoint_L2": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L2 as close as possible.\r\n", + "type": "number" + }, + "setpoint_L3": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L3 as close as possible. \r\n", + "type": "number" + }, + "setpointReactive": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow as closely as possible. Positive values for inductive, negative for capacitive reactive power or current. +\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpointReactive_L2": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L2 as closely as possible. \r\n", + "type": "number" + }, + "setpointReactive_L3": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L3 as closely as possible. \r\n", + "type": "number" + }, + "preconditioningRequest": { + "description": "*(2.1)* If true, the EV should attempt to keep the BMS preconditioned for this time interval.\r\n", + "type": "boolean" + }, + "evseSleep": { + "description": "*(2.1)* If true, the EVSE must turn off power electronics/modules associated with this transaction. Default value when absent is false.\r\n", + "type": "boolean" + }, + "v2xBaseline": { + "description": "*(2.1)* Power value that, when present, is used as a baseline on top of which values from _v2xFreqWattCurve_ and _v2xSignalWattCurve_ are added.\r\n\r\n", + "type": "number" + }, + "operationMode": { + "$ref": "#/definitions/OperationModeEnumType" + }, + "v2xFreqWattCurve": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/V2XFreqWattPointType" + }, + "minItems": 1, + "maxItems": 20 + }, + "v2xSignalWattCurve": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/V2XSignalWattPointType" + }, + "minItems": 1, + "maxItems": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startPeriod" + ] + }, + "ChargingScheduleType": { + "description": "Charging schedule structure defines a list of charging periods, as used in: NotifyEVChargingScheduleRequest and ChargingProfileType. When used in a NotifyEVChargingScheduleRequest only _duration_ and _chargingSchedulePeriod_ are relevant and _chargingRateUnit_ must be 'W'. +\r\nAn ISO 15118-20 session may provide either an _absolutePriceSchedule_ or a _priceLevelSchedule_. An ISO 15118-2 session can only provide a_salesTariff_ element. The field _digestValue_ is used when price schedule or sales tariff are signed.\r\n\r\nimage::images/ChargingSchedule-Simple.png[]\r\n\r\n\r\n", + "javaType": "ChargingSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "limitAtSoC": { + "$ref": "#/definitions/LimitAtSoCType" + }, + "startSchedule": { + "description": "Starting point of an absolute schedule or recurring schedule.\r\n", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration of the charging schedule in seconds. If the duration is left empty, the last period will continue indefinitely or until end of the transaction in case startSchedule is absent.\r\n", + "type": "integer" + }, + "chargingRateUnit": { + "$ref": "#/definitions/ChargingRateUnitEnumType" + }, + "minChargingRate": { + "description": "Minimum charging rate supported by the EV. The unit of measure is defined by the chargingRateUnit. This parameter is intended to be used by a local smart charging algorithm to optimize the power allocation for in the case a charging process is inefficient at lower charging rates. \r\n", + "type": "number" + }, + "powerTolerance": { + "description": "*(2.1)* Power tolerance when following EVPowerProfile.\r\n\r\n", + "type": "number" + }, + "signatureId": { + "description": "*(2.1)* Id of this element for referencing in a signature.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "digestValue": { + "description": "*(2.1)* Base64 encoded hash (SHA256 for ISO 15118-2, SHA512 for ISO 15118-20) of the EXI price schedule element. Used in signature.\r\n", + "type": "string", + "maxLength": 88 + }, + "useLocalTime": { + "description": "*(2.1)* Defaults to false. When true, disregard time zone offset in dateTime fields of _ChargingScheduleType_ and use unqualified local time at Charging Station instead.\r\n This allows the same `Absolute` or `Recurring` charging profile to be used in both summer and winter time.\r\n\r\n", + "type": "boolean" + }, + "chargingSchedulePeriod": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ChargingSchedulePeriodType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "randomizedDelay": { + "description": "*(2.1)* Defaults to 0. When _randomizedDelay_ not equals zero, then the start of each <<cmn_chargingscheduleperiodtype,ChargingSchedulePeriodType>> is delayed by a randomly chosen number of seconds between 0 and _randomizedDelay_. Only allowed for TxProfile and TxDefaultProfile.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "salesTariff": { + "$ref": "#/definitions/SalesTariffType" + }, + "absolutePriceSchedule": { + "$ref": "#/definitions/AbsolutePriceScheduleType" + }, + "priceLevelSchedule": { + "$ref": "#/definitions/PriceLevelScheduleType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "chargingRateUnit", + "chargingSchedulePeriod" + ] + }, + "ConsumptionCostType": { + "javaType": "ConsumptionCost", + "type": "object", + "additionalProperties": false, + "properties": { + "startValue": { + "description": "The lowest level of consumption that defines the starting point of this consumption block. The block interval extends to the start of the next interval.\r\n", + "type": "number" + }, + "cost": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/CostType" + }, + "minItems": 1, + "maxItems": 3 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startValue", + "cost" + ] + }, + "CostType": { + "javaType": "Cost", + "type": "object", + "additionalProperties": false, + "properties": { + "costKind": { + "$ref": "#/definitions/CostKindEnumType" + }, + "amount": { + "description": "The estimated or actual cost per kWh\r\n", + "type": "integer" + }, + "amountMultiplier": { + "description": "Values: -3..3, The amountMultiplier defines the exponent to base 10 (dec). The final value is determined by: amount * 10 ^ amountMultiplier\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "costKind", + "amount" + ] + }, + "IdTokenType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "IdToken", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalInfo": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AdditionalInfoType" + }, + "minItems": 1 + }, + "idToken": { + "description": "*(2.1)* IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "*(2.1)* Enumeration of possible idToken types. Values defined in Appendix as IdTokenEnumStringType.\r\n", + "type": "string", + "maxLength": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "idToken", + "type" + ] + }, + "LimitAtSoCType": { + "javaType": "LimitAtSoC", + "type": "object", + "additionalProperties": false, + "properties": { + "soc": { + "description": "The SoC value beyond which the charging rate limit should be applied.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "limit": { + "description": "Charging rate limit beyond the SoC value.\r\nThe unit is defined by _chargingSchedule.chargingRateUnit_.\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "soc", + "limit" + ] + }, + "OverstayRuleListType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "OverstayRuleList", + "type": "object", + "additionalProperties": false, + "properties": { + "overstayPowerThreshold": { + "$ref": "#/definitions/RationalNumberType" + }, + "overstayRule": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/OverstayRuleType" + }, + "minItems": 1, + "maxItems": 5 + }, + "overstayTimeThreshold": { + "description": "Time till overstay is applied in seconds.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "overstayRule" + ] + }, + "OverstayRuleType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "OverstayRule", + "type": "object", + "additionalProperties": false, + "properties": { + "overstayFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "overstayRuleDescription": { + "description": "Human readable string to identify the overstay rule.\r\n", + "type": "string", + "maxLength": 32 + }, + "startTime": { + "description": "Time in seconds after trigger of the parent Overstay Rules for this particular fee to apply.\r\n", + "type": "integer" + }, + "overstayFeePeriod": { + "description": "Time till overstay will be reapplied\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startTime", + "overstayFeePeriod", + "overstayFee" + ] + }, + "PriceLevelScheduleEntryType": { + "description": "Part of ISO 15118-20 price schedule.\r\n", + "javaType": "PriceLevelScheduleEntry", + "type": "object", + "additionalProperties": false, + "properties": { + "duration": { + "description": "The amount of seconds that define the duration of this given PriceLevelScheduleEntry.\r\n", + "type": "integer" + }, + "priceLevel": { + "description": "Defines the price level of this PriceLevelScheduleEntry (referring to NumberOfPriceLevels). Small values for the PriceLevel represent a cheaper PriceLevelScheduleEntry. Large values for the PriceLevel represent a more expensive PriceLevelScheduleEntry.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "duration", + "priceLevel" + ] + }, + "PriceLevelScheduleType": { + "description": "The PriceLevelScheduleType is modeled after the same type that is defined in ISO 15118-20, such that if it is supplied by an EMSP as a signed EXI message, the conversion from EXI to JSON (in OCPP) and back to EXI (for ISO 15118-20) does not change the digest and therefore does not invalidate the signature.\r\n", + "javaType": "PriceLevelSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "priceLevelScheduleEntries": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/PriceLevelScheduleEntryType" + }, + "minItems": 1, + "maxItems": 100 + }, + "timeAnchor": { + "description": "Starting point of this price schedule.\r\n", + "type": "string", + "format": "date-time" + }, + "priceScheduleId": { + "description": "Unique ID of this price schedule.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "priceScheduleDescription": { + "description": "Description of the price schedule.\r\n", + "type": "string", + "maxLength": 32 + }, + "numberOfPriceLevels": { + "description": "Defines the overall number of distinct price level elements used across all PriceLevelSchedules.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timeAnchor", + "priceScheduleId", + "numberOfPriceLevels", + "priceLevelScheduleEntries" + ] + }, + "PriceRuleStackType": { + "description": "Part of ISO 15118-20 price schedule.\r\n", + "javaType": "PriceRuleStack", + "type": "object", + "additionalProperties": false, + "properties": { + "duration": { + "description": "Duration of the stack of price rules. he amount of seconds that define the duration of the given PriceRule(s).\r\n", + "type": "integer" + }, + "priceRule": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/PriceRuleType" + }, + "minItems": 1, + "maxItems": 8 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "duration", + "priceRule" + ] + }, + "PriceRuleType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "PriceRule", + "type": "object", + "additionalProperties": false, + "properties": { + "parkingFeePeriod": { + "description": "The duration of the parking fee period (in seconds).\r\nWhen the time enters into a ParkingFeePeriod, the ParkingFee will apply to the session. .\r\n", + "type": "integer" + }, + "carbonDioxideEmission": { + "description": "Number of grams of CO2 per kWh.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "renewableGenerationPercentage": { + "description": "Percentage of the power that is created by renewable resources.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "energyFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "parkingFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "powerRangeStart": { + "$ref": "#/definitions/RationalNumberType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "energyFee", + "powerRangeStart" + ] + }, + "RationalNumberType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "RationalNumber", + "type": "object", + "additionalProperties": false, + "properties": { + "exponent": { + "description": "The exponent to base 10 (dec)\r\n", + "type": "integer" + }, + "value": { + "description": "Value which shall be multiplied.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "exponent", + "value" + ] + }, + "RelativeTimeIntervalType": { + "javaType": "RelativeTimeInterval", + "type": "object", + "additionalProperties": false, + "properties": { + "start": { + "description": "Start of the interval, in seconds from NOW.\r\n", + "type": "integer" + }, + "duration": { + "description": "Duration of the interval, in seconds.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "start" + ] + }, + "SalesTariffEntryType": { + "javaType": "SalesTariffEntry", + "type": "object", + "additionalProperties": false, + "properties": { + "relativeTimeInterval": { + "$ref": "#/definitions/RelativeTimeIntervalType" + }, + "ePriceLevel": { + "description": "Defines the price level of this SalesTariffEntry (referring to NumEPriceLevels). Small values for the EPriceLevel represent a cheaper TariffEntry. Large values for the EPriceLevel represent a more expensive TariffEntry.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "consumptionCost": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ConsumptionCostType" + }, + "minItems": 1, + "maxItems": 3 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "relativeTimeInterval" + ] + }, + "SalesTariffType": { + "description": "A SalesTariff provided by a Mobility Operator (EMSP) .\r\nNOTE: This dataType is based on dataTypes from <<ref-ISOIEC15118-2,ISO 15118-2>>.\r\n", + "javaType": "SalesTariff", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "SalesTariff identifier used to identify one sales tariff. An SAID remains a unique identifier for one schedule throughout a charging session.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "salesTariffDescription": { + "description": "A human readable title/short description of the sales tariff e.g. for HMI display purposes.\r\n", + "type": "string", + "maxLength": 32 + }, + "numEPriceLevels": { + "description": "Defines the overall number of distinct price levels used across all provided SalesTariff elements.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "salesTariffEntry": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/SalesTariffEntryType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "salesTariffEntry" + ] + }, + "TaxRuleType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "TaxRule", + "type": "object", + "additionalProperties": false, + "properties": { + "taxRuleID": { + "description": "Id for the tax rule.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "taxRuleName": { + "description": "Human readable string to identify the tax rule.\r\n", + "type": "string", + "maxLength": 100 + }, + "taxIncludedInPrice": { + "description": "Indicates whether the tax is included in any price or not.\r\n", + "type": "boolean" + }, + "appliesToEnergyFee": { + "description": "Indicates whether this tax applies to Energy Fees.\r\n", + "type": "boolean" + }, + "appliesToParkingFee": { + "description": "Indicates whether this tax applies to Parking Fees.\r\n\r\n", + "type": "boolean" + }, + "appliesToOverstayFee": { + "description": "Indicates whether this tax applies to Overstay Fees.\r\n\r\n", + "type": "boolean" + }, + "appliesToMinimumMaximumCost": { + "description": "Indicates whether this tax applies to Minimum/Maximum Cost.\r\n\r\n", + "type": "boolean" + }, + "taxRate": { + "$ref": "#/definitions/RationalNumberType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "taxRuleID", + "appliesToEnergyFee", + "appliesToParkingFee", + "appliesToOverstayFee", + "appliesToMinimumMaximumCost", + "taxRate" + ] + }, + "V2XFreqWattPointType": { + "description": "*(2.1)* A point of a frequency-watt curve.\r\n", + "javaType": "V2XFreqWattPoint", + "type": "object", + "additionalProperties": false, + "properties": { + "frequency": { + "description": "Net frequency in Hz.\r\n", + "type": "number" + }, + "power": { + "description": "Power in W to charge (positive) or discharge (negative) at specified frequency.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "frequency", + "power" + ] + }, + "V2XSignalWattPointType": { + "description": "*(2.1)* A point of a signal-watt curve.\r\n", + "javaType": "V2XSignalWattPoint", + "type": "object", + "additionalProperties": false, + "properties": { + "signal": { + "description": "Signal value from an AFRRSignalRequest.\r\n", + "type": "integer" + }, + "power": { + "description": "Power in W to charge (positive) or discharge (negative) at specified frequency.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "signal", + "power" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "evseId": { + "description": "Number of the EVSE on which to start the transaction. EvseId SHALL be > 0\r\n", + "type": "integer", + "minimum": 1.0 + }, + "groupIdToken": { + "$ref": "#/definitions/IdTokenType" + }, + "idToken": { + "$ref": "#/definitions/IdTokenType" + }, + "remoteStartId": { + "description": "Id given by the server to this start request. The Charging Station will return this in the <<transactioneventrequest, TransactionEventRequest>>, letting the server know which transaction was started for this request. Use to start a transaction.\r\n", + "type": "integer" + }, + "chargingProfile": { + "$ref": "#/definitions/ChargingProfileType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "remoteStartId", + "idToken" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/RequestStartTransactionResponse.json b/src/tests/schema_validation/schemas/v2.1/RequestStartTransactionResponse.json new file mode 100644 index 00000000..bd34f929 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/RequestStartTransactionResponse.json @@ -0,0 +1,76 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:RequestStartTransactionResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "RequestStartStopStatusEnumType": { + "description": "Status indicating whether the Charging Station accepts the request to start a transaction.\r\n", + "javaType": "RequestStartStopStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/RequestStartStopStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "transactionId": { + "description": "When the transaction was already started by the Charging Station before the RequestStartTransactionRequest was received, for example: cable plugged in first. This contains the transactionId of the already started transaction.\r\n", + "type": "string", + "maxLength": 36 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/RequestStopTransactionRequest.json b/src/tests/schema_validation/schemas/v2.1/RequestStopTransactionRequest.json new file mode 100644 index 00000000..ae5be3b7 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/RequestStopTransactionRequest.json @@ -0,0 +1,36 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:RequestStopTransactionRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "transactionId": { + "description": "The identifier of the transaction which the Charging Station is requested to stop.\r\n", + "type": "string", + "maxLength": 36 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "transactionId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/RequestStopTransactionResponse.json b/src/tests/schema_validation/schemas/v2.1/RequestStopTransactionResponse.json new file mode 100644 index 00000000..dcd72dbb --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/RequestStopTransactionResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:RequestStopTransactionResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "RequestStartStopStatusEnumType": { + "description": "Status indicating whether Charging Station accepts the request to stop a transaction.\r\n", + "javaType": "RequestStartStopStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/RequestStartStopStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ReservationStatusUpdateRequest.json b/src/tests/schema_validation/schemas/v2.1/ReservationStatusUpdateRequest.json new file mode 100644 index 00000000..9b1fa662 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ReservationStatusUpdateRequest.json @@ -0,0 +1,51 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ReservationStatusUpdateRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ReservationUpdateStatusEnumType": { + "description": "The updated reservation status.\r\n", + "javaType": "ReservationUpdateStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Expired", + "Removed", + "NoTransaction" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "reservationId": { + "description": "The ID of the reservation.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "reservationUpdateStatus": { + "$ref": "#/definitions/ReservationUpdateStatusEnumType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reservationId", + "reservationUpdateStatus" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ReservationStatusUpdateResponse.json b/src/tests/schema_validation/schemas/v2.1/ReservationStatusUpdateResponse.json new file mode 100644 index 00000000..6067b522 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ReservationStatusUpdateResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ReservationStatusUpdateResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ReserveNowRequest.json b/src/tests/schema_validation/schemas/v2.1/ReserveNowRequest.json new file mode 100644 index 00000000..c63f80c4 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ReserveNowRequest.json @@ -0,0 +1,117 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ReserveNowRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "AdditionalInfoType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "AdditionalInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalIdToken": { + "description": "*(2.1)* This field specifies the additional IdToken.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "_additionalInfo_ can be used to send extra information to CSMS in addition to the regular authorization with _IdToken_. _AdditionalInfo_ contains one or more custom _types_, which need to be agreed upon by all parties involved. When the _type_ is not supported, the CSMS/Charging Station MAY ignore the _additionalInfo_.\r\n\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "additionalIdToken", + "type" + ] + }, + "IdTokenType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "IdToken", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalInfo": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AdditionalInfoType" + }, + "minItems": 1 + }, + "idToken": { + "description": "*(2.1)* IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "*(2.1)* Enumeration of possible idToken types. Values defined in Appendix as IdTokenEnumStringType.\r\n", + "type": "string", + "maxLength": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "idToken", + "type" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "Id of reservation.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "expiryDateTime": { + "description": "Date and time at which the reservation expires.\r\n", + "type": "string", + "format": "date-time" + }, + "connectorType": { + "description": "This field specifies the connector type. Values defined in Appendix as ConnectorEnumStringType.\r\n", + "type": "string", + "maxLength": 20 + }, + "idToken": { + "$ref": "#/definitions/IdTokenType" + }, + "evseId": { + "description": "This contains ID of the evse to be reserved.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "groupIdToken": { + "$ref": "#/definitions/IdTokenType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "expiryDateTime", + "idToken" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ReserveNowResponse.json b/src/tests/schema_validation/schemas/v2.1/ReserveNowResponse.json new file mode 100644 index 00000000..64cd3818 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ReserveNowResponse.json @@ -0,0 +1,74 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ReserveNowResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ReserveNowStatusEnumType": { + "description": "This indicates the success or failure of the reservation.\r\n", + "javaType": "ReserveNowStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Faulted", + "Occupied", + "Rejected", + "Unavailable" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/ReserveNowStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ResetRequest.json b/src/tests/schema_validation/schemas/v2.1/ResetRequest.json new file mode 100644 index 00000000..334e9823 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ResetRequest.json @@ -0,0 +1,50 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ResetRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ResetEnumType": { + "description": "This contains the type of reset that the Charging Station or EVSE should perform.\r\n", + "javaType": "ResetEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Immediate", + "OnIdle", + "ImmediateAndResume" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "$ref": "#/definitions/ResetEnumType" + }, + "evseId": { + "description": "This contains the ID of a specific EVSE that needs to be reset, instead of the entire Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "type" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/ResetResponse.json b/src/tests/schema_validation/schemas/v2.1/ResetResponse.json new file mode 100644 index 00000000..c172a31f --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/ResetResponse.json @@ -0,0 +1,72 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:ResetResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ResetStatusEnumType": { + "description": "This indicates whether the Charging Station is able to perform the reset.\r\n", + "javaType": "ResetStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "Scheduled" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/ResetStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SecurityEventNotificationRequest.json b/src/tests/schema_validation/schemas/v2.1/SecurityEventNotificationRequest.json new file mode 100644 index 00000000..ceb668c5 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SecurityEventNotificationRequest.json @@ -0,0 +1,47 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SecurityEventNotificationRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "description": "Type of the security event. This value should be taken from the Security events list.\r\n", + "type": "string", + "maxLength": 50 + }, + "timestamp": { + "description": "Date and time at which the event occurred.\r\n", + "type": "string", + "format": "date-time" + }, + "techInfo": { + "description": "Additional information about the occurred security event.\r\n", + "type": "string", + "maxLength": 255 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "type", + "timestamp" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SecurityEventNotificationResponse.json b/src/tests/schema_validation/schemas/v2.1/SecurityEventNotificationResponse.json new file mode 100644 index 00000000..f96bfd5c --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SecurityEventNotificationResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SecurityEventNotificationResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SendLocalListRequest.json b/src/tests/schema_validation/schemas/v2.1/SendLocalListRequest.json new file mode 100644 index 00000000..86d7497b --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SendLocalListRequest.json @@ -0,0 +1,246 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SendLocalListRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "AuthorizationStatusEnumType": { + "description": "Current status of the ID Token.\r\n", + "javaType": "AuthorizationStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Blocked", + "ConcurrentTx", + "Expired", + "Invalid", + "NoCredit", + "NotAllowedTypeEVSE", + "NotAtThisLocation", + "NotAtThisTime", + "Unknown" + ] + }, + "MessageFormatEnumType": { + "description": "Format of the message.\r\n", + "javaType": "MessageFormatEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ASCII", + "HTML", + "URI", + "UTF8", + "QRCODE" + ] + }, + "UpdateEnumType": { + "description": "This contains the type of update (full or differential) of this request.\r\n", + "javaType": "UpdateEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Differential", + "Full" + ] + }, + "AdditionalInfoType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "AdditionalInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalIdToken": { + "description": "*(2.1)* This field specifies the additional IdToken.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "_additionalInfo_ can be used to send extra information to CSMS in addition to the regular authorization with _IdToken_. _AdditionalInfo_ contains one or more custom _types_, which need to be agreed upon by all parties involved. When the _type_ is not supported, the CSMS/Charging Station MAY ignore the _additionalInfo_.\r\n\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "additionalIdToken", + "type" + ] + }, + "AuthorizationData": { + "description": "Contains the identifier to use for authorization.\r\n", + "javaType": "AuthorizationData", + "type": "object", + "additionalProperties": false, + "properties": { + "idToken": { + "$ref": "#/definitions/IdTokenType" + }, + "idTokenInfo": { + "$ref": "#/definitions/IdTokenInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "idToken" + ] + }, + "IdTokenInfoType": { + "description": "Contains status information about an identifier.\r\nIt is advised to not stop charging for a token that expires during charging, as ExpiryDate is only used for caching purposes. If ExpiryDate is not given, the status has no end date.\r\n", + "javaType": "IdTokenInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/AuthorizationStatusEnumType" + }, + "cacheExpiryDateTime": { + "description": "Date and Time after which the token must be considered invalid.\r\n", + "type": "string", + "format": "date-time" + }, + "chargingPriority": { + "description": "Priority from a business point of view. Default priority is 0, The range is from -9 to 9. Higher values indicate a higher priority. The chargingPriority in <<transactioneventresponse,TransactionEventResponse>> overrules this one. \r\n", + "type": "integer" + }, + "groupIdToken": { + "$ref": "#/definitions/IdTokenType" + }, + "language1": { + "description": "Preferred user interface language of identifier user. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n\r\n", + "type": "string", + "maxLength": 8 + }, + "language2": { + "description": "Second preferred user interface language of identifier user. Don\u2019t use when language1 is omitted, has to be different from language1. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n", + "type": "string", + "maxLength": 8 + }, + "evseId": { + "description": "Only used when the IdToken is only valid for one or more specific EVSEs, not for the entire Charging Station.\r\n\r\n", + "type": "array", + "additionalItems": false, + "items": { + "type": "integer", + "minimum": 0.0 + }, + "minItems": 1 + }, + "personalMessage": { + "$ref": "#/definitions/MessageContentType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] + }, + "IdTokenType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "IdToken", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalInfo": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AdditionalInfoType" + }, + "minItems": 1 + }, + "idToken": { + "description": "*(2.1)* IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "*(2.1)* Enumeration of possible idToken types. Values defined in Appendix as IdTokenEnumStringType.\r\n", + "type": "string", + "maxLength": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "idToken", + "type" + ] + }, + "MessageContentType": { + "description": "Contains message details, for a message to be displayed on a Charging Station.\r\n\r\n", + "javaType": "MessageContent", + "type": "object", + "additionalProperties": false, + "properties": { + "format": { + "$ref": "#/definitions/MessageFormatEnumType" + }, + "language": { + "description": "Message language identifier. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n", + "type": "string", + "maxLength": 8 + }, + "content": { + "description": "*(2.1)* Required. Message contents. +\r\nMaximum length supported by Charging Station is given in OCPPCommCtrlr.FieldLength[\"MessageContentType.content\"].\r\n Maximum length defaults to 1024.\r\n\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "format", + "content" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "localAuthorizationList": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AuthorizationData" + }, + "minItems": 1 + }, + "versionNumber": { + "description": "In case of a full update this is the version number of the full list. In case of a differential update it is the version number of the list after the update has been applied.\r\n", + "type": "integer" + }, + "updateType": { + "$ref": "#/definitions/UpdateEnumType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "versionNumber", + "updateType" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SendLocalListResponse.json b/src/tests/schema_validation/schemas/v2.1/SendLocalListResponse.json new file mode 100644 index 00000000..848c879a --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SendLocalListResponse.json @@ -0,0 +1,72 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SendLocalListResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "SendLocalListStatusEnumType": { + "description": "This indicates whether the Charging Station has successfully received and applied the update of the Local Authorization List.\r\n", + "javaType": "SendLocalListStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Failed", + "VersionMismatch" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/SendLocalListStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetChargingProfileRequest.json b/src/tests/schema_validation/schemas/v2.1/SetChargingProfileRequest.json new file mode 100644 index 00000000..98df0531 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetChargingProfileRequest.json @@ -0,0 +1,982 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetChargingProfileRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ChargingProfileKindEnumType": { + "description": "Indicates the kind of schedule.\r\n", + "javaType": "ChargingProfileKindEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Absolute", + "Recurring", + "Relative", + "Dynamic" + ] + }, + "ChargingProfilePurposeEnumType": { + "description": "Defines the purpose of the schedule transferred by this profile\r\n", + "javaType": "ChargingProfilePurposeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ChargingStationExternalConstraints", + "ChargingStationMaxProfile", + "TxDefaultProfile", + "TxProfile", + "PriorityCharging", + "LocalGeneration" + ] + }, + "ChargingRateUnitEnumType": { + "description": "The unit of measure in which limits and setpoints are expressed.\r\n", + "javaType": "ChargingRateUnitEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "W", + "A" + ] + }, + "CostKindEnumType": { + "description": "The kind of cost referred to in the message element amount\r\n", + "javaType": "CostKindEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "CarbonDioxideEmission", + "RelativePricePercentage", + "RenewableGenerationPercentage" + ] + }, + "OperationModeEnumType": { + "description": "*(2.1)* Charging operation mode to use during this time interval. When absent defaults to `ChargingOnly`.\r\n", + "javaType": "OperationModeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Idle", + "ChargingOnly", + "CentralSetpoint", + "ExternalSetpoint", + "ExternalLimits", + "CentralFrequency", + "LocalFrequency", + "LocalLoadBalancing" + ] + }, + "RecurrencyKindEnumType": { + "description": "Indicates the start point of a recurrence.\r\n", + "javaType": "RecurrencyKindEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Daily", + "Weekly" + ] + }, + "AbsolutePriceScheduleType": { + "description": "The AbsolutePriceScheduleType is modeled after the same type that is defined in ISO 15118-20, such that if it is supplied by an EMSP as a signed EXI message, the conversion from EXI to JSON (in OCPP) and back to EXI (for ISO 15118-20) does not change the digest and therefore does not invalidate the signature.\r\n\r\nimage::images/AbsolutePriceSchedule-Simple.png[]\r\n\r\n", + "javaType": "AbsolutePriceSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "timeAnchor": { + "description": "Starting point of price schedule.\r\n", + "type": "string", + "format": "date-time" + }, + "priceScheduleID": { + "description": "Unique ID of price schedule\r\n", + "type": "integer", + "minimum": 0.0 + }, + "priceScheduleDescription": { + "description": "Description of the price schedule.\r\n", + "type": "string", + "maxLength": 160 + }, + "currency": { + "description": "Currency according to ISO 4217.\r\n", + "type": "string", + "maxLength": 3 + }, + "language": { + "description": "String that indicates what language is used for the human readable strings in the price schedule. Based on ISO 639.\r\n", + "type": "string", + "maxLength": 8 + }, + "priceAlgorithm": { + "description": "A string in URN notation which shall uniquely identify an algorithm that defines how to compute an energy fee sum for a specific power profile based on the EnergyFee information from the PriceRule elements.\r\n", + "type": "string", + "maxLength": 2000 + }, + "minimumCost": { + "$ref": "#/definitions/RationalNumberType" + }, + "maximumCost": { + "$ref": "#/definitions/RationalNumberType" + }, + "priceRuleStacks": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/PriceRuleStackType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "taxRules": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRuleType" + }, + "minItems": 1, + "maxItems": 10 + }, + "overstayRuleList": { + "$ref": "#/definitions/OverstayRuleListType" + }, + "additionalSelectedServices": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AdditionalSelectedServicesType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timeAnchor", + "priceScheduleID", + "currency", + "language", + "priceAlgorithm", + "priceRuleStacks" + ] + }, + "AdditionalSelectedServicesType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "AdditionalSelectedServices", + "type": "object", + "additionalProperties": false, + "properties": { + "serviceFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "serviceName": { + "description": "Human readable string to identify this service.\r\n", + "type": "string", + "maxLength": 80 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "serviceName", + "serviceFee" + ] + }, + "ChargingProfileType": { + "description": "A ChargingProfile consists of 1 to 3 ChargingSchedules with a list of ChargingSchedulePeriods, describing the amount of power or current that can be delivered per time interval.\r\n\r\nimage::images/ChargingProfile-Simple.png[]\r\n\r\n", + "javaType": "ChargingProfile", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "Id of ChargingProfile. Unique within charging station. Id can have a negative value. This is useful to distinguish charging profiles from an external actor (external constraints) from charging profiles received from CSMS.\r\n", + "type": "integer" + }, + "stackLevel": { + "description": "Value determining level in hierarchy stack of profiles. Higher values have precedence over lower values. Lowest level is 0.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "chargingProfilePurpose": { + "$ref": "#/definitions/ChargingProfilePurposeEnumType" + }, + "chargingProfileKind": { + "$ref": "#/definitions/ChargingProfileKindEnumType" + }, + "recurrencyKind": { + "$ref": "#/definitions/RecurrencyKindEnumType" + }, + "validFrom": { + "description": "Point in time at which the profile starts to be valid. If absent, the profile is valid as soon as it is received by the Charging Station.\r\n", + "type": "string", + "format": "date-time" + }, + "validTo": { + "description": "Point in time at which the profile stops to be valid. If absent, the profile is valid until it is replaced by another profile.\r\n", + "type": "string", + "format": "date-time" + }, + "transactionId": { + "description": "SHALL only be included if ChargingProfilePurpose is set to TxProfile in a SetChargingProfileRequest. The transactionId is used to match the profile to a specific transaction.\r\n", + "type": "string", + "maxLength": 36 + }, + "maxOfflineDuration": { + "description": "*(2.1)* Period in seconds that this charging profile remains valid after the Charging Station has gone offline. After this period the charging profile becomes invalid for as long as it is offline and the Charging Station reverts back to a valid profile with a lower stack level. \r\nIf _invalidAfterOfflineDuration_ is true, then this charging profile will become permanently invalid.\r\nA value of 0 means that the charging profile is immediately invalid while offline. When the field is absent, then no timeout applies and the charging profile remains valid when offline.\r\n", + "type": "integer" + }, + "chargingSchedule": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ChargingScheduleType" + }, + "minItems": 1, + "maxItems": 3 + }, + "invalidAfterOfflineDuration": { + "description": "*(2.1)* When set to true this charging profile will not be valid anymore after being offline for more than _maxOfflineDuration_. +\r\n When absent defaults to false.\r\n", + "type": "boolean" + }, + "dynUpdateInterval": { + "description": "*(2.1)* Interval in seconds after receipt of last update, when to request a profile update by sending a PullDynamicScheduleUpdateRequest message.\r\n A value of 0 or no value means that no update interval applies. +\r\n Only relevant in a dynamic charging profile.\r\n\r\n", + "type": "integer" + }, + "dynUpdateTime": { + "description": "*(2.1)* Time at which limits or setpoints in this charging profile were last updated by a PullDynamicScheduleUpdateRequest or UpdateDynamicScheduleRequest or by an external actor. +\r\n Only relevant in a dynamic charging profile.\r\n\r\n", + "type": "string", + "format": "date-time" + }, + "priceScheduleSignature": { + "description": "*(2.1)* ISO 15118-20 signature for all price schedules in _chargingSchedules_. +\r\nNote: for 256-bit elliptic curves (like secp256k1) the ECDSA signature is 512 bits (64 bytes) and for 521-bit curves (like secp521r1) the signature is 1042 bits. This equals 131 bytes, which can be encoded as base64 in 176 bytes.\r\n", + "type": "string", + "maxLength": 256 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "stackLevel", + "chargingProfilePurpose", + "chargingProfileKind", + "chargingSchedule" + ] + }, + "ChargingSchedulePeriodType": { + "description": "Charging schedule period structure defines a time period in a charging schedule. It is used in: CompositeScheduleType and in ChargingScheduleType. When used in a NotifyEVChargingScheduleRequest only _startPeriod_, _limit_, _limit_L2_, _limit_L3_ are relevant.\r\n", + "javaType": "ChargingSchedulePeriod", + "type": "object", + "additionalProperties": false, + "properties": { + "startPeriod": { + "description": "Start of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period.\r\n", + "type": "integer" + }, + "limit": { + "description": "Optional only when not required by the _operationMode_, as in CentralSetpoint, ExternalSetpoint, ExternalLimits, LocalFrequency, LocalLoadBalancing. +\r\nCharging rate limit during the schedule period, in the applicable _chargingRateUnit_. \r\nThis SHOULD be a non-negative value; a negative value is only supported for backwards compatibility with older systems that use a negative value to specify a discharging limit.\r\nWhen using _chargingRateUnit_ = `W`, this field represents the sum of the power of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "limit_L2": { + "description": "*(2.1)* Charging rate limit on phase L2 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "limit_L3": { + "description": "*(2.1)* Charging rate limit on phase L3 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "numberPhases": { + "description": "The number of phases that can be used for charging. +\r\nFor a DC EVSE this field should be omitted. +\r\nFor an AC EVSE a default value of _numberPhases_ = 3 will be assumed if the field is absent.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 3.0 + }, + "phaseToUse": { + "description": "Values: 1..3, Used if numberPhases=1 and if the EVSE is capable of switching the phase connected to the EV, i.e. ACPhaseSwitchingSupported is defined and true. It\u2019s not allowed unless both conditions above are true. If both conditions are true, and phaseToUse is omitted, the Charging Station / EVSE will make the selection on its own.\r\n\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 3.0 + }, + "dischargeLimit": { + "description": "*(2.1)* Limit in _chargingRateUnit_ that the EV is allowed to discharge with. Note, these are negative values in order to be consistent with _setpoint_, which can be positive and negative. +\r\nFor AC this field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L2": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L2 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L3": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L3 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "setpoint": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow as close as possible. Use negative values for discharging. +\r\nWhen a limit and/or _dischargeLimit_ are given the overshoot when following _setpoint_ must remain within these values.\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpoint_L2": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L2 as close as possible.\r\n", + "type": "number" + }, + "setpoint_L3": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L3 as close as possible. \r\n", + "type": "number" + }, + "setpointReactive": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow as closely as possible. Positive values for inductive, negative for capacitive reactive power or current. +\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpointReactive_L2": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L2 as closely as possible. \r\n", + "type": "number" + }, + "setpointReactive_L3": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L3 as closely as possible. \r\n", + "type": "number" + }, + "preconditioningRequest": { + "description": "*(2.1)* If true, the EV should attempt to keep the BMS preconditioned for this time interval.\r\n", + "type": "boolean" + }, + "evseSleep": { + "description": "*(2.1)* If true, the EVSE must turn off power electronics/modules associated with this transaction. Default value when absent is false.\r\n", + "type": "boolean" + }, + "v2xBaseline": { + "description": "*(2.1)* Power value that, when present, is used as a baseline on top of which values from _v2xFreqWattCurve_ and _v2xSignalWattCurve_ are added.\r\n\r\n", + "type": "number" + }, + "operationMode": { + "$ref": "#/definitions/OperationModeEnumType" + }, + "v2xFreqWattCurve": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/V2XFreqWattPointType" + }, + "minItems": 1, + "maxItems": 20 + }, + "v2xSignalWattCurve": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/V2XSignalWattPointType" + }, + "minItems": 1, + "maxItems": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startPeriod" + ] + }, + "ChargingScheduleType": { + "description": "Charging schedule structure defines a list of charging periods, as used in: NotifyEVChargingScheduleRequest and ChargingProfileType. When used in a NotifyEVChargingScheduleRequest only _duration_ and _chargingSchedulePeriod_ are relevant and _chargingRateUnit_ must be 'W'. +\r\nAn ISO 15118-20 session may provide either an _absolutePriceSchedule_ or a _priceLevelSchedule_. An ISO 15118-2 session can only provide a_salesTariff_ element. The field _digestValue_ is used when price schedule or sales tariff are signed.\r\n\r\nimage::images/ChargingSchedule-Simple.png[]\r\n\r\n\r\n", + "javaType": "ChargingSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "integer" + }, + "limitAtSoC": { + "$ref": "#/definitions/LimitAtSoCType" + }, + "startSchedule": { + "description": "Starting point of an absolute schedule or recurring schedule.\r\n", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration of the charging schedule in seconds. If the duration is left empty, the last period will continue indefinitely or until end of the transaction in case startSchedule is absent.\r\n", + "type": "integer" + }, + "chargingRateUnit": { + "$ref": "#/definitions/ChargingRateUnitEnumType" + }, + "minChargingRate": { + "description": "Minimum charging rate supported by the EV. The unit of measure is defined by the chargingRateUnit. This parameter is intended to be used by a local smart charging algorithm to optimize the power allocation for in the case a charging process is inefficient at lower charging rates. \r\n", + "type": "number" + }, + "powerTolerance": { + "description": "*(2.1)* Power tolerance when following EVPowerProfile.\r\n\r\n", + "type": "number" + }, + "signatureId": { + "description": "*(2.1)* Id of this element for referencing in a signature.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "digestValue": { + "description": "*(2.1)* Base64 encoded hash (SHA256 for ISO 15118-2, SHA512 for ISO 15118-20) of the EXI price schedule element. Used in signature.\r\n", + "type": "string", + "maxLength": 88 + }, + "useLocalTime": { + "description": "*(2.1)* Defaults to false. When true, disregard time zone offset in dateTime fields of _ChargingScheduleType_ and use unqualified local time at Charging Station instead.\r\n This allows the same `Absolute` or `Recurring` charging profile to be used in both summer and winter time.\r\n\r\n", + "type": "boolean" + }, + "chargingSchedulePeriod": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ChargingSchedulePeriodType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "randomizedDelay": { + "description": "*(2.1)* Defaults to 0. When _randomizedDelay_ not equals zero, then the start of each <<cmn_chargingscheduleperiodtype,ChargingSchedulePeriodType>> is delayed by a randomly chosen number of seconds between 0 and _randomizedDelay_. Only allowed for TxProfile and TxDefaultProfile.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "salesTariff": { + "$ref": "#/definitions/SalesTariffType" + }, + "absolutePriceSchedule": { + "$ref": "#/definitions/AbsolutePriceScheduleType" + }, + "priceLevelSchedule": { + "$ref": "#/definitions/PriceLevelScheduleType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "chargingRateUnit", + "chargingSchedulePeriod" + ] + }, + "ConsumptionCostType": { + "javaType": "ConsumptionCost", + "type": "object", + "additionalProperties": false, + "properties": { + "startValue": { + "description": "The lowest level of consumption that defines the starting point of this consumption block. The block interval extends to the start of the next interval.\r\n", + "type": "number" + }, + "cost": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/CostType" + }, + "minItems": 1, + "maxItems": 3 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startValue", + "cost" + ] + }, + "CostType": { + "javaType": "Cost", + "type": "object", + "additionalProperties": false, + "properties": { + "costKind": { + "$ref": "#/definitions/CostKindEnumType" + }, + "amount": { + "description": "The estimated or actual cost per kWh\r\n", + "type": "integer" + }, + "amountMultiplier": { + "description": "Values: -3..3, The amountMultiplier defines the exponent to base 10 (dec). The final value is determined by: amount * 10 ^ amountMultiplier\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "costKind", + "amount" + ] + }, + "LimitAtSoCType": { + "javaType": "LimitAtSoC", + "type": "object", + "additionalProperties": false, + "properties": { + "soc": { + "description": "The SoC value beyond which the charging rate limit should be applied.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "limit": { + "description": "Charging rate limit beyond the SoC value.\r\nThe unit is defined by _chargingSchedule.chargingRateUnit_.\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "soc", + "limit" + ] + }, + "OverstayRuleListType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "OverstayRuleList", + "type": "object", + "additionalProperties": false, + "properties": { + "overstayPowerThreshold": { + "$ref": "#/definitions/RationalNumberType" + }, + "overstayRule": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/OverstayRuleType" + }, + "minItems": 1, + "maxItems": 5 + }, + "overstayTimeThreshold": { + "description": "Time till overstay is applied in seconds.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "overstayRule" + ] + }, + "OverstayRuleType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "OverstayRule", + "type": "object", + "additionalProperties": false, + "properties": { + "overstayFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "overstayRuleDescription": { + "description": "Human readable string to identify the overstay rule.\r\n", + "type": "string", + "maxLength": 32 + }, + "startTime": { + "description": "Time in seconds after trigger of the parent Overstay Rules for this particular fee to apply.\r\n", + "type": "integer" + }, + "overstayFeePeriod": { + "description": "Time till overstay will be reapplied\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startTime", + "overstayFeePeriod", + "overstayFee" + ] + }, + "PriceLevelScheduleEntryType": { + "description": "Part of ISO 15118-20 price schedule.\r\n", + "javaType": "PriceLevelScheduleEntry", + "type": "object", + "additionalProperties": false, + "properties": { + "duration": { + "description": "The amount of seconds that define the duration of this given PriceLevelScheduleEntry.\r\n", + "type": "integer" + }, + "priceLevel": { + "description": "Defines the price level of this PriceLevelScheduleEntry (referring to NumberOfPriceLevels). Small values for the PriceLevel represent a cheaper PriceLevelScheduleEntry. Large values for the PriceLevel represent a more expensive PriceLevelScheduleEntry.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "duration", + "priceLevel" + ] + }, + "PriceLevelScheduleType": { + "description": "The PriceLevelScheduleType is modeled after the same type that is defined in ISO 15118-20, such that if it is supplied by an EMSP as a signed EXI message, the conversion from EXI to JSON (in OCPP) and back to EXI (for ISO 15118-20) does not change the digest and therefore does not invalidate the signature.\r\n", + "javaType": "PriceLevelSchedule", + "type": "object", + "additionalProperties": false, + "properties": { + "priceLevelScheduleEntries": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/PriceLevelScheduleEntryType" + }, + "minItems": 1, + "maxItems": 100 + }, + "timeAnchor": { + "description": "Starting point of this price schedule.\r\n", + "type": "string", + "format": "date-time" + }, + "priceScheduleId": { + "description": "Unique ID of this price schedule.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "priceScheduleDescription": { + "description": "Description of the price schedule.\r\n", + "type": "string", + "maxLength": 32 + }, + "numberOfPriceLevels": { + "description": "Defines the overall number of distinct price level elements used across all PriceLevelSchedules.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timeAnchor", + "priceScheduleId", + "numberOfPriceLevels", + "priceLevelScheduleEntries" + ] + }, + "PriceRuleStackType": { + "description": "Part of ISO 15118-20 price schedule.\r\n", + "javaType": "PriceRuleStack", + "type": "object", + "additionalProperties": false, + "properties": { + "duration": { + "description": "Duration of the stack of price rules. he amount of seconds that define the duration of the given PriceRule(s).\r\n", + "type": "integer" + }, + "priceRule": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/PriceRuleType" + }, + "minItems": 1, + "maxItems": 8 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "duration", + "priceRule" + ] + }, + "PriceRuleType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "PriceRule", + "type": "object", + "additionalProperties": false, + "properties": { + "parkingFeePeriod": { + "description": "The duration of the parking fee period (in seconds).\r\nWhen the time enters into a ParkingFeePeriod, the ParkingFee will apply to the session. .\r\n", + "type": "integer" + }, + "carbonDioxideEmission": { + "description": "Number of grams of CO2 per kWh.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "renewableGenerationPercentage": { + "description": "Percentage of the power that is created by renewable resources.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "energyFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "parkingFee": { + "$ref": "#/definitions/RationalNumberType" + }, + "powerRangeStart": { + "$ref": "#/definitions/RationalNumberType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "energyFee", + "powerRangeStart" + ] + }, + "RationalNumberType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "RationalNumber", + "type": "object", + "additionalProperties": false, + "properties": { + "exponent": { + "description": "The exponent to base 10 (dec)\r\n", + "type": "integer" + }, + "value": { + "description": "Value which shall be multiplied.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "exponent", + "value" + ] + }, + "RelativeTimeIntervalType": { + "javaType": "RelativeTimeInterval", + "type": "object", + "additionalProperties": false, + "properties": { + "start": { + "description": "Start of the interval, in seconds from NOW.\r\n", + "type": "integer" + }, + "duration": { + "description": "Duration of the interval, in seconds.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "start" + ] + }, + "SalesTariffEntryType": { + "javaType": "SalesTariffEntry", + "type": "object", + "additionalProperties": false, + "properties": { + "relativeTimeInterval": { + "$ref": "#/definitions/RelativeTimeIntervalType" + }, + "ePriceLevel": { + "description": "Defines the price level of this SalesTariffEntry (referring to NumEPriceLevels). Small values for the EPriceLevel represent a cheaper TariffEntry. Large values for the EPriceLevel represent a more expensive TariffEntry.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "consumptionCost": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ConsumptionCostType" + }, + "minItems": 1, + "maxItems": 3 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "relativeTimeInterval" + ] + }, + "SalesTariffType": { + "description": "A SalesTariff provided by a Mobility Operator (EMSP) .\r\nNOTE: This dataType is based on dataTypes from <<ref-ISOIEC15118-2,ISO 15118-2>>.\r\n", + "javaType": "SalesTariff", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "SalesTariff identifier used to identify one sales tariff. An SAID remains a unique identifier for one schedule throughout a charging session.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "salesTariffDescription": { + "description": "A human readable title/short description of the sales tariff e.g. for HMI display purposes.\r\n", + "type": "string", + "maxLength": 32 + }, + "numEPriceLevels": { + "description": "Defines the overall number of distinct price levels used across all provided SalesTariff elements.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "salesTariffEntry": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/SalesTariffEntryType" + }, + "minItems": 1, + "maxItems": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "salesTariffEntry" + ] + }, + "TaxRuleType": { + "description": "Part of ISO 15118-20 price schedule.\r\n\r\n", + "javaType": "TaxRule", + "type": "object", + "additionalProperties": false, + "properties": { + "taxRuleID": { + "description": "Id for the tax rule.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "taxRuleName": { + "description": "Human readable string to identify the tax rule.\r\n", + "type": "string", + "maxLength": 100 + }, + "taxIncludedInPrice": { + "description": "Indicates whether the tax is included in any price or not.\r\n", + "type": "boolean" + }, + "appliesToEnergyFee": { + "description": "Indicates whether this tax applies to Energy Fees.\r\n", + "type": "boolean" + }, + "appliesToParkingFee": { + "description": "Indicates whether this tax applies to Parking Fees.\r\n\r\n", + "type": "boolean" + }, + "appliesToOverstayFee": { + "description": "Indicates whether this tax applies to Overstay Fees.\r\n\r\n", + "type": "boolean" + }, + "appliesToMinimumMaximumCost": { + "description": "Indicates whether this tax applies to Minimum/Maximum Cost.\r\n\r\n", + "type": "boolean" + }, + "taxRate": { + "$ref": "#/definitions/RationalNumberType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "taxRuleID", + "appliesToEnergyFee", + "appliesToParkingFee", + "appliesToOverstayFee", + "appliesToMinimumMaximumCost", + "taxRate" + ] + }, + "V2XFreqWattPointType": { + "description": "*(2.1)* A point of a frequency-watt curve.\r\n", + "javaType": "V2XFreqWattPoint", + "type": "object", + "additionalProperties": false, + "properties": { + "frequency": { + "description": "Net frequency in Hz.\r\n", + "type": "number" + }, + "power": { + "description": "Power in W to charge (positive) or discharge (negative) at specified frequency.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "frequency", + "power" + ] + }, + "V2XSignalWattPointType": { + "description": "*(2.1)* A point of a signal-watt curve.\r\n", + "javaType": "V2XSignalWattPoint", + "type": "object", + "additionalProperties": false, + "properties": { + "signal": { + "description": "Signal value from an AFRRSignalRequest.\r\n", + "type": "integer" + }, + "power": { + "description": "Power in W to charge (positive) or discharge (negative) at specified frequency.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "signal", + "power" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "evseId": { + "description": "For TxDefaultProfile an evseId=0 applies the profile to each individual evse. For ChargingStationMaxProfile and ChargingStationExternalConstraints an evseId=0 contains an overal limit for the whole Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "chargingProfile": { + "$ref": "#/definitions/ChargingProfileType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "evseId", + "chargingProfile" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetChargingProfileResponse.json b/src/tests/schema_validation/schemas/v2.1/SetChargingProfileResponse.json new file mode 100644 index 00000000..82968338 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetChargingProfileResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetChargingProfileResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ChargingProfileStatusEnumType": { + "description": "Returns whether the Charging Station has been able to process the message successfully. This does not guarantee the schedule will be followed to the letter. There might be other constraints the Charging Station may need to take into account.\r\n", + "javaType": "ChargingProfileStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/ChargingProfileStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetDERControlRequest.json b/src/tests/schema_validation/schemas/v2.1/SetDERControlRequest.json new file mode 100644 index 00000000..e35ee0c4 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetDERControlRequest.json @@ -0,0 +1,505 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetDERControlRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "DERControlEnumType": { + "description": "Type of control. Determines which setting field below is used.\r\n\r\n", + "javaType": "DERControlEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "EnterService", + "FreqDroop", + "FreqWatt", + "FixedPFAbsorb", + "FixedPFInject", + "FixedVar", + "Gradients", + "HFMustTrip", + "HFMayTrip", + "HVMustTrip", + "HVMomCess", + "HVMayTrip", + "LimitMaxDischarge", + "LFMustTrip", + "LVMustTrip", + "LVMomCess", + "LVMayTrip", + "PowerMonitoringMustTrip", + "VoltVar", + "VoltWatt", + "WattPF", + "WattVar" + ] + }, + "DERUnitEnumType": { + "description": "Unit of the setpoint.\r\n", + "javaType": "DERUnitEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Not_Applicable", + "PctMaxW", + "PctMaxVar", + "PctWAvail", + "PctVarAvail", + "PctEffectiveV" + ] + }, + "PowerDuringCessationEnumType": { + "description": "Parameter is only sent, if the EV has to feed-in power or reactive power during fault-ride through (FRT) as defined by HVMomCess curve and LVMomCess curve.\r\n\r\n\r\n", + "javaType": "PowerDuringCessationEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Active", + "Reactive" + ] + }, + "DERCurvePointsType": { + "javaType": "DERCurvePoints", + "type": "object", + "additionalProperties": false, + "properties": { + "x": { + "description": "The data value of the X-axis (independent) variable, depending on the curve type.\r\n\r\n\r\n", + "type": "number" + }, + "y": { + "description": "The data value of the Y-axis (dependent) variable, depending on the <<cmn_derunitenumtype>> of the curve. If _y_ is power factor, then a positive value means DER is absorbing reactive power (under-excited), a negative value when DER is injecting reactive power (over-excited).\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "x", + "y" + ] + }, + "DERCurveType": { + "javaType": "DERCurve", + "type": "object", + "additionalProperties": false, + "properties": { + "curveData": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/DERCurvePointsType" + }, + "minItems": 1, + "maxItems": 10 + }, + "hysteresis": { + "$ref": "#/definitions/HysteresisType" + }, + "priority": { + "description": "Priority of curve (0=highest)\r\n\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "reactivePowerParams": { + "$ref": "#/definitions/ReactivePowerParamsType" + }, + "voltageParams": { + "$ref": "#/definitions/VoltageParamsType" + }, + "yUnit": { + "$ref": "#/definitions/DERUnitEnumType" + }, + "responseTime": { + "description": "Open loop response time, the time to ramp up to 90% of the new target in response to the change in voltage, in seconds. A value of 0 is used to mean no limit. When not present, the device should follow its default behavior.\r\n\r\n\r\n", + "type": "number" + }, + "startTime": { + "description": "Point in time when this curve will become activated. Only absent when _default_ is true.\r\n\r\n", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration in seconds that this curve will be active. Only absent when _default_ is true.\r\n\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priority", + "yUnit", + "curveData" + ] + }, + "EnterServiceType": { + "javaType": "EnterService", + "type": "object", + "additionalProperties": false, + "properties": { + "priority": { + "description": "Priority of setting (0=highest)\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "highVoltage": { + "description": "Enter service voltage high\r\n", + "type": "number" + }, + "lowVoltage": { + "description": "Enter service voltage low\r\n\r\n\r\n", + "type": "number" + }, + "highFreq": { + "description": "Enter service frequency high\r\n\r\n", + "type": "number" + }, + "lowFreq": { + "description": "Enter service frequency low\r\n\r\n\r\n", + "type": "number" + }, + "delay": { + "description": "Enter service delay\r\n\r\n\r\n", + "type": "number" + }, + "randomDelay": { + "description": "Enter service randomized delay\r\n\r\n\r\n", + "type": "number" + }, + "rampRate": { + "description": "Enter service ramp rate in seconds\r\n\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priority", + "highVoltage", + "lowVoltage", + "highFreq", + "lowFreq" + ] + }, + "FixedPFType": { + "javaType": "FixedPF", + "type": "object", + "additionalProperties": false, + "properties": { + "priority": { + "description": "Priority of setting (0=highest)\r\n", + "type": "integer", + "minimum": 0.0 + }, + "displacement": { + "description": "Power factor, cos(phi), as value between 0..1.\r\n", + "type": "number" + }, + "excitation": { + "description": "True when absorbing reactive power (under-excited), false when injecting reactive power (over-excited).\r\n", + "type": "boolean" + }, + "startTime": { + "description": "Time when this setting becomes active\r\n", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration in seconds that this setting is active.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priority", + "displacement", + "excitation" + ] + }, + "FixedVarType": { + "javaType": "FixedVar", + "type": "object", + "additionalProperties": false, + "properties": { + "priority": { + "description": "Priority of setting (0=highest)\r\n", + "type": "integer", + "minimum": 0.0 + }, + "setpoint": { + "description": "The value specifies a target var output interpreted as a signed percentage (-100 to 100). \r\n A negative value refers to charging, whereas a positive one refers to discharging.\r\n The value type is determined by the unit field.\r\n", + "type": "number" + }, + "unit": { + "$ref": "#/definitions/DERUnitEnumType" + }, + "startTime": { + "description": "Time when this setting becomes active.\r\n", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration in seconds that this setting is active.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priority", + "setpoint", + "unit" + ] + }, + "FreqDroopType": { + "javaType": "FreqDroop", + "type": "object", + "additionalProperties": false, + "properties": { + "priority": { + "description": "Priority of setting (0=highest)\r\n\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "overFreq": { + "description": "Over-frequency start of droop\r\n\r\n\r\n", + "type": "number" + }, + "underFreq": { + "description": "Under-frequency start of droop\r\n\r\n\r\n", + "type": "number" + }, + "overDroop": { + "description": "Over-frequency droop per unit, oFDroop\r\n\r\n\r\n", + "type": "number" + }, + "underDroop": { + "description": "Under-frequency droop per unit, uFDroop\r\n\r\n", + "type": "number" + }, + "responseTime": { + "description": "Open loop response time in seconds\r\n\r\n", + "type": "number" + }, + "startTime": { + "description": "Time when this setting becomes active\r\n\r\n\r\n", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration in seconds that this setting is active\r\n\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priority", + "overFreq", + "underFreq", + "overDroop", + "underDroop", + "responseTime" + ] + }, + "GradientType": { + "javaType": "Gradient", + "type": "object", + "additionalProperties": false, + "properties": { + "priority": { + "description": "Id of setting\r\n\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "gradient": { + "description": "Default ramp rate in seconds (0 if not applicable)\r\n\r\n\r\n", + "type": "number" + }, + "softGradient": { + "description": "Soft-start ramp rate in seconds (0 if not applicable)\r\n\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priority", + "gradient", + "softGradient" + ] + }, + "HysteresisType": { + "javaType": "Hysteresis", + "type": "object", + "additionalProperties": false, + "properties": { + "hysteresisHigh": { + "description": "High value for return to normal operation after a grid event, in absolute value. This value adopts the same unit as defined by yUnit\r\n\r\n\r\n", + "type": "number" + }, + "hysteresisLow": { + "description": "Low value for return to normal operation after a grid event, in absolute value. This value adopts the same unit as defined by yUnit\r\n\r\n\r\n", + "type": "number" + }, + "hysteresisDelay": { + "description": "Delay in seconds, once grid parameter within HysteresisLow and HysteresisHigh, for the EV to return to normal operation after a grid event.\r\n\r\n\r\n", + "type": "number" + }, + "hysteresisGradient": { + "description": "Set default rate of change (ramp rate %/s) for the EV to return to normal operation after a grid event\r\n\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "LimitMaxDischargeType": { + "javaType": "LimitMaxDischarge", + "type": "object", + "additionalProperties": false, + "properties": { + "priority": { + "description": "Priority of setting (0=highest)\r\n\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "pctMaxDischargePower": { + "description": "Only for PowerMonitoring. +\r\n The value specifies a percentage (0 to 100) of the rated maximum discharge power of EV. \r\n The PowerMonitoring curve becomes active when power exceeds this percentage.\r\n\r\n\r\n", + "type": "number" + }, + "powerMonitoringMustTrip": { + "$ref": "#/definitions/DERCurveType" + }, + "startTime": { + "description": "Time when this setting becomes active\r\n\r\n\r\n", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration in seconds that this setting is active\r\n\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priority" + ] + }, + "ReactivePowerParamsType": { + "javaType": "ReactivePowerParams", + "type": "object", + "additionalProperties": false, + "properties": { + "vRef": { + "description": "Only for VoltVar curve: The nominal ac voltage (rms) adjustment to the voltage curve points for Volt-Var curves (percentage).\r\n\r\n\r\n", + "type": "number" + }, + "autonomousVRefEnable": { + "description": "Only for VoltVar: Enable/disable autonomous VRef adjustment\r\n\r\n\r\n", + "type": "boolean" + }, + "autonomousVRefTimeConstant": { + "description": "Only for VoltVar: Adjustment range for VRef time constant\r\n\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "VoltageParamsType": { + "javaType": "VoltageParams", + "type": "object", + "additionalProperties": false, + "properties": { + "hv10MinMeanValue": { + "description": "EN 50549-1 chapter 4.9.3.4\r\n Voltage threshold for the 10 min time window mean value monitoring.\r\n The 10 min mean is recalculated up to every 3 s. \r\n If the present voltage is above this threshold for more than the time defined by _hv10MinMeanValue_, the EV must trip.\r\n This value is mandatory if _hv10MinMeanTripDelay_ is set.\r\n\r\n\r\n", + "type": "number" + }, + "hv10MinMeanTripDelay": { + "description": "Time for which the voltage is allowed to stay above the 10 min mean value. \r\n After this time, the EV must trip.\r\n This value is mandatory if OverVoltageMeanValue10min is set.\r\n\r\n\r\n", + "type": "number" + }, + "powerDuringCessation": { + "$ref": "#/definitions/PowerDuringCessationEnumType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "isDefault": { + "description": "True if this is a default DER control\r\n\r\n", + "type": "boolean" + }, + "controlId": { + "description": "Unique id of this control, e.g. UUID\r\n\r\n", + "type": "string", + "maxLength": 36 + }, + "controlType": { + "$ref": "#/definitions/DERControlEnumType" + }, + "curve": { + "$ref": "#/definitions/DERCurveType" + }, + "enterService": { + "$ref": "#/definitions/EnterServiceType" + }, + "fixedPFAbsorb": { + "$ref": "#/definitions/FixedPFType" + }, + "fixedPFInject": { + "$ref": "#/definitions/FixedPFType" + }, + "fixedVar": { + "$ref": "#/definitions/FixedVarType" + }, + "freqDroop": { + "$ref": "#/definitions/FreqDroopType" + }, + "gradient": { + "$ref": "#/definitions/GradientType" + }, + "limitMaxDischarge": { + "$ref": "#/definitions/LimitMaxDischargeType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "isDefault", + "controlId", + "controlType" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetDERControlResponse.json b/src/tests/schema_validation/schemas/v2.1/SetDERControlResponse.json new file mode 100644 index 00000000..044cfd93 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetDERControlResponse.json @@ -0,0 +1,84 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetDERControlResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "DERControlStatusEnumType": { + "description": "Result of operation.\r\n\r\n", + "javaType": "DERControlStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "NotSupported", + "NotFound" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/DERControlStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "supersededIds": { + "description": "List of controlIds that are superseded as a result of setting this control.\r\n", + "type": "array", + "additionalItems": false, + "items": { + "type": "string", + "maxLength": 36 + }, + "minItems": 1, + "maxItems": 24 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetDefaultTariffRequest.json b/src/tests/schema_validation/schemas/v2.1/SetDefaultTariffRequest.json new file mode 100644 index 00000000..75975363 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetDefaultTariffRequest.json @@ -0,0 +1,518 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetDefaultTariffRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "DayOfWeekEnumType": { + "javaType": "DayOfWeekEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + }, + "EvseKindEnumType": { + "description": "Type of EVSE (AC, DC) this tariff applies to.\r\n", + "javaType": "EvseKindEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "AC", + "DC" + ] + }, + "MessageFormatEnumType": { + "description": "Format of the message.\r\n", + "javaType": "MessageFormatEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ASCII", + "HTML", + "URI", + "UTF8", + "QRCODE" + ] + }, + "MessageContentType": { + "description": "Contains message details, for a message to be displayed on a Charging Station.\r\n\r\n", + "javaType": "MessageContent", + "type": "object", + "additionalProperties": false, + "properties": { + "format": { + "$ref": "#/definitions/MessageFormatEnumType" + }, + "language": { + "description": "Message language identifier. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n", + "type": "string", + "maxLength": 8 + }, + "content": { + "description": "*(2.1)* Required. Message contents. +\r\nMaximum length supported by Charging Station is given in OCPPCommCtrlr.FieldLength[\"MessageContentType.content\"].\r\n Maximum length defaults to 1024.\r\n\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "format", + "content" + ] + }, + "PriceType": { + "description": "Price with and without tax. At least one of _exclTax_, _inclTax_ must be present.\r\n", + "javaType": "Price", + "type": "object", + "additionalProperties": false, + "properties": { + "exclTax": { + "description": "Price/cost excluding tax. Can be absent if _inclTax_ is present.\r\n", + "type": "number" + }, + "inclTax": { + "description": "Price/cost including tax. Can be absent if _exclTax_ is present.\r\n", + "type": "number" + }, + "taxRates": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRateType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "TariffConditionsFixedType": { + "description": "These conditions describe if a FixedPrice applies at start of the transaction.\r\n\r\nWhen more than one restriction is set, they are to be treated as a logical AND. All need to be valid before this price is active.\r\n\r\nNOTE: _startTimeOfDay_ and _endTimeOfDay_ are in local time, because it is the time in the tariff as it is shown to the EV driver at the Charging Station.\r\nA Charging Station will convert this to the internal time zone that it uses (which is recommended to be UTC, see section Generic chapter 3.1) when performing cost calculation.\r\n\r\n", + "javaType": "TariffConditionsFixed", + "type": "object", + "additionalProperties": false, + "properties": { + "startTimeOfDay": { + "description": "Start time of day in local time. +\r\nFormat as per RFC 3339: time-hour \":\" time-minute +\r\nMust be in 24h format with leading zeros. Hour/Minute separator: \":\"\r\nRegex: ([0-1][0-9]\\|2[0-3]):[0-5][0-9]\r\n", + "type": "string" + }, + "endTimeOfDay": { + "description": "End time of day in local time. Same syntax as _startTimeOfDay_. +\r\n If end time < start time then the period wraps around to the next day. +\r\n To stop at end of the day use: 00:00.\r\n", + "type": "string" + }, + "dayOfWeek": { + "description": "Day(s) of the week this is tariff applies.\r\n", + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/DayOfWeekEnumType" + }, + "minItems": 1, + "maxItems": 7 + }, + "validFromDate": { + "description": "Start date in local time, for example: 2015-12-24.\r\nValid from this day (inclusive). +\r\nFormat as per RFC 3339: full-date + \r\n\r\nRegex: ([12][0-9]{3})-(0[1-9]\\|1[0-2])-(0[1-9]\\|[12][0-9]\\|3[01])\r\n", + "type": "string" + }, + "validToDate": { + "description": "End date in local time, for example: 2015-12-27.\r\n Valid until this day (exclusive). Same syntax as _validFromDate_.\r\n", + "type": "string" + }, + "evseKind": { + "$ref": "#/definitions/EvseKindEnumType" + }, + "paymentBrand": { + "description": "For which payment brand this (adhoc) tariff applies. Can be used to add a surcharge for certain payment brands.\r\n Based on value of _additionalIdToken_ from _idToken.additionalInfo.type_ = \"PaymentBrand\".\r\n", + "type": "string", + "maxLength": 20 + }, + "paymentRecognition": { + "description": "Type of adhoc payment, e.g. CC, Debit.\r\n Based on value of _additionalIdToken_ from _idToken.additionalInfo.type_ = \"PaymentRecognition\".\r\n", + "type": "string", + "maxLength": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "TariffConditionsType": { + "description": "These conditions describe if and when a TariffEnergyType or TariffTimeType applies during a transaction.\r\n\r\nWhen more than one restriction is set, they are to be treated as a logical AND. All need to be valid before this price is active.\r\n\r\nFor reverse energy flow (discharging) negative values of energy, power and current are used.\r\n\r\nNOTE: _minXXX_ (where XXX = Kwh/A/Kw) must be read as \"closest to zero\", and _maxXXX_ as \"furthest from zero\". For example, a *charging* power range from 10 kW to 50 kWh is given by _minPower_ = 10000 and _maxPower_ = 50000, and a *discharging* power range from -10 kW to -50 kW is given by _minPower_ = -10 and _maxPower_ = -50.\r\n\r\nNOTE: _startTimeOfDay_ and _endTimeOfDay_ are in local time, because it is the time in the tariff as it is shown to the EV driver at the Charging Station.\r\nA Charging Station will convert this to the internal time zone that it uses (which is recommended to be UTC, see section Generic chapter 3.1) when performing cost calculation.\r\n\r\n", + "javaType": "TariffConditions", + "type": "object", + "additionalProperties": false, + "properties": { + "startTimeOfDay": { + "description": "Start time of day in local time. +\r\nFormat as per RFC 3339: time-hour \":\" time-minute +\r\nMust be in 24h format with leading zeros. Hour/Minute separator: \":\"\r\nRegex: ([0-1][0-9]\\|2[0-3]):[0-5][0-9]\r\n", + "type": "string" + }, + "endTimeOfDay": { + "description": "End time of day in local time. Same syntax as _startTimeOfDay_. +\r\n If end time < start time then the period wraps around to the next day. +\r\n To stop at end of the day use: 00:00.\r\n", + "type": "string" + }, + "dayOfWeek": { + "description": "Day(s) of the week this is tariff applies.\r\n", + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/DayOfWeekEnumType" + }, + "minItems": 1, + "maxItems": 7 + }, + "validFromDate": { + "description": "Start date in local time, for example: 2015-12-24.\r\nValid from this day (inclusive). +\r\nFormat as per RFC 3339: full-date + \r\n\r\nRegex: ([12][0-9]{3})-(0[1-9]\\|1[0-2])-(0[1-9]\\|[12][0-9]\\|3[01])\r\n", + "type": "string" + }, + "validToDate": { + "description": "End date in local time, for example: 2015-12-27.\r\n Valid until this day (exclusive). Same syntax as _validFromDate_.\r\n", + "type": "string" + }, + "evseKind": { + "$ref": "#/definitions/EvseKindEnumType" + }, + "minEnergy": { + "description": "Minimum consumed energy in Wh, for example 20000 Wh.\r\n Valid from this amount of energy (inclusive) being used.\r\n", + "type": "number" + }, + "maxEnergy": { + "description": "Maximum consumed energy in Wh, for example 50000 Wh.\r\n Valid until this amount of energy (exclusive) being used.\r\n", + "type": "number" + }, + "minCurrent": { + "description": "Sum of the minimum current (in Amperes) over all phases, for example 5 A.\r\n When the EV is charging with more than, or equal to, the defined amount of current, this price is/becomes active. If the charging current is or becomes lower, this price is not or no longer valid and becomes inactive. +\r\n This is NOT about the minimum current over the entire transaction.\r\n", + "type": "number" + }, + "maxCurrent": { + "description": "Sum of the maximum current (in Amperes) over all phases, for example 20 A.\r\n When the EV is charging with less than the defined amount of current, this price becomes/is active. If the charging current is or becomes higher, this price is not or no longer valid and becomes inactive.\r\n This is NOT about the maximum current over the entire transaction.\r\n", + "type": "number" + }, + "minPower": { + "description": "Minimum power in W, for example 5000 W.\r\n When the EV is charging with more than, or equal to, the defined amount of power, this price is/becomes active.\r\n If the charging power is or becomes lower, this price is not or no longer valid and becomes inactive.\r\n This is NOT about the minimum power over the entire transaction.\r\n", + "type": "number" + }, + "maxPower": { + "description": "Maximum power in W, for example 20000 W.\r\n When the EV is charging with less than the defined amount of power, this price becomes/is active.\r\n If the charging power is or becomes higher, this price is not or no longer valid and becomes inactive.\r\n This is NOT about the maximum power over the entire transaction.\r\n", + "type": "number" + }, + "minTime": { + "description": "Minimum duration in seconds the transaction (charging & idle) MUST last (inclusive).\r\n When the duration of a transaction is longer than the defined value, this price is or becomes active.\r\n Before that moment, this price is not yet active.\r\n", + "type": "integer" + }, + "maxTime": { + "description": "Maximum duration in seconds the transaction (charging & idle) MUST last (exclusive).\r\n When the duration of a transaction is shorter than the defined value, this price is or becomes active.\r\n After that moment, this price is no longer active.\r\n", + "type": "integer" + }, + "minChargingTime": { + "description": "Minimum duration in seconds the charging MUST last (inclusive).\r\n When the duration of a charging is longer than the defined value, this price is or becomes active.\r\n Before that moment, this price is not yet active.\r\n", + "type": "integer" + }, + "maxChargingTime": { + "description": "Maximum duration in seconds the charging MUST last (exclusive).\r\n When the duration of a charging is shorter than the defined value, this price is or becomes active.\r\n After that moment, this price is no longer active.\r\n", + "type": "integer" + }, + "minIdleTime": { + "description": "Minimum duration in seconds the idle period (i.e. not charging) MUST last (inclusive).\r\n When the duration of the idle time is longer than the defined value, this price is or becomes active.\r\n Before that moment, this price is not yet active.\r\n", + "type": "integer" + }, + "maxIdleTime": { + "description": "Maximum duration in seconds the idle period (i.e. not charging) MUST last (exclusive).\r\n When the duration of idle time is shorter than the defined value, this price is or becomes active.\r\n After that moment, this price is no longer active.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "TariffEnergyPriceType": { + "description": "Tariff with optional conditions for an energy price.\r\n", + "javaType": "TariffEnergyPrice", + "type": "object", + "additionalProperties": false, + "properties": { + "priceKwh": { + "description": "Price per kWh (excl. tax) for this element.\r\n", + "type": "number" + }, + "conditions": { + "$ref": "#/definitions/TariffConditionsType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priceKwh" + ] + }, + "TariffEnergyType": { + "description": "Price elements and tax for energy\r\n", + "javaType": "TariffEnergy", + "type": "object", + "additionalProperties": false, + "properties": { + "prices": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TariffEnergyPriceType" + }, + "minItems": 1 + }, + "taxRates": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRateType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "prices" + ] + }, + "TariffFixedPriceType": { + "description": "Tariff with optional conditions for a fixed price.\r\n", + "javaType": "TariffFixedPrice", + "type": "object", + "additionalProperties": false, + "properties": { + "conditions": { + "$ref": "#/definitions/TariffConditionsFixedType" + }, + "priceFixed": { + "description": "Fixed price for this element e.g. a start fee.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priceFixed" + ] + }, + "TariffFixedType": { + "javaType": "TariffFixed", + "type": "object", + "additionalProperties": false, + "properties": { + "prices": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TariffFixedPriceType" + }, + "minItems": 1 + }, + "taxRates": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRateType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "prices" + ] + }, + "TariffTimePriceType": { + "description": "Tariff with optional conditions for a time duration price.\r\n", + "javaType": "TariffTimePrice", + "type": "object", + "additionalProperties": false, + "properties": { + "priceMinute": { + "description": "Price per minute (excl. tax) for this element.\r\n", + "type": "number" + }, + "conditions": { + "$ref": "#/definitions/TariffConditionsType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "priceMinute" + ] + }, + "TariffTimeType": { + "description": "Price elements and tax for time\r\n\r\n", + "javaType": "TariffTime", + "type": "object", + "additionalProperties": false, + "properties": { + "prices": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TariffTimePriceType" + }, + "minItems": 1 + }, + "taxRates": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRateType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "prices" + ] + }, + "TariffType": { + "description": "A tariff is described by fields with prices for:\r\nenergy,\r\ncharging time,\r\nidle time,\r\nfixed fee,\r\nreservation time,\r\nreservation fixed fee. +\r\nEach of these fields may have (optional) conditions that specify when a price is applicable. +\r\nThe _description_ contains a human-readable explanation of the tariff to be shown to the user. +\r\nThe other fields are parameters that define the tariff. These are used by the charging station to calculate the price.\r\n", + "javaType": "Tariff", + "type": "object", + "additionalProperties": false, + "properties": { + "tariffId": { + "description": "Unique id of tariff\r\n", + "type": "string", + "maxLength": 60 + }, + "description": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/MessageContentType" + }, + "minItems": 1, + "maxItems": 10 + }, + "currency": { + "description": "Currency code according to ISO 4217\r\n", + "type": "string", + "maxLength": 3 + }, + "energy": { + "$ref": "#/definitions/TariffEnergyType" + }, + "validFrom": { + "description": "Time when this tariff becomes active. When absent, it is immediately active.\r\n", + "type": "string", + "format": "date-time" + }, + "chargingTime": { + "$ref": "#/definitions/TariffTimeType" + }, + "idleTime": { + "$ref": "#/definitions/TariffTimeType" + }, + "fixedFee": { + "$ref": "#/definitions/TariffFixedType" + }, + "reservationTime": { + "$ref": "#/definitions/TariffTimeType" + }, + "reservationFixed": { + "$ref": "#/definitions/TariffFixedType" + }, + "minCost": { + "$ref": "#/definitions/PriceType" + }, + "maxCost": { + "$ref": "#/definitions/PriceType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "tariffId", + "currency" + ] + }, + "TaxRateType": { + "description": "Tax percentage\r\n", + "javaType": "TaxRate", + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "description": "Type of this tax, e.g. \"Federal \", \"State\", for information on receipt.\r\n", + "type": "string", + "maxLength": 20 + }, + "tax": { + "description": "Tax percentage\r\n", + "type": "number" + }, + "stack": { + "description": "Stack level for this type of tax. Default value, when absent, is 0. +\r\n_stack_ = 0: tax on net price; +\r\n_stack_ = 1: tax added on top of _stack_ 0; +\r\n_stack_ = 2: tax added on top of _stack_ 1, etc. \r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "type", + "tax" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "evseId": { + "description": "EVSE that tariff applies to. When _evseId_ = 0, then tarriff applies to all EVSEs.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "tariff": { + "$ref": "#/definitions/TariffType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "evseId", + "tariff" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetDefaultTariffResponse.json b/src/tests/schema_validation/schemas/v2.1/SetDefaultTariffResponse.json new file mode 100644 index 00000000..25185229 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetDefaultTariffResponse.json @@ -0,0 +1,73 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetDefaultTariffResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "TariffSetStatusEnumType": { + "javaType": "TariffSetStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "TooManyElements", + "ConditionNotSupported", + "DuplicateTariffId" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/TariffSetStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetDisplayMessageRequest.json b/src/tests/schema_validation/schemas/v2.1/SetDisplayMessageRequest.json new file mode 100644 index 00000000..b01ea7aa --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetDisplayMessageRequest.json @@ -0,0 +1,208 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetDisplayMessageRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "MessageFormatEnumType": { + "description": "Format of the message.\r\n", + "javaType": "MessageFormatEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ASCII", + "HTML", + "URI", + "UTF8", + "QRCODE" + ] + }, + "MessagePriorityEnumType": { + "description": "With what priority should this message be shown\r\n", + "javaType": "MessagePriorityEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "AlwaysFront", + "InFront", + "NormalCycle" + ] + }, + "MessageStateEnumType": { + "description": "During what state should this message be shown. When omitted this message should be shown in any state of the Charging Station.\r\n", + "javaType": "MessageStateEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Charging", + "Faulted", + "Idle", + "Unavailable", + "Suspended", + "Discharging" + ] + }, + "ComponentType": { + "description": "A physical or logical component\r\n", + "javaType": "Component", + "type": "object", + "additionalProperties": false, + "properties": { + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "name": { + "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "MessageContentType": { + "description": "Contains message details, for a message to be displayed on a Charging Station.\r\n\r\n", + "javaType": "MessageContent", + "type": "object", + "additionalProperties": false, + "properties": { + "format": { + "$ref": "#/definitions/MessageFormatEnumType" + }, + "language": { + "description": "Message language identifier. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n", + "type": "string", + "maxLength": 8 + }, + "content": { + "description": "*(2.1)* Required. Message contents. +\r\nMaximum length supported by Charging Station is given in OCPPCommCtrlr.FieldLength[\"MessageContentType.content\"].\r\n Maximum length defaults to 1024.\r\n\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "format", + "content" + ] + }, + "MessageInfoType": { + "description": "Contains message details, for a message to be displayed on a Charging Station.\r\n", + "javaType": "MessageInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "display": { + "$ref": "#/definitions/ComponentType" + }, + "id": { + "description": "Unique id within an exchange context. It is defined within the OCPP context as a positive Integer value (greater or equal to zero).\r\n", + "type": "integer", + "minimum": 0.0 + }, + "priority": { + "$ref": "#/definitions/MessagePriorityEnumType" + }, + "state": { + "$ref": "#/definitions/MessageStateEnumType" + }, + "startDateTime": { + "description": "From what date-time should this message be shown. If omitted: directly.\r\n", + "type": "string", + "format": "date-time" + }, + "endDateTime": { + "description": "Until what date-time should this message be shown, after this date/time this message SHALL be removed.\r\n", + "type": "string", + "format": "date-time" + }, + "transactionId": { + "description": "During which transaction shall this message be shown.\r\nMessage SHALL be removed by the Charging Station after transaction has\r\nended.\r\n", + "type": "string", + "maxLength": 36 + }, + "message": { + "$ref": "#/definitions/MessageContentType" + }, + "messageExtra": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/MessageContentType" + }, + "minItems": 1, + "maxItems": 4 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id", + "priority", + "message" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "message": { + "$ref": "#/definitions/MessageInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "message" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetDisplayMessageResponse.json b/src/tests/schema_validation/schemas/v2.1/SetDisplayMessageResponse.json new file mode 100644 index 00000000..510cff8c --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetDisplayMessageResponse.json @@ -0,0 +1,76 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetDisplayMessageResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "DisplayMessageStatusEnumType": { + "description": "This indicates whether the Charging Station is able to display the message.\r\n", + "javaType": "DisplayMessageStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "NotSupportedMessageFormat", + "Rejected", + "NotSupportedPriority", + "NotSupportedState", + "UnknownTransaction", + "LanguageNotSupported" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/DisplayMessageStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetMonitoringBaseRequest.json b/src/tests/schema_validation/schemas/v2.1/SetMonitoringBaseRequest.json new file mode 100644 index 00000000..49bf0fa2 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetMonitoringBaseRequest.json @@ -0,0 +1,45 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetMonitoringBaseRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "MonitoringBaseEnumType": { + "description": "Specify which monitoring base will be set\r\n", + "javaType": "MonitoringBaseEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "All", + "FactoryDefault", + "HardWiredOnly" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "monitoringBase": { + "$ref": "#/definitions/MonitoringBaseEnumType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "monitoringBase" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetMonitoringBaseResponse.json b/src/tests/schema_validation/schemas/v2.1/SetMonitoringBaseResponse.json new file mode 100644 index 00000000..28e33adf --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetMonitoringBaseResponse.json @@ -0,0 +1,73 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetMonitoringBaseResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GenericDeviceModelStatusEnumType": { + "description": "Indicates whether the Charging Station was able to accept the request.\r\n", + "javaType": "GenericDeviceModelStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "NotSupported", + "EmptyResultSet" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GenericDeviceModelStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetMonitoringLevelRequest.json b/src/tests/schema_validation/schemas/v2.1/SetMonitoringLevelRequest.json new file mode 100644 index 00000000..286ceea9 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetMonitoringLevelRequest.json @@ -0,0 +1,36 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetMonitoringLevelRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "severity": { + "description": "The Charging Station SHALL only report events with a severity number lower than or equal to this severity.\r\nThe severity range is 0-9, with 0 as the highest and 9 as the lowest severity level.\r\n\r\nThe severity levels have the following meaning: +\r\n*0-Danger* +\r\nIndicates lives are potentially in danger. Urgent attention is needed and action should be taken immediately. +\r\n*1-Hardware Failure* +\r\nIndicates that the Charging Station is unable to continue regular operations due to Hardware issues. Action is required. +\r\n*2-System Failure* +\r\nIndicates that the Charging Station is unable to continue regular operations due to software or minor hardware issues. Action is required. +\r\n*3-Critical* +\r\nIndicates a critical error. Action is required. +\r\n*4-Error* +\r\nIndicates a non-urgent error. Action is required. +\r\n*5-Alert* +\r\nIndicates an alert event. Default severity for any type of monitoring event. +\r\n*6-Warning* +\r\nIndicates a warning event. Action may be required. +\r\n*7-Notice* +\r\nIndicates an unusual event. No immediate action is required. +\r\n*8-Informational* +\r\nIndicates a regular operational event. May be used for reporting, measuring throughput, etc. No action is required. +\r\n*9-Debug* +\r\nIndicates information useful to developers for debugging, not useful during operations.\r\n\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "severity" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetMonitoringLevelResponse.json b/src/tests/schema_validation/schemas/v2.1/SetMonitoringLevelResponse.json new file mode 100644 index 00000000..7d75f239 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetMonitoringLevelResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetMonitoringLevelResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GenericStatusEnumType": { + "description": "Indicates whether the Charging Station was able to accept the request.\r\n", + "javaType": "GenericStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GenericStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetNetworkProfileRequest.json b/src/tests/schema_validation/schemas/v2.1/SetNetworkProfileRequest.json new file mode 100644 index 00000000..66872318 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetNetworkProfileRequest.json @@ -0,0 +1,254 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetNetworkProfileRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "APNAuthenticationEnumType": { + "description": "Authentication method.\r\n", + "javaType": "APNAuthenticationEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "PAP", + "CHAP", + "NONE", + "AUTO" + ] + }, + "OCPPInterfaceEnumType": { + "description": "Applicable Network Interface. Charging Station is allowed to use a different network interface to connect if the given one does not work.\r\n", + "javaType": "OCPPInterfaceEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Wired0", + "Wired1", + "Wired2", + "Wired3", + "Wireless0", + "Wireless1", + "Wireless2", + "Wireless3", + "Any" + ] + }, + "OCPPTransportEnumType": { + "description": "Defines the transport protocol (e.g. SOAP or JSON). Note: SOAP is not supported in OCPP 2.x, but is supported by earlier versions of OCPP.\r\n", + "javaType": "OCPPTransportEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "SOAP", + "JSON" + ] + }, + "OCPPVersionEnumType": { + "description": "*(2.1)* This field is ignored, since the OCPP version to use is determined during the websocket handshake. The field is only kept for backwards compatibility with the OCPP 2.0.1 JSON schema.\r\n", + "javaType": "OCPPVersionEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "OCPP12", + "OCPP15", + "OCPP16", + "OCPP20", + "OCPP201", + "OCPP21" + ] + }, + "VPNEnumType": { + "description": "Type of VPN\r\n", + "javaType": "VPNEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "IKEv2", + "IPSec", + "L2TP", + "PPTP" + ] + }, + "APNType": { + "description": "Collection of configuration data needed to make a data-connection over a cellular network.\r\n\r\nNOTE: When asking a GSM modem to dial in, it is possible to specify which mobile operator should be used. This can be done with the mobile country code (MCC) in combination with a mobile network code (MNC). Example: If your preferred network is Vodafone Netherlands, the MCC=204 and the MNC=04 which means the key PreferredNetwork = 20404 Some modems allows to specify a preferred network, which means, if this network is not available, a different network is used. If you specify UseOnlyPreferredNetwork and this network is not available, the modem will not dial in.\r\n", + "javaType": "APN", + "type": "object", + "additionalProperties": false, + "properties": { + "apn": { + "description": "The Access Point Name as an URL.\r\n", + "type": "string", + "maxLength": 2000 + }, + "apnUserName": { + "description": "APN username.\r\n", + "type": "string", + "maxLength": 50 + }, + "apnPassword": { + "description": "*(2.1)* APN Password.\r\n", + "type": "string", + "maxLength": 64 + }, + "simPin": { + "description": "SIM card pin code.\r\n", + "type": "integer" + }, + "preferredNetwork": { + "description": "Preferred network, written as MCC and MNC concatenated. See note.\r\n", + "type": "string", + "maxLength": 6 + }, + "useOnlyPreferredNetwork": { + "description": "Default: false. Use only the preferred Network, do\r\nnot dial in when not available. See Note.\r\n", + "type": "boolean", + "default": false + }, + "apnAuthentication": { + "$ref": "#/definitions/APNAuthenticationEnumType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "apn", + "apnAuthentication" + ] + }, + "NetworkConnectionProfileType": { + "description": "The NetworkConnectionProfile defines the functional and technical parameters of a communication link.\r\n", + "javaType": "NetworkConnectionProfile", + "type": "object", + "additionalProperties": false, + "properties": { + "apn": { + "$ref": "#/definitions/APNType" + }, + "ocppVersion": { + "$ref": "#/definitions/OCPPVersionEnumType" + }, + "ocppInterface": { + "$ref": "#/definitions/OCPPInterfaceEnumType" + }, + "ocppTransport": { + "$ref": "#/definitions/OCPPTransportEnumType" + }, + "messageTimeout": { + "description": "Duration in seconds before a message send by the Charging Station via this network connection times-out.\r\nThe best setting depends on the underlying network and response times of the CSMS.\r\nIf you are looking for a some guideline: use 30 seconds as a starting point.\r\n", + "type": "integer" + }, + "ocppCsmsUrl": { + "description": "URL of the CSMS(s) that this Charging Station communicates with, without the Charging Station identity part. +\r\nThe SecurityCtrlr.Identity field is appended to _ocppCsmsUrl_ to provide the full websocket URL.\r\n", + "type": "string", + "maxLength": 2000 + }, + "securityProfile": { + "description": "This field specifies the security profile used when connecting to the CSMS with this NetworkConnectionProfile.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "identity": { + "description": "*(2.1)* Charging Station identity to be used as the basic authentication username.\r\n", + "type": "string", + "maxLength": 48 + }, + "basicAuthPassword": { + "description": "*(2.1)* BasicAuthPassword to use for security profile 1 or 2.\r\n", + "type": "string", + "maxLength": 64 + }, + "vpn": { + "$ref": "#/definitions/VPNType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "ocppInterface", + "ocppTransport", + "messageTimeout", + "ocppCsmsUrl", + "securityProfile" + ] + }, + "VPNType": { + "description": "VPN Configuration settings\r\n", + "javaType": "VPN", + "type": "object", + "additionalProperties": false, + "properties": { + "server": { + "description": "VPN Server Address\r\n", + "type": "string", + "maxLength": 2000 + }, + "user": { + "description": "VPN User\r\n", + "type": "string", + "maxLength": 50 + }, + "group": { + "description": "VPN group.\r\n", + "type": "string", + "maxLength": 50 + }, + "password": { + "description": "*(2.1)* VPN Password.\r\n", + "type": "string", + "maxLength": 64 + }, + "key": { + "description": "VPN shared secret.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "$ref": "#/definitions/VPNEnumType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "server", + "user", + "password", + "key", + "type" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "configurationSlot": { + "description": "Slot in which the configuration should be stored.\r\n", + "type": "integer" + }, + "connectionData": { + "$ref": "#/definitions/NetworkConnectionProfileType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "configurationSlot", + "connectionData" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetNetworkProfileResponse.json b/src/tests/schema_validation/schemas/v2.1/SetNetworkProfileResponse.json new file mode 100644 index 00000000..ca7958b9 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetNetworkProfileResponse.json @@ -0,0 +1,72 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetNetworkProfileResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "SetNetworkProfileStatusEnumType": { + "description": "Result of operation.\r\n", + "javaType": "SetNetworkProfileStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "Failed" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/SetNetworkProfileStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetVariableMonitoringRequest.json b/src/tests/schema_validation/schemas/v2.1/SetVariableMonitoringRequest.json new file mode 100644 index 00000000..8e342c98 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetVariableMonitoringRequest.json @@ -0,0 +1,198 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetVariableMonitoringRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "MonitorEnumType": { + "description": "The type of this monitor, e.g. a threshold, delta or periodic monitor. \r\n\r\n", + "javaType": "MonitorEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "UpperThreshold", + "LowerThreshold", + "Delta", + "Periodic", + "PeriodicClockAligned", + "TargetDelta", + "TargetDeltaRelative" + ] + }, + "ComponentType": { + "description": "A physical or logical component\r\n", + "javaType": "Component", + "type": "object", + "additionalProperties": false, + "properties": { + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "name": { + "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "PeriodicEventStreamParamsType": { + "javaType": "PeriodicEventStreamParams", + "type": "object", + "additionalProperties": false, + "properties": { + "interval": { + "description": "Time in seconds after which stream data is sent.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "values": { + "description": "Number of items to be sent together in stream.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "SetMonitoringDataType": { + "description": "Class to hold parameters of SetVariableMonitoring request.\r\n", + "javaType": "SetMonitoringData", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "An id SHALL only be given to replace an existing monitor. The Charging Station handles the generation of id's for new monitors.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "periodicEventStream": { + "$ref": "#/definitions/PeriodicEventStreamParamsType" + }, + "transaction": { + "description": "Monitor only active when a transaction is ongoing on a component relevant to this transaction. Default = false.\r\n\r\n", + "type": "boolean", + "default": false + }, + "value": { + "description": "Value for threshold or delta monitoring.\r\nFor Periodic or PeriodicClockAligned this is the interval in seconds.\r\n\r\n", + "type": "number" + }, + "type": { + "$ref": "#/definitions/MonitorEnumType" + }, + "severity": { + "description": "The severity that will be assigned to an event that is triggered by this monitor. The severity range is 0-9, with 0 as the highest and 9 as the lowest severity level.\r\n\r\nThe severity levels have the following meaning: +\r\n*0-Danger* +\r\nIndicates lives are potentially in danger. Urgent attention is needed and action should be taken immediately. +\r\n*1-Hardware Failure* +\r\nIndicates that the Charging Station is unable to continue regular operations due to Hardware issues. Action is required. +\r\n*2-System Failure* +\r\nIndicates that the Charging Station is unable to continue regular operations due to software or minor hardware issues. Action is required. +\r\n*3-Critical* +\r\nIndicates a critical error. Action is required. +\r\n*4-Error* +\r\nIndicates a non-urgent error. Action is required. +\r\n*5-Alert* +\r\nIndicates an alert event. Default severity for any type of monitoring event. +\r\n*6-Warning* +\r\nIndicates a warning event. Action may be required. +\r\n*7-Notice* +\r\nIndicates an unusual event. No immediate action is required. +\r\n*8-Informational* +\r\nIndicates a regular operational event. May be used for reporting, measuring throughput, etc. No action is required. +\r\n*9-Debug* +\r\nIndicates information useful to developers for debugging, not useful during operations.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "component": { + "$ref": "#/definitions/ComponentType" + }, + "variable": { + "$ref": "#/definitions/VariableType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "value", + "type", + "severity", + "component", + "variable" + ] + }, + "VariableType": { + "description": "Reference key to a component-variable.\r\n", + "javaType": "Variable", + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "description": "Name of the variable. Name should be taken from the list of standardized variable names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "setMonitoringData": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/SetMonitoringDataType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "setMonitoringData" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetVariableMonitoringResponse.json b/src/tests/schema_validation/schemas/v2.1/SetVariableMonitoringResponse.json new file mode 100644 index 00000000..dc76301b --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetVariableMonitoringResponse.json @@ -0,0 +1,210 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetVariableMonitoringResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "MonitorEnumType": { + "description": "The type of this monitor, e.g. a threshold, delta or periodic monitor. \r\n\r\n", + "javaType": "MonitorEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "UpperThreshold", + "LowerThreshold", + "Delta", + "Periodic", + "PeriodicClockAligned", + "TargetDelta", + "TargetDeltaRelative" + ] + }, + "SetMonitoringStatusEnumType": { + "description": "Status is OK if a value could be returned. Otherwise this will indicate the reason why a value could not be returned.\r\n", + "javaType": "SetMonitoringStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "UnknownComponent", + "UnknownVariable", + "UnsupportedMonitorType", + "Rejected", + "Duplicate" + ] + }, + "ComponentType": { + "description": "A physical or logical component\r\n", + "javaType": "Component", + "type": "object", + "additionalProperties": false, + "properties": { + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "name": { + "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "SetMonitoringResultType": { + "description": "Class to hold result of SetVariableMonitoring request.\r\n", + "javaType": "SetMonitoringResult", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "Id given to the VariableMonitor by the Charging Station. The Id is only returned when status is accepted. Installed VariableMonitors should have unique id's but the id's of removed Installed monitors should have unique id's but the id's of removed monitors MAY be reused.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "status": { + "$ref": "#/definitions/SetMonitoringStatusEnumType" + }, + "type": { + "$ref": "#/definitions/MonitorEnumType" + }, + "component": { + "$ref": "#/definitions/ComponentType" + }, + "variable": { + "$ref": "#/definitions/VariableType" + }, + "severity": { + "description": "The severity that will be assigned to an event that is triggered by this monitor. The severity range is 0-9, with 0 as the highest and 9 as the lowest severity level.\r\n\r\nThe severity levels have the following meaning: +\r\n*0-Danger* +\r\nIndicates lives are potentially in danger. Urgent attention is needed and action should be taken immediately. +\r\n*1-Hardware Failure* +\r\nIndicates that the Charging Station is unable to continue regular operations due to Hardware issues. Action is required. +\r\n*2-System Failure* +\r\nIndicates that the Charging Station is unable to continue regular operations due to software or minor hardware issues. Action is required. +\r\n*3-Critical* +\r\nIndicates a critical error. Action is required. +\r\n*4-Error* +\r\nIndicates a non-urgent error. Action is required. +\r\n*5-Alert* +\r\nIndicates an alert event. Default severity for any type of monitoring event. +\r\n*6-Warning* +\r\nIndicates a warning event. Action may be required. +\r\n*7-Notice* +\r\nIndicates an unusual event. No immediate action is required. +\r\n*8-Informational* +\r\nIndicates a regular operational event. May be used for reporting, measuring throughput, etc. No action is required. +\r\n*9-Debug* +\r\nIndicates information useful to developers for debugging, not useful during operations.\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status", + "type", + "severity", + "component", + "variable" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "VariableType": { + "description": "Reference key to a component-variable.\r\n", + "javaType": "Variable", + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "description": "Name of the variable. Name should be taken from the list of standardized variable names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "setMonitoringResult": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/SetMonitoringResultType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "setMonitoringResult" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetVariablesRequest.json b/src/tests/schema_validation/schemas/v2.1/SetVariablesRequest.json new file mode 100644 index 00000000..d859838d --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetVariablesRequest.json @@ -0,0 +1,156 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetVariablesRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "AttributeEnumType": { + "description": "Type of attribute: Actual, Target, MinSet, MaxSet. Default is Actual when omitted.\r\n", + "javaType": "AttributeEnum", + "type": "string", + "default": "Actual", + "additionalProperties": false, + "enum": [ + "Actual", + "Target", + "MinSet", + "MaxSet" + ] + }, + "ComponentType": { + "description": "A physical or logical component\r\n", + "javaType": "Component", + "type": "object", + "additionalProperties": false, + "properties": { + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "name": { + "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "SetVariableDataType": { + "javaType": "SetVariableData", + "type": "object", + "additionalProperties": false, + "properties": { + "attributeType": { + "$ref": "#/definitions/AttributeEnumType" + }, + "attributeValue": { + "description": "Value to be assigned to attribute of variable.\r\nThis value is allowed to be an empty string (\"\").\r\n\r\nThe Configuration Variable <<configkey-configuration-value-size,ConfigurationValueSize>> can be used to limit SetVariableData.attributeValue and VariableCharacteristics.valuesList. The max size of these values will always remain equal. \r\n", + "type": "string", + "maxLength": 2500 + }, + "component": { + "$ref": "#/definitions/ComponentType" + }, + "variable": { + "$ref": "#/definitions/VariableType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "attributeValue", + "component", + "variable" + ] + }, + "VariableType": { + "description": "Reference key to a component-variable.\r\n", + "javaType": "Variable", + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "description": "Name of the variable. Name should be taken from the list of standardized variable names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "setVariableData": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/SetVariableDataType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "setVariableData" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SetVariablesResponse.json b/src/tests/schema_validation/schemas/v2.1/SetVariablesResponse.json new file mode 100644 index 00000000..7416bc24 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SetVariablesResponse.json @@ -0,0 +1,195 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SetVariablesResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "AttributeEnumType": { + "description": "Type of attribute: Actual, Target, MinSet, MaxSet. Default is Actual when omitted.\r\n", + "javaType": "AttributeEnum", + "type": "string", + "default": "Actual", + "additionalProperties": false, + "enum": [ + "Actual", + "Target", + "MinSet", + "MaxSet" + ] + }, + "SetVariableStatusEnumType": { + "description": "Result status of setting the variable.\r\n", + "javaType": "SetVariableStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "UnknownComponent", + "UnknownVariable", + "NotSupportedAttributeType", + "RebootRequired" + ] + }, + "ComponentType": { + "description": "A physical or logical component\r\n", + "javaType": "Component", + "type": "object", + "additionalProperties": false, + "properties": { + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "name": { + "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "SetVariableResultType": { + "javaType": "SetVariableResult", + "type": "object", + "additionalProperties": false, + "properties": { + "attributeType": { + "$ref": "#/definitions/AttributeEnumType" + }, + "attributeStatus": { + "$ref": "#/definitions/SetVariableStatusEnumType" + }, + "attributeStatusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "component": { + "$ref": "#/definitions/ComponentType" + }, + "variable": { + "$ref": "#/definitions/VariableType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "attributeStatus", + "component", + "variable" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "VariableType": { + "description": "Reference key to a component-variable.\r\n", + "javaType": "Variable", + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "description": "Name of the variable. Name should be taken from the list of standardized variable names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "instance": { + "description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "setVariableResult": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/SetVariableResultType" + }, + "minItems": 1 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "setVariableResult" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SignCertificateRequest.json b/src/tests/schema_validation/schemas/v2.1/SignCertificateRequest.json new file mode 100644 index 00000000..14ac5e43 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SignCertificateRequest.json @@ -0,0 +1,102 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SignCertificateRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CertificateSigningUseEnumType": { + "description": "Indicates the type of certificate that is to be signed. When omitted the certificate is to be used for both the 15118 connection (if implemented) and the Charging Station to CSMS connection.\r\n\r\n", + "javaType": "CertificateSigningUseEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ChargingStationCertificate", + "V2GCertificate", + "V2G20Certificate" + ] + }, + "HashAlgorithmEnumType": { + "description": "Used algorithms for the hashes provided.\r\n", + "javaType": "HashAlgorithmEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "SHA256", + "SHA384", + "SHA512" + ] + }, + "CertificateHashDataType": { + "javaType": "CertificateHashData", + "type": "object", + "additionalProperties": false, + "properties": { + "hashAlgorithm": { + "$ref": "#/definitions/HashAlgorithmEnumType" + }, + "issuerNameHash": { + "description": "The hash of the issuer\u2019s distinguished\r\nname (DN), that must be calculated over the DER\r\nencoding of the issuer\u2019s name field in the certificate\r\nbeing checked.\r\n\r\n", + "type": "string", + "maxLength": 128 + }, + "issuerKeyHash": { + "description": "The hash of the DER encoded public key:\r\nthe value (excluding tag and length) of the subject\r\npublic key field in the issuer\u2019s certificate.\r\n", + "type": "string", + "maxLength": 128 + }, + "serialNumber": { + "description": "The string representation of the\r\nhexadecimal value of the serial number without the\r\nprefix \"0x\" and without leading zeroes.\r\n", + "type": "string", + "maxLength": 40 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "hashAlgorithm", + "issuerNameHash", + "issuerKeyHash", + "serialNumber" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "csr": { + "description": "The Charging Station SHALL send the public key in form of a Certificate Signing Request (CSR) as described in RFC 2986 [22] and then PEM encoded, using the <<signcertificaterequest,SignCertificateRequest>> message.\r\n", + "type": "string", + "maxLength": 5500 + }, + "certificateType": { + "$ref": "#/definitions/CertificateSigningUseEnumType" + }, + "hashRootCertificate": { + "$ref": "#/definitions/CertificateHashDataType" + }, + "requestId": { + "description": "*(2.1)* RequestId to match this message with the CertificateSignedRequest.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "csr" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/SignCertificateResponse.json b/src/tests/schema_validation/schemas/v2.1/SignCertificateResponse.json new file mode 100644 index 00000000..7e7a8713 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/SignCertificateResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:SignCertificateResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GenericStatusEnumType": { + "description": "Specifies whether the CSMS can process the request.\r\n", + "javaType": "GenericStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/GenericStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/StatusNotificationRequest.json b/src/tests/schema_validation/schemas/v2.1/StatusNotificationRequest.json new file mode 100644 index 00000000..0690f25f --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/StatusNotificationRequest.json @@ -0,0 +1,65 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:StatusNotificationRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ConnectorStatusEnumType": { + "description": "This contains the current status of the Connector.\r\n", + "javaType": "ConnectorStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Available", + "Occupied", + "Reserved", + "Unavailable", + "Faulted" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "timestamp": { + "description": "The time for which the status is reported.\r\n", + "type": "string", + "format": "date-time" + }, + "connectorStatus": { + "$ref": "#/definitions/ConnectorStatusEnumType" + }, + "evseId": { + "description": "The id of the EVSE to which the connector belongs for which the the status is reported.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "The id of the connector within the EVSE for which the status is reported.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timestamp", + "connectorStatus", + "evseId", + "connectorId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/StatusNotificationResponse.json b/src/tests/schema_validation/schemas/v2.1/StatusNotificationResponse.json new file mode 100644 index 00000000..c618e0f8 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/StatusNotificationResponse.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:StatusNotificationResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/TransactionEventRequest.json b/src/tests/schema_validation/schemas/v2.1/TransactionEventRequest.json new file mode 100644 index 00000000..7db8c734 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/TransactionEventRequest.json @@ -0,0 +1,875 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:TransactionEventRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ChargingStateEnumType": { + "description": "Current charging state, is required when state\r\nhas changed. Omitted when there is no communication between EVSE and EV, because no cable is plugged in.\r\n", + "javaType": "ChargingStateEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "EVConnected", + "Charging", + "SuspendedEV", + "SuspendedEVSE", + "Idle" + ] + }, + "CostDimensionEnumType": { + "description": "Type of cost dimension: energy, power, time, etc.\r\n\r\n", + "javaType": "CostDimensionEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Energy", + "MaxCurrent", + "MinCurrent", + "MaxPower", + "MinPower", + "IdleTIme", + "ChargingTime" + ] + }, + "LocationEnumType": { + "description": "Indicates where the measured value has been sampled. Default = \"Outlet\"\r\n\r\n", + "javaType": "LocationEnum", + "type": "string", + "default": "Outlet", + "additionalProperties": false, + "enum": [ + "Body", + "Cable", + "EV", + "Inlet", + "Outlet", + "Upstream" + ] + }, + "MeasurandEnumType": { + "description": "Type of measurement. Default = \"Energy.Active.Import.Register\"\r\n", + "javaType": "MeasurandEnum", + "type": "string", + "default": "Energy.Active.Import.Register", + "additionalProperties": false, + "enum": [ + "Current.Export", + "Current.Export.Offered", + "Current.Export.Minimum", + "Current.Import", + "Current.Import.Offered", + "Current.Import.Minimum", + "Current.Offered", + "Display.PresentSOC", + "Display.MinimumSOC", + "Display.TargetSOC", + "Display.MaximumSOC", + "Display.RemainingTimeToMinimumSOC", + "Display.RemainingTimeToTargetSOC", + "Display.RemainingTimeToMaximumSOC", + "Display.ChargingComplete", + "Display.BatteryEnergyCapacity", + "Display.InletHot", + "Energy.Active.Export.Interval", + "Energy.Active.Export.Register", + "Energy.Active.Import.Interval", + "Energy.Active.Import.Register", + "Energy.Active.Import.CableLoss", + "Energy.Active.Import.LocalGeneration.Register", + "Energy.Active.Net", + "Energy.Active.Setpoint.Interval", + "Energy.Apparent.Export", + "Energy.Apparent.Import", + "Energy.Apparent.Net", + "Energy.Reactive.Export.Interval", + "Energy.Reactive.Export.Register", + "Energy.Reactive.Import.Interval", + "Energy.Reactive.Import.Register", + "Energy.Reactive.Net", + "EnergyRequest.Target", + "EnergyRequest.Minimum", + "EnergyRequest.Maximum", + "EnergyRequest.Minimum.V2X", + "EnergyRequest.Maximum.V2X", + "EnergyRequest.Bulk", + "Frequency", + "Power.Active.Export", + "Power.Active.Import", + "Power.Active.Setpoint", + "Power.Active.Residual", + "Power.Export.Minimum", + "Power.Export.Offered", + "Power.Factor", + "Power.Import.Offered", + "Power.Import.Minimum", + "Power.Offered", + "Power.Reactive.Export", + "Power.Reactive.Import", + "SoC", + "Voltage", + "Voltage.Minimum", + "Voltage.Maximum" + ] + }, + "OperationModeEnumType": { + "description": "*(2.1)* The _operationMode_ that is currently in effect for the transaction.\r\n", + "javaType": "OperationModeEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Idle", + "ChargingOnly", + "CentralSetpoint", + "ExternalSetpoint", + "ExternalLimits", + "CentralFrequency", + "LocalFrequency", + "LocalLoadBalancing" + ] + }, + "PhaseEnumType": { + "description": "Indicates how the measured value is to be interpreted. For instance between L1 and neutral (L1-N) Please note that not all values of phase are applicable to all Measurands. When phase is absent, the measured value is interpreted as an overall value.\r\n", + "javaType": "PhaseEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "L1", + "L2", + "L3", + "N", + "L1-N", + "L2-N", + "L3-N", + "L1-L2", + "L2-L3", + "L3-L1" + ] + }, + "PreconditioningStatusEnumType": { + "description": "*(2.1)* The current preconditioning status of the BMS in the EV. Default value is Unknown.\r\n", + "javaType": "PreconditioningStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Unknown", + "Ready", + "NotReady", + "Preconditioning" + ] + }, + "ReadingContextEnumType": { + "description": "Type of detail value: start, end or sample. Default = \"Sample.Periodic\"\r\n", + "javaType": "ReadingContextEnum", + "type": "string", + "default": "Sample.Periodic", + "additionalProperties": false, + "enum": [ + "Interruption.Begin", + "Interruption.End", + "Other", + "Sample.Clock", + "Sample.Periodic", + "Transaction.Begin", + "Transaction.End", + "Trigger" + ] + }, + "ReasonEnumType": { + "description": "The _stoppedReason_ is the reason/event that initiated the process of stopping the transaction. It will normally be the user stopping authorization via card (Local or MasterPass) or app (Remote), but it can also be CSMS revoking authorization (DeAuthorized), or disconnecting the EV when TxStopPoint = EVConnected (EVDisconnected). Most other reasons are related to technical faults or energy limitations. +\r\nMAY only be omitted when _stoppedReason_ is \"Local\"\r\n\r\n\r\n", + "javaType": "ReasonEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "DeAuthorized", + "EmergencyStop", + "EnergyLimitReached", + "EVDisconnected", + "GroundFault", + "ImmediateReset", + "MasterPass", + "Local", + "LocalOutOfCredit", + "Other", + "OvercurrentFault", + "PowerLoss", + "PowerQuality", + "Reboot", + "Remote", + "SOCLimitReached", + "StoppedByEV", + "TimeLimitReached", + "Timeout", + "ReqEnergyTransferRejected" + ] + }, + "TariffCostEnumType": { + "description": "Type of cost: normal or the minimum or maximum cost.\r\n", + "javaType": "TariffCostEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "NormalCost", + "MinCost", + "MaxCost" + ] + }, + "TransactionEventEnumType": { + "description": "This contains the type of this event.\r\nThe first TransactionEvent of a transaction SHALL contain: \"Started\" The last TransactionEvent of a transaction SHALL contain: \"Ended\" All others SHALL contain: \"Updated\"\r\n", + "javaType": "TransactionEventEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Ended", + "Started", + "Updated" + ] + }, + "TriggerReasonEnumType": { + "description": "Reason the Charging Station sends this message to the CSMS\r\n", + "javaType": "TriggerReasonEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "AbnormalCondition", + "Authorized", + "CablePluggedIn", + "ChargingRateChanged", + "ChargingStateChanged", + "CostLimitReached", + "Deauthorized", + "EnergyLimitReached", + "EVCommunicationLost", + "EVConnectTimeout", + "EVDeparted", + "EVDetected", + "LimitSet", + "MeterValueClock", + "MeterValuePeriodic", + "OperationModeChanged", + "RemoteStart", + "RemoteStop", + "ResetCommand", + "RunningCost", + "SignedDataReceived", + "SoCLimitReached", + "StopAuthorized", + "TariffChanged", + "TariffNotAccepted", + "TimeLimitReached", + "Trigger", + "TxResumed", + "UnlockCommand" + ] + }, + "AdditionalInfoType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "AdditionalInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalIdToken": { + "description": "*(2.1)* This field specifies the additional IdToken.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "_additionalInfo_ can be used to send extra information to CSMS in addition to the regular authorization with _IdToken_. _AdditionalInfo_ contains one or more custom _types_, which need to be agreed upon by all parties involved. When the _type_ is not supported, the CSMS/Charging Station MAY ignore the _additionalInfo_.\r\n\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "additionalIdToken", + "type" + ] + }, + "ChargingPeriodType": { + "description": "A ChargingPeriodType consists of a start time, and a list of possible values that influence this period, for example: amount of energy charged this period, maximum current during this period etc.\r\n\r\n", + "javaType": "ChargingPeriod", + "type": "object", + "additionalProperties": false, + "properties": { + "dimensions": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/CostDimensionType" + }, + "minItems": 1 + }, + "tariffId": { + "description": "Unique identifier of the Tariff that was used to calculate cost. If not provided, then cost was calculated by some other means.\r\n\r\n", + "type": "string", + "maxLength": 60 + }, + "startPeriod": { + "description": "Start timestamp of charging period. A period ends when the next period starts. The last period ends when the session ends.\r\n\r\n", + "type": "string", + "format": "date-time" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "startPeriod" + ] + }, + "CostDetailsType": { + "description": "CostDetailsType contains the cost as calculated by Charging Station based on provided TariffType.\r\n\r\nNOTE: Reservation is not shown as a _chargingPeriod_, because it took place outside of the transaction.\r\n\r\n", + "javaType": "CostDetails", + "type": "object", + "additionalProperties": false, + "properties": { + "chargingPeriods": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/ChargingPeriodType" + }, + "minItems": 1 + }, + "totalCost": { + "$ref": "#/definitions/TotalCostType" + }, + "totalUsage": { + "$ref": "#/definitions/TotalUsageType" + }, + "failureToCalculate": { + "description": "If set to true, then Charging Station has failed to calculate the cost.\r\n\r\n", + "type": "boolean" + }, + "failureReason": { + "description": "Optional human-readable reason text in case of failure to calculate.\r\n\r\n", + "type": "string", + "maxLength": 500 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "totalCost", + "totalUsage" + ] + }, + "CostDimensionType": { + "description": "Volume consumed of cost dimension.\r\n", + "javaType": "CostDimension", + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "$ref": "#/definitions/CostDimensionEnumType" + }, + "volume": { + "description": "Volume of the dimension consumed, measured according to the dimension type.\r\n\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "type", + "volume" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "IdTokenType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "IdToken", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalInfo": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AdditionalInfoType" + }, + "minItems": 1 + }, + "idToken": { + "description": "*(2.1)* IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "*(2.1)* Enumeration of possible idToken types. Values defined in Appendix as IdTokenEnumStringType.\r\n", + "type": "string", + "maxLength": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "idToken", + "type" + ] + }, + "MeterValueType": { + "description": "Collection of one or more sampled values in MeterValuesRequest and TransactionEvent. All sampled values in a MeterValue are sampled at the same point in time.\r\n", + "javaType": "MeterValue", + "type": "object", + "additionalProperties": false, + "properties": { + "sampledValue": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/SampledValueType" + }, + "minItems": 1 + }, + "timestamp": { + "description": "Timestamp for measured value(s).\r\n", + "type": "string", + "format": "date-time" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "timestamp", + "sampledValue" + ] + }, + "PriceType": { + "description": "Price with and without tax. At least one of _exclTax_, _inclTax_ must be present.\r\n", + "javaType": "Price", + "type": "object", + "additionalProperties": false, + "properties": { + "exclTax": { + "description": "Price/cost excluding tax. Can be absent if _inclTax_ is present.\r\n", + "type": "number" + }, + "inclTax": { + "description": "Price/cost including tax. Can be absent if _exclTax_ is present.\r\n", + "type": "number" + }, + "taxRates": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/TaxRateType" + }, + "minItems": 1, + "maxItems": 5 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "SampledValueType": { + "description": "Single sampled value in MeterValues. Each value can be accompanied by optional fields.\r\n\r\nTo save on mobile data usage, default values of all of the optional fields are such that. The value without any additional fields will be interpreted, as a register reading of active import energy in Wh (Watt-hour) units.\r\n", + "javaType": "SampledValue", + "type": "object", + "additionalProperties": false, + "properties": { + "value": { + "description": "Indicates the measured value.\r\n\r\n", + "type": "number" + }, + "measurand": { + "$ref": "#/definitions/MeasurandEnumType" + }, + "context": { + "$ref": "#/definitions/ReadingContextEnumType" + }, + "phase": { + "$ref": "#/definitions/PhaseEnumType" + }, + "location": { + "$ref": "#/definitions/LocationEnumType" + }, + "signedMeterValue": { + "$ref": "#/definitions/SignedMeterValueType" + }, + "unitOfMeasure": { + "$ref": "#/definitions/UnitOfMeasureType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "value" + ] + }, + "SignedMeterValueType": { + "description": "Represent a signed version of the meter value.\r\n", + "javaType": "SignedMeterValue", + "type": "object", + "additionalProperties": false, + "properties": { + "signedMeterData": { + "description": "Base64 encoded, contains the signed data from the meter in the format specified in _encodingMethod_, which might contain more then just the meter value. It can contain information like timestamps, reference to a customer etc.\r\n", + "type": "string", + "maxLength": 32768 + }, + "signingMethod": { + "description": "*(2.1)* Method used to create the digital signature. Optional, if already included in _signedMeterData_. Standard values for this are defined in Appendix as SigningMethodEnumStringType.\r\n", + "type": "string", + "maxLength": 50 + }, + "encodingMethod": { + "description": "Format used by the energy meter to encode the meter data. For example: OCMF or EDL.\r\n", + "type": "string", + "maxLength": 50 + }, + "publicKey": { + "description": "*(2.1)* Base64 encoded, sending depends on configuration variable _PublicKeyWithSignedMeterValue_.\r\n", + "type": "string", + "maxLength": 2500 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "signedMeterData", + "encodingMethod" + ] + }, + "TaxRateType": { + "description": "Tax percentage\r\n", + "javaType": "TaxRate", + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "description": "Type of this tax, e.g. \"Federal \", \"State\", for information on receipt.\r\n", + "type": "string", + "maxLength": 20 + }, + "tax": { + "description": "Tax percentage\r\n", + "type": "number" + }, + "stack": { + "description": "Stack level for this type of tax. Default value, when absent, is 0. +\r\n_stack_ = 0: tax on net price; +\r\n_stack_ = 1: tax added on top of _stack_ 0; +\r\n_stack_ = 2: tax added on top of _stack_ 1, etc. \r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "type", + "tax" + ] + }, + "TotalCostType": { + "description": "This contains the cost calculated during a transaction. It is used both for running cost and final cost of the transaction.\r\n", + "javaType": "TotalCost", + "type": "object", + "additionalProperties": false, + "properties": { + "currency": { + "description": "Currency of the costs in ISO 4217 Code.\r\n\r\n", + "type": "string", + "maxLength": 3 + }, + "typeOfCost": { + "$ref": "#/definitions/TariffCostEnumType" + }, + "fixed": { + "$ref": "#/definitions/PriceType" + }, + "energy": { + "$ref": "#/definitions/PriceType" + }, + "chargingTime": { + "$ref": "#/definitions/PriceType" + }, + "idleTime": { + "$ref": "#/definitions/PriceType" + }, + "reservationTime": { + "$ref": "#/definitions/PriceType" + }, + "reservationFixed": { + "$ref": "#/definitions/PriceType" + }, + "total": { + "$ref": "#/definitions/TotalPriceType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "currency", + "typeOfCost", + "total" + ] + }, + "TotalPriceType": { + "description": "Total cost with and without tax. Contains the total of energy, charging time, idle time, fixed and reservation costs including and/or excluding tax.\r\n", + "javaType": "TotalPrice", + "type": "object", + "additionalProperties": false, + "properties": { + "exclTax": { + "description": "Price/cost excluding tax. Can be absent if _inclTax_ is present.\r\n", + "type": "number" + }, + "inclTax": { + "description": "Price/cost including tax. Can be absent if _exclTax_ is present.\r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "TotalUsageType": { + "description": "This contains the calculated usage of energy, charging time and idle time during a transaction.\r\n", + "javaType": "TotalUsage", + "type": "object", + "additionalProperties": false, + "properties": { + "energy": { + "type": "number" + }, + "chargingTime": { + "description": "Total duration of the charging session (including the duration of charging and not charging), in seconds.\r\n\r\n\r\n", + "type": "integer" + }, + "idleTime": { + "description": "Total duration of the charging session where the EV was not charging (no energy was transferred between EVSE and EV), in seconds.\r\n\r\n\r\n", + "type": "integer" + }, + "reservationTime": { + "description": "Total time of reservation in seconds.\r\n", + "type": "integer" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "energy", + "chargingTime", + "idleTime" + ] + }, + "TransactionLimitType": { + "description": "Cost, energy, time or SoC limit for a transaction.\r\n", + "javaType": "TransactionLimit", + "type": "object", + "additionalProperties": false, + "properties": { + "maxCost": { + "description": "Maximum allowed cost of transaction in currency of tariff.\r\n", + "type": "number" + }, + "maxEnergy": { + "description": "Maximum allowed energy in Wh to charge in transaction.\r\n", + "type": "number" + }, + "maxTime": { + "description": "Maximum duration of transaction in seconds from start to end.\r\n", + "type": "integer" + }, + "maxSoC": { + "description": "Maximum State of Charge of EV in percentage.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "TransactionType": { + "javaType": "Transaction", + "type": "object", + "additionalProperties": false, + "properties": { + "transactionId": { + "description": "This contains the Id of the transaction.\r\n", + "type": "string", + "maxLength": 36 + }, + "chargingState": { + "$ref": "#/definitions/ChargingStateEnumType" + }, + "timeSpentCharging": { + "description": "Contains the total time that energy flowed from EVSE to EV during the transaction (in seconds). Note that timeSpentCharging is smaller or equal to the duration of the transaction.\r\n", + "type": "integer" + }, + "stoppedReason": { + "$ref": "#/definitions/ReasonEnumType" + }, + "remoteStartId": { + "description": "The ID given to remote start request (<<requeststarttransactionrequest, RequestStartTransactionRequest>>. This enables to CSMS to match the started transaction to the given start request.\r\n", + "type": "integer" + }, + "operationMode": { + "$ref": "#/definitions/OperationModeEnumType" + }, + "tariffId": { + "description": "*(2.1)* Id of tariff in use for transaction\r\n", + "type": "string", + "maxLength": 60 + }, + "transactionLimit": { + "$ref": "#/definitions/TransactionLimitType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "transactionId" + ] + }, + "UnitOfMeasureType": { + "description": "Represents a UnitOfMeasure with a multiplier\r\n", + "javaType": "UnitOfMeasure", + "type": "object", + "additionalProperties": false, + "properties": { + "unit": { + "description": "Unit of the value. Default = \"Wh\" if the (default) measurand is an \"Energy\" type.\r\nThis field SHALL use a value from the list Standardized Units of Measurements in Part 2 Appendices. \r\nIf an applicable unit is available in that list, otherwise a \"custom\" unit might be used.\r\n", + "type": "string", + "default": "Wh", + "maxLength": 20 + }, + "multiplier": { + "description": "Multiplier, this value represents the exponent to base 10. I.e. multiplier 3 means 10 raised to the 3rd power. Default is 0. +\r\nThe _multiplier_ only multiplies the value of the measurand. It does not specify a conversion between units, for example, kW and W.\r\n", + "type": "integer", + "default": 0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "costDetails": { + "$ref": "#/definitions/CostDetailsType" + }, + "eventType": { + "$ref": "#/definitions/TransactionEventEnumType" + }, + "meterValue": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/MeterValueType" + }, + "minItems": 1 + }, + "timestamp": { + "description": "The date and time at which this transaction event occurred.\r\n", + "type": "string", + "format": "date-time" + }, + "triggerReason": { + "$ref": "#/definitions/TriggerReasonEnumType" + }, + "seqNo": { + "description": "Incremental sequence number, helps with determining if all messages of a transaction have been received.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "offline": { + "description": "Indication that this transaction event happened when the Charging Station was offline. Default = false, meaning: the event occurred when the Charging Station was online.\r\n", + "type": "boolean", + "default": false + }, + "numberOfPhasesUsed": { + "description": "If the Charging Station is able to report the number of phases used, then it SHALL provide it.\r\nWhen omitted the CSMS may be able to determine the number of phases used as follows: +\r\n1: The numberPhases in the currently used ChargingSchedule. +\r\n2: The number of phases provided via device management.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 3.0 + }, + "cableMaxCurrent": { + "description": "The maximum current of the connected cable in Ampere (A).\r\n", + "type": "integer" + }, + "reservationId": { + "description": "This contains the Id of the reservation that terminates as a result of this transaction.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "preconditioningStatus": { + "$ref": "#/definitions/PreconditioningStatusEnumType" + }, + "evseSleep": { + "description": "*(2.1)* True when EVSE electronics are in sleep mode for this transaction. Default value (when absent) is false.\r\n\r\n", + "type": "boolean" + }, + "transactionInfo": { + "$ref": "#/definitions/TransactionType" + }, + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "idToken": { + "$ref": "#/definitions/IdTokenType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "eventType", + "timestamp", + "triggerReason", + "seqNo", + "transactionInfo" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/TransactionEventResponse.json b/src/tests/schema_validation/schemas/v2.1/TransactionEventResponse.json new file mode 100644 index 00000000..eceb9ce0 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/TransactionEventResponse.json @@ -0,0 +1,252 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:TransactionEventResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "AuthorizationStatusEnumType": { + "description": "Current status of the ID Token.\r\n", + "javaType": "AuthorizationStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Blocked", + "ConcurrentTx", + "Expired", + "Invalid", + "NoCredit", + "NotAllowedTypeEVSE", + "NotAtThisLocation", + "NotAtThisTime", + "Unknown" + ] + }, + "MessageFormatEnumType": { + "description": "Format of the message.\r\n", + "javaType": "MessageFormatEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "ASCII", + "HTML", + "URI", + "UTF8", + "QRCODE" + ] + }, + "AdditionalInfoType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "AdditionalInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalIdToken": { + "description": "*(2.1)* This field specifies the additional IdToken.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "_additionalInfo_ can be used to send extra information to CSMS in addition to the regular authorization with _IdToken_. _AdditionalInfo_ contains one or more custom _types_, which need to be agreed upon by all parties involved. When the _type_ is not supported, the CSMS/Charging Station MAY ignore the _additionalInfo_.\r\n\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "additionalIdToken", + "type" + ] + }, + "IdTokenInfoType": { + "description": "Contains status information about an identifier.\r\nIt is advised to not stop charging for a token that expires during charging, as ExpiryDate is only used for caching purposes. If ExpiryDate is not given, the status has no end date.\r\n", + "javaType": "IdTokenInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/AuthorizationStatusEnumType" + }, + "cacheExpiryDateTime": { + "description": "Date and Time after which the token must be considered invalid.\r\n", + "type": "string", + "format": "date-time" + }, + "chargingPriority": { + "description": "Priority from a business point of view. Default priority is 0, The range is from -9 to 9. Higher values indicate a higher priority. The chargingPriority in <<transactioneventresponse,TransactionEventResponse>> overrules this one. \r\n", + "type": "integer" + }, + "groupIdToken": { + "$ref": "#/definitions/IdTokenType" + }, + "language1": { + "description": "Preferred user interface language of identifier user. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n\r\n", + "type": "string", + "maxLength": 8 + }, + "language2": { + "description": "Second preferred user interface language of identifier user. Don\u2019t use when language1 is omitted, has to be different from language1. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n", + "type": "string", + "maxLength": 8 + }, + "evseId": { + "description": "Only used when the IdToken is only valid for one or more specific EVSEs, not for the entire Charging Station.\r\n\r\n", + "type": "array", + "additionalItems": false, + "items": { + "type": "integer", + "minimum": 0.0 + }, + "minItems": 1 + }, + "personalMessage": { + "$ref": "#/definitions/MessageContentType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] + }, + "IdTokenType": { + "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", + "javaType": "IdToken", + "type": "object", + "additionalProperties": false, + "properties": { + "additionalInfo": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/AdditionalInfoType" + }, + "minItems": 1 + }, + "idToken": { + "description": "*(2.1)* IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n", + "type": "string", + "maxLength": 255 + }, + "type": { + "description": "*(2.1)* Enumeration of possible idToken types. Values defined in Appendix as IdTokenEnumStringType.\r\n", + "type": "string", + "maxLength": 20 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "idToken", + "type" + ] + }, + "MessageContentType": { + "description": "Contains message details, for a message to be displayed on a Charging Station.\r\n\r\n", + "javaType": "MessageContent", + "type": "object", + "additionalProperties": false, + "properties": { + "format": { + "$ref": "#/definitions/MessageFormatEnumType" + }, + "language": { + "description": "Message language identifier. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n", + "type": "string", + "maxLength": 8 + }, + "content": { + "description": "*(2.1)* Required. Message contents. +\r\nMaximum length supported by Charging Station is given in OCPPCommCtrlr.FieldLength[\"MessageContentType.content\"].\r\n Maximum length defaults to 1024.\r\n\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "format", + "content" + ] + }, + "TransactionLimitType": { + "description": "Cost, energy, time or SoC limit for a transaction.\r\n", + "javaType": "TransactionLimit", + "type": "object", + "additionalProperties": false, + "properties": { + "maxCost": { + "description": "Maximum allowed cost of transaction in currency of tariff.\r\n", + "type": "number" + }, + "maxEnergy": { + "description": "Maximum allowed energy in Wh to charge in transaction.\r\n", + "type": "number" + }, + "maxTime": { + "description": "Maximum duration of transaction in seconds from start to end.\r\n", + "type": "integer" + }, + "maxSoC": { + "description": "Maximum State of Charge of EV in percentage.\r\n", + "type": "integer", + "minimum": 0.0, + "maximum": 100.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "totalCost": { + "description": "When _eventType_ of TransactionEventRequest is Updated, then this value contains the running cost. When _eventType_ of TransactionEventRequest is Ended, then this contains the final total cost of this transaction, including taxes, in the currency configured with the Configuration Variable: Currency. Absence of this value does not imply that the transaction was free. To indicate a free transaction, the CSMS SHALL send a value of 0.00.\r\n", + "type": "number" + }, + "chargingPriority": { + "description": "Priority from a business point of view. Default priority is 0, The range is from -9 to 9. Higher values indicate a higher priority. The chargingPriority in <<transactioneventresponse,TransactionEventResponse>> is temporarily, so it may not be set in the <<cmn_idtokeninfotype,IdTokenInfoType>> afterwards. Also the chargingPriority in <<transactioneventresponse,TransactionEventResponse>> has a higher priority than the one in <<cmn_idtokeninfotype,IdTokenInfoType>>. \r\n", + "type": "integer" + }, + "idTokenInfo": { + "$ref": "#/definitions/IdTokenInfoType" + }, + "transactionLimit": { + "$ref": "#/definitions/TransactionLimitType" + }, + "updatedPersonalMessage": { + "$ref": "#/definitions/MessageContentType" + }, + "updatedPersonalMessageExtra": { + "type": "array", + "additionalItems": false, + "items": { + "$ref": "#/definitions/MessageContentType" + }, + "minItems": 1, + "maxItems": 4 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/TriggerMessageRequest.json b/src/tests/schema_validation/schemas/v2.1/TriggerMessageRequest.json new file mode 100644 index 00000000..420fd60f --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/TriggerMessageRequest.json @@ -0,0 +1,87 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:TriggerMessageRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "MessageTriggerEnumType": { + "description": "Type of message to be triggered.\r\n", + "javaType": "MessageTriggerEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "BootNotification", + "LogStatusNotification", + "FirmwareStatusNotification", + "Heartbeat", + "MeterValues", + "SignChargingStationCertificate", + "SignV2GCertificate", + "SignV2G20Certificate", + "StatusNotification", + "TransactionEvent", + "SignCombinedCertificate", + "PublishFirmwareStatusNotification", + "CustomTrigger" + ] + }, + "EVSEType": { + "description": "Electric Vehicle Supply Equipment\r\n", + "javaType": "EVSE", + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "id" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "evse": { + "$ref": "#/definitions/EVSEType" + }, + "requestedMessage": { + "$ref": "#/definitions/MessageTriggerEnumType" + }, + "customTrigger": { + "description": "*(2.1)* When _requestedMessage_ = `CustomTrigger` this will trigger sending the corresponding message in field _customTrigger_, if supported by Charging Station.\r\n\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestedMessage" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/TriggerMessageResponse.json b/src/tests/schema_validation/schemas/v2.1/TriggerMessageResponse.json new file mode 100644 index 00000000..a43e8fcf --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/TriggerMessageResponse.json @@ -0,0 +1,72 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:TriggerMessageResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "TriggerMessageStatusEnumType": { + "description": "Indicates whether the Charging Station will send the requested notification or not.\r\n", + "javaType": "TriggerMessageStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "NotImplemented" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/TriggerMessageStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/UnlockConnectorRequest.json b/src/tests/schema_validation/schemas/v2.1/UnlockConnectorRequest.json new file mode 100644 index 00000000..4e000fd2 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/UnlockConnectorRequest.json @@ -0,0 +1,42 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:UnlockConnectorRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "evseId": { + "description": "This contains the identifier of the EVSE for which a connector needs to be unlocked.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "connectorId": { + "description": "This contains the identifier of the connector that needs to be unlocked.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "evseId", + "connectorId" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/UnlockConnectorResponse.json b/src/tests/schema_validation/schemas/v2.1/UnlockConnectorResponse.json new file mode 100644 index 00000000..39e7a58c --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/UnlockConnectorResponse.json @@ -0,0 +1,73 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:UnlockConnectorResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "UnlockStatusEnumType": { + "description": "This indicates whether the Charging Station has unlocked the connector.\r\n", + "javaType": "UnlockStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Unlocked", + "UnlockFailed", + "OngoingAuthorizedTransaction", + "UnknownConnector" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/UnlockStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/UnpublishFirmwareRequest.json b/src/tests/schema_validation/schemas/v2.1/UnpublishFirmwareRequest.json new file mode 100644 index 00000000..b6f9b58c --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/UnpublishFirmwareRequest.json @@ -0,0 +1,36 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:UnpublishFirmwareRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "checksum": { + "description": "The MD5 checksum over the entire firmware file as a hexadecimal string of length 32. \r\n", + "type": "string", + "maxLength": 32 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "checksum" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/UnpublishFirmwareResponse.json b/src/tests/schema_validation/schemas/v2.1/UnpublishFirmwareResponse.json new file mode 100644 index 00000000..fb5b520b --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/UnpublishFirmwareResponse.json @@ -0,0 +1,45 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:UnpublishFirmwareResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "UnpublishFirmwareStatusEnumType": { + "description": "Indicates whether the Local Controller succeeded in unpublishing the firmware.\r\n", + "javaType": "UnpublishFirmwareStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "DownloadOngoing", + "NoFirmware", + "Unpublished" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/UnpublishFirmwareStatusEnumType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/UpdateDynamicScheduleRequest.json b/src/tests/schema_validation/schemas/v2.1/UpdateDynamicScheduleRequest.json new file mode 100644 index 00000000..16756618 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/UpdateDynamicScheduleRequest.json @@ -0,0 +1,102 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:UpdateDynamicScheduleRequest", + "description": "Id of dynamic charging profile to update.\r\n", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ChargingScheduleUpdateType": { + "description": "Updates to a ChargingSchedulePeriodType for dynamic charging profiles.\r\n\r\n", + "javaType": "ChargingScheduleUpdate", + "type": "object", + "additionalProperties": false, + "properties": { + "limit": { + "description": "Optional only when not required by the _operationMode_, as in CentralSetpoint, ExternalSetpoint, ExternalLimits, LocalFrequency, LocalLoadBalancing. +\r\nCharging rate limit during the schedule period, in the applicable _chargingRateUnit_. \r\nThis SHOULD be a non-negative value; a negative value is only supported for backwards compatibility with older systems that use a negative value to specify a discharging limit.\r\nFor AC this field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "limit_L2": { + "description": "*(2.1)* Charging rate limit on phase L2 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "limit_L3": { + "description": "*(2.1)* Charging rate limit on phase L3 in the applicable _chargingRateUnit_. \r\n", + "type": "number" + }, + "dischargeLimit": { + "description": "*(2.1)* Limit in _chargingRateUnit_ that the EV is allowed to discharge with. Note, these are negative values in order to be consistent with _setpoint_, which can be positive and negative. +\r\nFor AC this field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L2": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L2 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "dischargeLimit_L3": { + "description": "*(2.1)* Limit in _chargingRateUnit_ on phase L3 that the EV is allowed to discharge with. \r\n", + "type": "number", + "maximum": 0.0 + }, + "setpoint": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow as close as possible. Use negative values for discharging. +\r\nWhen a limit and/or _dischargeLimit_ are given the overshoot when following _setpoint_ must remain within these values.\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpoint_L2": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L2 as close as possible.\r\n", + "type": "number" + }, + "setpoint_L3": { + "description": "*(2.1)* Setpoint in _chargingRateUnit_ that the EV should follow on phase L3 as close as possible. \r\n", + "type": "number" + }, + "setpointReactive": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow as closely as possible. Positive values for inductive, negative for capacitive reactive power or current. +\r\nThis field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", + "type": "number" + }, + "setpointReactive_L2": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L2 as closely as possible. \r\n", + "type": "number" + }, + "setpointReactive_L3": { + "description": "*(2.1)* Setpoint for reactive power (or current) in _chargingRateUnit_ that the EV should follow on phase L3 as closely as possible. \r\n", + "type": "number" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + } + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "chargingProfileId": { + "description": "Id of charging profile to update.\r\n", + "type": "integer" + }, + "scheduleUpdate": { + "$ref": "#/definitions/ChargingScheduleUpdateType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "chargingProfileId", + "scheduleUpdate" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/UpdateDynamicScheduleResponse.json b/src/tests/schema_validation/schemas/v2.1/UpdateDynamicScheduleResponse.json new file mode 100644 index 00000000..bfd27fb2 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/UpdateDynamicScheduleResponse.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:UpdateDynamicScheduleResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "ChargingProfileStatusEnumType": { + "description": "Returns whether message was processed successfully.\r\n", + "javaType": "ChargingProfileStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/ChargingProfileStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/UpdateFirmwareRequest.json b/src/tests/schema_validation/schemas/v2.1/UpdateFirmwareRequest.json new file mode 100644 index 00000000..afc997ef --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/UpdateFirmwareRequest.json @@ -0,0 +1,88 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:UpdateFirmwareRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "FirmwareType": { + "description": "Represents a copy of the firmware that can be loaded/updated on the Charging Station.\r\n", + "javaType": "Firmware", + "type": "object", + "additionalProperties": false, + "properties": { + "location": { + "description": "URI defining the origin of the firmware.\r\n", + "type": "string", + "maxLength": 2000 + }, + "retrieveDateTime": { + "description": "Date and time at which the firmware shall be retrieved.\r\n", + "type": "string", + "format": "date-time" + }, + "installDateTime": { + "description": "Date and time at which the firmware shall be installed.\r\n", + "type": "string", + "format": "date-time" + }, + "signingCertificate": { + "description": "Certificate with which the firmware was signed.\r\nPEM encoded X.509 certificate.\r\n", + "type": "string", + "maxLength": 5500 + }, + "signature": { + "description": "Base64 encoded firmware signature.\r\n", + "type": "string", + "maxLength": 800 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "location", + "retrieveDateTime" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "retries": { + "description": "This specifies how many times Charging Station must retry to download the firmware before giving up. If this field is not present, it is left to Charging Station to decide how many times it wants to retry.\r\nIf the value is 0, it means: no retries.\r\n", + "type": "integer", + "minimum": 0.0 + }, + "retryInterval": { + "description": "The interval in seconds after which a retry may be attempted. If this field is not present, it is left to Charging Station to decide how long to wait between attempts.\r\n", + "type": "integer" + }, + "requestId": { + "description": "The Id of this request\r\n", + "type": "integer" + }, + "firmware": { + "$ref": "#/definitions/FirmwareType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "requestId", + "firmware" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/UpdateFirmwareResponse.json b/src/tests/schema_validation/schemas/v2.1/UpdateFirmwareResponse.json new file mode 100644 index 00000000..8fec9c16 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/UpdateFirmwareResponse.json @@ -0,0 +1,74 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:UpdateFirmwareResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "UpdateFirmwareStatusEnumType": { + "description": "This field indicates whether the Charging Station was able to accept the request.\r\n\r\n", + "javaType": "UpdateFirmwareStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "AcceptedCanceled", + "InvalidCertificate", + "RevokedCertificate" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/UpdateFirmwareStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/UsePriorityChargingRequest.json b/src/tests/schema_validation/schemas/v2.1/UsePriorityChargingRequest.json new file mode 100644 index 00000000..0de9f880 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/UsePriorityChargingRequest.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:UsePriorityChargingRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "transactionId": { + "description": "The transaction for which priority charging is requested.\r\n", + "type": "string", + "maxLength": 36 + }, + "activate": { + "description": "True to request priority charging.\r\nFalse to request stopping priority charging.\r\n", + "type": "boolean" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "transactionId", + "activate" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/UsePriorityChargingResponse.json b/src/tests/schema_validation/schemas/v2.1/UsePriorityChargingResponse.json new file mode 100644 index 00000000..382f80ea --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/UsePriorityChargingResponse.json @@ -0,0 +1,72 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:UsePriorityChargingResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "PriorityChargingStatusEnumType": { + "description": "Result of the request.\r\n", + "javaType": "PriorityChargingStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected", + "NoProfile" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "status": { + "$ref": "#/definitions/PriorityChargingStatusEnumType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/VatNumberValidationRequest.json b/src/tests/schema_validation/schemas/v2.1/VatNumberValidationRequest.json new file mode 100644 index 00000000..2dc7e4ca --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/VatNumberValidationRequest.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:VatNumberValidationRequest", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "vatNumber": { + "description": "VAT number to check.\r\n\r\n", + "type": "string", + "maxLength": 20 + }, + "evseId": { + "description": "EVSE id for which check is done\r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "vatNumber" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/schemas/v2.1/VatNumberValidationResponse.json b/src/tests/schema_validation/schemas/v2.1/VatNumberValidationResponse.json new file mode 100644 index 00000000..cbf05d97 --- /dev/null +++ b/src/tests/schema_validation/schemas/v2.1/VatNumberValidationResponse.json @@ -0,0 +1,132 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "$id": "urn:OCPP:Cp:2:2025:1:VatNumberValidationResponse", + "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License", + "definitions": { + "GenericStatusEnumType": { + "description": "Result of operation.\r\n", + "javaType": "GenericStatusEnum", + "type": "string", + "additionalProperties": false, + "enum": [ + "Accepted", + "Rejected" + ] + }, + "AddressType": { + "description": "*(2.1)* A generic address format.\r\n", + "javaType": "Address", + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "description": "Name of person/company\r\n", + "type": "string", + "maxLength": 50 + }, + "address1": { + "description": "Address line 1\r\n", + "type": "string", + "maxLength": 100 + }, + "address2": { + "description": "Address line 2\r\n", + "type": "string", + "maxLength": 100 + }, + "city": { + "description": "City\r\n", + "type": "string", + "maxLength": 100 + }, + "postalCode": { + "description": "Postal code\r\n", + "type": "string", + "maxLength": 20 + }, + "country": { + "description": "Country name\r\n", + "type": "string", + "maxLength": 50 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "name", + "address1", + "city", + "country" + ] + }, + "StatusInfoType": { + "description": "Element providing more information about the status.\r\n", + "javaType": "StatusInfo", + "type": "object", + "additionalProperties": false, + "properties": { + "reasonCode": { + "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", + "type": "string", + "maxLength": 20 + }, + "additionalInfo": { + "description": "Additional text to provide detailed information.\r\n", + "type": "string", + "maxLength": 1024 + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "reasonCode" + ] + }, + "CustomDataType": { + "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", + "javaType": "CustomData", + "type": "object", + "properties": { + "vendorId": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "vendorId" + ] + } + }, + "type": "object", + "additionalProperties": false, + "properties": { + "company": { + "$ref": "#/definitions/AddressType" + }, + "statusInfo": { + "$ref": "#/definitions/StatusInfoType" + }, + "vatNumber": { + "description": "VAT number that was requested.\r\n\r\n", + "type": "string", + "maxLength": 20 + }, + "evseId": { + "description": "EVSE id for which check was requested. \r\n\r\n", + "type": "integer", + "minimum": 0.0 + }, + "status": { + "$ref": "#/definitions/GenericStatusEnumType" + }, + "customData": { + "$ref": "#/definitions/CustomDataType" + } + }, + "required": [ + "vatNumber", + "status" + ] +} \ No newline at end of file diff --git a/src/tests/schema_validation/v2_1.rs b/src/tests/schema_validation/v2_1.rs new file mode 100644 index 00000000..ff2e05c6 --- /dev/null +++ b/src/tests/schema_validation/v2_1.rs @@ -0,0 +1,139 @@ +use jsonschema::Validator; +use serde_json::Value; + +const SCHEMA_DIR: &str = "src/tests/schema_validation/schemas/v2.1"; + +// Helper function to validate schema and instance with detailed error reporting +fn validate_schema_instance( + schema_name: &str, + instance: Value, +) -> Result> { + let schema_path = format!("{}/{}", SCHEMA_DIR, schema_name); + let schema_str = std::fs::read_to_string(schema_path)?; + let schema = serde_json::from_str(&schema_str)?; + let compiled = Validator::new(&schema).expect("A valid schema"); + let result = compiled.validate(&instance); + + if result.is_err() { + for error in compiled.iter_errors(&instance) { + println!("Validation error: {}", error); + println!("Instance path: {}", error.instance_path); + } + } + + Ok(compiled.is_valid(&instance)) +} + +#[test] +fn test_valid_boot_notification_request() -> Result<(), Box> { + let instance = serde_json::json!({ + "reason": "PowerUp", + "chargingStation": { + "model": "ModelX", + "vendorName": "VendorY" + } + }); + + assert!(validate_schema_instance( + "BootNotificationRequest.json", + instance + )?); + Ok(()) +} + +#[test] +fn test_invalid_boot_notification_missing_required_field() -> Result<(), Box> +{ + let instance = serde_json::json!({ + "reason": "PowerUp", + // Missing required chargingStation field + }); + + assert!(!validate_schema_instance( + "BootNotificationRequest.json", + instance + )?); + Ok(()) +} + +#[test] +fn test_valid_authorize_request() -> Result<(), Box> { + let instance = serde_json::json!({ + "idToken": { + "idToken": "ABCD1234", + "type": "ISO14443" + } + }); + + assert!(validate_schema_instance("AuthorizeRequest.json", instance)?); + Ok(()) +} + +#[test] +fn test_invalid_authorize_request() -> Result<(), Box> { + let instance = serde_json::json!({ + "idToken": { + "idToken": "ABCD1234", + // Missing required 'type' field + } + }); + + assert!(!validate_schema_instance( + "AuthorizeRequest.json", + instance + )?); + Ok(()) +} + +#[test] +fn test_boot_notification_request_additional_field() -> Result<(), Box> { + let instance = serde_json::json!({ + "reason": "PowerUp", + "chargingStation": { + "model": "ModelX", + "vendorName": "VendorY" + }, + "additionalField": "this should NOT be allowed" // OCPP 2.1 is strict about additional properties + }); + + // The validation should fail because OCPP 2.1 doesn't allow additional properties + assert!(!validate_schema_instance( + "BootNotificationRequest.json", + instance + )?); + Ok(()) +} + +#[test] +fn test_valid_boot_notification_request_v2_1() -> Result<(), Box> { + let instance = serde_json::json!({ + "reason": "PowerUp", + "chargingStation": { + "model": "ModelX", + "vendorName": "VendorY" + } + }); + + assert!(validate_schema_instance( + "BootNotificationRequest.json", + instance + )?); + Ok(()) +} + +#[test] +fn test_valid_boot_notification_response_v2_1() -> Result<(), Box> { + let instance = serde_json::json!({ + "currentTime": "2023-10-10T10:10:10Z", + "interval": 300, + "status": "Accepted" + }); + + assert!(validate_schema_instance( + "BootNotificationResponse.json", + instance + )?); + Ok(()) +} + +// We recommend installing an extension to run rust tests. diff --git a/src/v2_1/datatypes/mod.rs b/src/v2_1/datatypes/mod.rs new file mode 100644 index 00000000..e69de29b diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs new file mode 100644 index 00000000..e69de29b diff --git a/src/v2_1/helpers/mod.rs b/src/v2_1/helpers/mod.rs new file mode 100644 index 00000000..e69de29b diff --git a/src/v2_1/messages/boot_notification.rs b/src/v2_1/messages/boot_notification.rs new file mode 100644 index 00000000..479512b0 --- /dev/null +++ b/src/v2_1/messages/boot_notification.rs @@ -0,0 +1,147 @@ +use serde::{Deserialize, Serialize}; +use serde_json::{from_str, to_string, Value}; +use std::{fs, path::Path}; + +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct BootNotificationRequest { + pub charge_point_model: String, + pub charge_point_vendor: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub charge_point_serial_number: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub charge_box_serial_number: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub firmware_version: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub iccid: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub imsi: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub meter_type: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub meter_serial_number: Option, +} + +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct BootNotificationResponse { + pub current_time: String, + pub interval: i32, + pub status: BootNotificationStatus, +} + +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "SCREAMING_SNAKE_CASE")] + +#[cfg(test)] +mod tests { + use super::*; + + fn read_json_file>(path: P) -> String { + fs::read_to_string(path).expect("Failed to read JSON file") + } + + #[test] + fn test_boot_notification_request_from_json() { + let json_str = + read_json_file("src/tests/schema_validation/schemas/v2.0.1/BootNotificationRequest.json"); + + // Deserialize JSON into struct + let req: BootNotificationRequest = from_str(&json_str) + .expect("Failed to deserialize BootNotificationRequest JSON"); + + // Serialize back to JSON Value for round-trip comparison (ordering-insensitive) + let serialized = to_string(&req).expect("Failed to serialize BootNotificationRequest"); + let original_value: Value = from_str(&json_str).expect("Invalid original JSON"); + let new_value: Value = from_str(&serialized).expect("Invalid serialized JSON"); + assert_eq!(original_value, new_value); + } + + #[test] + fn test_boot_notification_request_to_json() { + let req = BootNotificationRequest { + charge_point_model: "ModelX".into(), + charge_point_vendor: "VendorY".into(), + charge_point_serial_number: Some("123456".into()), + charge_box_serial_number: None, + firmware_version: Some("v1.2.3".into()), + iccid: None, + imsi: None, + meter_type: None, + meter_serial_number: None, + }; + + // Serialize struct to JSON Value + let serialized = to_string(&req).expect("Failed to serialize BootNotificationRequest"); + let serialized_value: Value = from_str(&serialized).expect("Invalid serialized JSON"); + + let file_json = + read_json_file("src/tests/schema_validation/schemas/v2.0.1/BootNotificationRequest.json"); + let file_value: Value = + from_str(&file_json).expect("Invalid JSON from BootNotificationRequest file"); + + // Compare the two JSON representations + assert_eq!(serialized_value, file_value); + } + + #[test] + fn test_boot_notification_response_from_json() { + let json_str = + read_json_file("src/tests/schema_validation/schemas/v2.0.1/BootNotificationResponse.json"); + + // Deserialize JSON into struct + let resp: BootNotificationResponse = from_str(&json_str) + .expect("Failed to deserialize BootNotificationResponse JSON"); + + // Serialize back to JSON Value + let serialized = to_string(&resp).expect("Failed to serialize BootNotificationResponse"); + let original_value: Value = from_str(&json_str).expect("Invalid original JSON"); + let new_value: Value = from_str(&serialized).expect("Invalid serialized JSON"); + assert_eq!(original_value, new_value); + } + + #[test] + fn test_boot_notification_response_to_json() { + let resp = BootNotificationResponse { + current_time: "2023-10-10T10:00:00Z".into(), + interval: 300, + status: BootNotificationStatus::Accepted, + }; + + // Serialize struct to JSON Value + let serialized = to_string(&resp).expect("Failed to serialize BootNotificationResponse"); + let serialized_value: Value = from_str(&serialized).expect("Invalid serialized JSON"); + + let file_json = + read_json_file("src/tests/schema_validation/schemas/v2.0.1/BootNotificationResponse.json"); + let file_value: Value = + from_str(&file_json).expect("Invalid JSON from BootNotificationResponse file"); + + // Compare the two JSON representations + assert_eq!(serialized_value, file_value); + } +} +#[cfg(test)] +mod extra_tests { + use super::*; + + #[test] + fn test_boot_notification_request_full_options() { + let req = BootNotificationRequest { + charge_point_model: "ModelZ".into(), + charge_point_vendor: "VendorZ".into(), + charge_point_serial_number: Some("987654321".into()), + charge_box_serial_number: Some("Box123".into()), + firmware_version: Some("v9.9.9".into()), + iccid: Some("iccid12345".into()), + imsi: Some("imsi54321".into()), + meter_type: Some("electric".into()), + meter_serial_number: Some("meter987".into()), + }; + let serialized = to_string(&req).expect("Failed to serialize BootNotificationRequest"); + let deserialized: BootNotificationRequest = from_str(&serialized) + .expect("Failed to deserialize BootNotificationRequest"); + assert_eq!(req, deserialized); + } +} \ No newline at end of file diff --git a/src/v2_1/messages/mod.rs b/src/v2_1/messages/mod.rs new file mode 100644 index 00000000..e69de29b diff --git a/src/v2_1/mod.rs b/src/v2_1/mod.rs new file mode 100644 index 00000000..cc8c10ab --- /dev/null +++ b/src/v2_1/mod.rs @@ -0,0 +1,19 @@ +//! # Implementation of the OCPP 2.0.1 Specification +//! +//! ## Messages, Datatypes & Enumerations +//! +//! The following modules implements all messages, datatypes and enumerations +//! of the ocpp 2.1 specification +//! + +/// datatypes +pub mod datatypes; + +/// enumerations +pub mod enumerations; + +/// messages +pub mod messages; + +/// helper functions +pub mod helpers; From 1e0265fab4a9ea78d0c8bd0d1230aefcc350d382 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Wed, 12 Feb 2025 22:01:50 +0100 Subject: [PATCH 003/249] Update README with 2.1 info --- README.md | 56 ++++++++++++++++++++++++++----------------------------- 1 file changed, 26 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 1a40c887..3c7395a2 100644 --- a/README.md +++ b/README.md @@ -7,37 +7,39 @@ The `rust-ocpp` libs implements the Open Charge Point Protocol used in charging stations. You can read more on the official [Open Charge Alliance](https://www.openchargealliance.org/) website. -Both OCPP v1.6 and v2.0.1 are implemented and validated using the official json schemas from Open Charge Alliance. +OCPP versions v1.6, v2.0.1, and v2.1 are implemented and validated using the official json schemas from Open Charge Alliance. -You can find the tests in `schema_validation.rs` for both `v.1.6` and `v2.0.1` +You can find the tests in `schema_validation.rs` for all supported versions. ## repo structure -`src/` : library files for v1.6 and v2.0.1 +`src/` : library files for v1.6, v2.0.1, and v2.1 `docs/` : official ocpp specification ## How to Use -Add `rust-ocpp` as a dependency in your `Cargo.toml`. It will default to version `2.0.1` of OCPP. +Add `rust-ocpp` as a dependency in your `Cargo.toml`. Note that there is no default version - you must explicitly specify which OCPP version(s) you want to use via feature flags. ```toml [dependencies] rust-ocpp = "3.0" ``` -To use `1.6` you need to specify a protocol version with a feature flag: +To use a specific version, specify it with a feature flag: ```toml [dependencies] -rust-ocpp = { version = "1.0", features = ["v1_6"] } +rust-ocpp = { version = "2.0", features = ["v1_6"] } # For OCPP 1.6 +rust-ocpp = { version = "2.0", features = ["v2_0_1"] } # For OCPP 2.0.1 +rust-ocpp = { version = "2.0", features = ["v2_1"] } # For OCPP 2.1 ``` -or use both versions +You can also use multiple versions: ```toml [dependencies] -rust-ocpp = { version = "1.0", features = ["v2_0_1", "v1_6"] } +rust-ocpp = { version = "2.0", features = ["v2_0_1", "v2_1"] } ``` ## How to Build @@ -59,7 +61,7 @@ Once you have Rust and Cargo installed, you can build the library using the foll cd rust-ocpp ``` -3. Build the library using Cargo for both `1.6` and `2.0.1`: +3. Build the library using Cargo for all versions: ```bash cargo build --all-features @@ -68,14 +70,14 @@ Once you have Rust and Cargo installed, you can build the library using the foll This command will compile the library and its dependencies. If the build is successful, you will find the compiled artifacts in the `target/debug` directory. -4. Run the tests on both versions: +4. Run the tests on all versions: ```bash cargo test --all-features ``` - This command will execute the tests for both OCPP versions. If all tests pass, it means that the library is + This command will execute the tests for all OCPP versions. If all tests pass, it means that the library is functioning correctly. 5. Build a specific version: @@ -93,6 +95,12 @@ Once you have Rust and Cargo installed, you can build the library using the foll cargo build --features v2_0_1 ``` + To build `v2_1`: + + ```bash + cargo build --features v2_1 + ``` + 6. (Optional) Build for release: If you want to build the library for release, with optimizations enabled, you can use the following command: @@ -119,35 +127,23 @@ please check the project's issue tracker on GitHub or open a new issue for assis ## Testing -`rust-ocpp` provides testing against json schemas for both OCPP v1.6 and v2.0.1 versions. To run the tests, you can use +`rust-ocpp` provides testing against json schemas for all supported OCPP versions. To run the tests, you can use Cargo's built-in test runner. ### Running Tests -To run the tests for a specific version, use the appropriate feature flag when running the tests. - -For OCPP v1.6 tests: - -```bash -cargo test --features v1_6 -``` - -For OCPP v2.0.1 tests: - -```bash -cargo test --features v2_0_1 -``` - -To run all tests: +To run the tests for a specific version, use the appropriate feature flag: ```bash -cargo test +cargo test --features v1_6 # For OCPP 1.6 tests +cargo test --features v2_0_1 # For OCPP 2.0.1 tests +cargo test --features v2_1 # For OCPP 2.1 tests ``` -or for a specific version +To run all tests for all versions: ```bash -cargo test --features v1_6 +cargo test --all-features ``` ### Test Coverage From fc0657eb4ab13bb31130a1c8d8861735cde77a52 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Wed, 12 Feb 2025 22:04:58 +0100 Subject: [PATCH 004/249] linting --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3c7395a2..364ce75c 100644 --- a/README.md +++ b/README.md @@ -168,6 +168,7 @@ Use `rustfmt` before you PR. pre-commit config is available. You can read more about it at [pre-commits](https://pre-commit.com) website and checkout their repo on [github](https://github.com/pre-commit/pre-commit) ## Releasing a new version + 1. Update the version of the library and push the changes to the main branch. 2. Create a [new release](https://github.com/codelabsab/rust-ocpp/releases/new) on GitHub with the new version number and some release notes (optional). From 8d8193a9bc34cf0f6b36c96144e65f5d1845c26f Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Wed, 12 Feb 2025 22:26:27 +0100 Subject: [PATCH 005/249] feat: Enhance BootNotification message for OCPP v2.1 - Add comprehensive BootNotificationRequest and BootNotificationResponse structs - Introduce new enumerations: BootReasonEnumType and RegistrationStatusEnumType - Implement validation for datetime and field lengths - Add support for custom data and modem information - Improve test coverage with various validation scenarios - Update Cargo.toml to include lazy_static and serde_json dependencies --- Cargo.lock | 1 + Cargo.toml | 3 +- src/v2_1/enumerations/boot_reason.rs | 23 ++ src/v2_1/enumerations/mod.rs | 5 + src/v2_1/enumerations/registration_status.rs | 11 + src/v2_1/messages/boot_notification.rs | 331 +++++++++++++------ src/v2_1/messages/mod.rs | 1 + 7 files changed, 270 insertions(+), 105 deletions(-) create mode 100644 src/v2_1/enumerations/boot_reason.rs create mode 100644 src/v2_1/enumerations/registration_status.rs diff --git a/Cargo.lock b/Cargo.lock index b87dbb5e..083450ba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1240,6 +1240,7 @@ version = "3.0.1" dependencies = [ "chrono", "jsonschema", + "lazy_static", "mockall", "regex", "rust_decimal", diff --git a/Cargo.toml b/Cargo.toml index ccb4cfd4..dc29d511 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,10 +45,11 @@ regex = "1.11.1" rust_decimal = { version = "1.36.0", features = [ "serde-with-arbitrary-precision", ] } +serde_json = "1" +lazy_static = "1.4" [dev-dependencies] chrono = { version = "0.4.39", default-features = false, features = ["clock"] } -serde_json = "1" mockall = "0.13.1" jsonschema = "0.28" rust_decimal_macros = "1.36.0" diff --git a/src/v2_1/enumerations/boot_reason.rs b/src/v2_1/enumerations/boot_reason.rs new file mode 100644 index 00000000..1a189b6a --- /dev/null +++ b/src/v2_1/enumerations/boot_reason.rs @@ -0,0 +1,23 @@ +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum BootReasonEnumType { + #[serde(rename = "ApplicationReset")] + ApplicationReset, + #[serde(rename = "FirmwareUpdate")] + FirmwareUpdate, + #[serde(rename = "LocalReset")] + LocalReset, + #[serde(rename = "PowerUp")] + PowerUp, + #[serde(rename = "RemoteReset")] + RemoteReset, + #[serde(rename = "ScheduledReset")] + ScheduledReset, + #[serde(rename = "Triggered")] + Triggered, + #[serde(rename = "Unknown")] + Unknown, + #[serde(rename = "Watchdog")] + Watchdog, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index e69de29b..5a4db05c 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -0,0 +1,5 @@ +mod boot_reason; +mod registration_status; + +pub use boot_reason::BootReasonEnumType; +pub use registration_status::RegistrationStatusEnumType; diff --git a/src/v2_1/enumerations/registration_status.rs b/src/v2_1/enumerations/registration_status.rs new file mode 100644 index 00000000..67d1fbc9 --- /dev/null +++ b/src/v2_1/enumerations/registration_status.rs @@ -0,0 +1,11 @@ +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum RegistrationStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Pending")] + Pending, + #[serde(rename = "Rejected")] + Rejected, +} diff --git a/src/v2_1/messages/boot_notification.rs b/src/v2_1/messages/boot_notification.rs index 479512b0..6f53a54c 100644 --- a/src/v2_1/messages/boot_notification.rs +++ b/src/v2_1/messages/boot_notification.rs @@ -1,147 +1,270 @@ +use lazy_static::lazy_static; +use regex::Regex; use serde::{Deserialize, Serialize}; -use serde_json::{from_str, to_string, Value}; -use std::{fs, path::Path}; +use validator::{Validate, ValidationError}; -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +use crate::v2_1::enumerations::{BootReasonEnumType, RegistrationStatusEnumType}; + +lazy_static! { + // This regex pattern validates ISO 8601 datetime strings in the format: + // YYYY-MM-DDThh:mm:ss[.fraction]Z or + // YYYY-MM-DDThh:mm:ss[.fraction]±hh:mm + // Where: + // - YYYY is a 4 digit year + // - MM is a 2 digit month + // - DD is a 2 digit day + // - T is the literal 'T' separator + // - hh:mm:ss is hours, minutes, seconds + // - [.fraction] is an optional decimal fraction of a second + // - Z represents UTC or ±hh:mm represents timezone offset + static ref DATETIME_REGEX: Regex = + Regex::new(r"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$") + .unwrap(); +} + +/// Validates that a datetime string matches the ISO 8601 format. +/// +/// The expected format is: +/// - YYYY-MM-DDThh:mm:ss[.fraction]Z or +/// - YYYY-MM-DDThh:mm:ss[.fraction]±hh:mm +/// +/// # Arguments +/// * `datetime` - The datetime string to validate +/// +/// # Returns +/// * `Ok(())` if the datetime string is valid +/// * `Err(ValidationError)` if the datetime string is invalid +fn validate_datetime(datetime: &str) -> Result<(), ValidationError> { + if DATETIME_REGEX.is_match(datetime) { + Ok(()) + } else { + Err(ValidationError::new("invalid_datetime")) + } +} + +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] #[serde(rename_all = "camelCase")] -pub struct BootNotificationRequest { - pub charge_point_model: String, - pub charge_point_vendor: String, +pub struct CustomData { + #[validate(length(max = 255))] + pub vendor_id: String, +} + +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ModemType { + #[validate(length(max = 20))] + #[serde(skip_serializing_if = "Option::is_none")] + pub iccid: Option, + #[validate(length(max = 20))] #[serde(skip_serializing_if = "Option::is_none")] - pub charge_point_serial_number: Option, + pub imsi: Option, + #[validate(nested)] + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ChargingStation { + #[validate(length(max = 20))] + pub model: String, + #[validate(length(max = 50))] + pub vendor_name: String, + #[validate(length(max = 25))] #[serde(skip_serializing_if = "Option::is_none")] - pub charge_box_serial_number: Option, + pub serial_number: Option, + #[validate(length(max = 50))] #[serde(skip_serializing_if = "Option::is_none")] pub firmware_version: Option, + #[validate(nested)] #[serde(skip_serializing_if = "Option::is_none")] - pub iccid: Option, + pub modem: Option, + #[validate(nested)] #[serde(skip_serializing_if = "Option::is_none")] - pub imsi: Option, + pub custom_data: Option, +} + +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct BootNotificationRequest { + pub reason: BootReasonEnumType, + #[validate(nested)] + pub charging_station: ChargingStation, + #[validate(nested)] + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct StatusInfoType { + #[validate(length(max = 20))] + pub reason_code: String, + #[validate(length(max = 1024))] #[serde(skip_serializing_if = "Option::is_none")] - pub meter_type: Option, + pub additional_info: Option, + #[validate(nested)] #[serde(skip_serializing_if = "Option::is_none")] - pub meter_serial_number: Option, + pub custom_data: Option, } -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] #[serde(rename_all = "camelCase")] pub struct BootNotificationResponse { + #[validate(custom(function = "validate_datetime"))] pub current_time: String, pub interval: i32, - pub status: BootNotificationStatus, + pub status: RegistrationStatusEnumType, + #[validate(nested)] + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + #[validate(nested)] + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, } -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "SCREAMING_SNAKE_CASE")] - #[cfg(test)] mod tests { use super::*; - - fn read_json_file>(path: P) -> String { - fs::read_to_string(path).expect("Failed to read JSON file") - } - - #[test] - fn test_boot_notification_request_from_json() { - let json_str = - read_json_file("src/tests/schema_validation/schemas/v2.0.1/BootNotificationRequest.json"); - - // Deserialize JSON into struct - let req: BootNotificationRequest = from_str(&json_str) - .expect("Failed to deserialize BootNotificationRequest JSON"); - - // Serialize back to JSON Value for round-trip comparison (ordering-insensitive) - let serialized = to_string(&req).expect("Failed to serialize BootNotificationRequest"); - let original_value: Value = from_str(&json_str).expect("Invalid original JSON"); - let new_value: Value = from_str(&serialized).expect("Invalid serialized JSON"); - assert_eq!(original_value, new_value); - } + use serde_json::json; #[test] - fn test_boot_notification_request_to_json() { - let req = BootNotificationRequest { - charge_point_model: "ModelX".into(), - charge_point_vendor: "VendorY".into(), - charge_point_serial_number: Some("123456".into()), - charge_box_serial_number: None, - firmware_version: Some("v1.2.3".into()), - iccid: None, - imsi: None, - meter_type: None, - meter_serial_number: None, + fn test_valid_boot_notification_request() { + let request = BootNotificationRequest { + reason: BootReasonEnumType::PowerUp, + charging_station: ChargingStation { + model: "ModelX".into(), + vendor_name: "VendorY".into(), + serial_number: Some("123456".into()), + firmware_version: Some("v1.0.0".into()), + modem: Some(ModemType { + iccid: Some("89123456789".into()), + imsi: Some("123456789".into()), + custom_data: None, + }), + custom_data: None, + }, + custom_data: None, }; - // Serialize struct to JSON Value - let serialized = to_string(&req).expect("Failed to serialize BootNotificationRequest"); - let serialized_value: Value = from_str(&serialized).expect("Invalid serialized JSON"); - - let file_json = - read_json_file("src/tests/schema_validation/schemas/v2.0.1/BootNotificationRequest.json"); - let file_value: Value = - from_str(&file_json).expect("Invalid JSON from BootNotificationRequest file"); + // Validate the request + assert!(request.validate().is_ok()); - // Compare the two JSON representations - assert_eq!(serialized_value, file_value); + let json = serde_json::to_value(&request).unwrap(); + assert_eq!( + json, + json!({ + "reason": "PowerUp", + "chargingStation": { + "model": "ModelX", + "vendorName": "VendorY", + "serialNumber": "123456", + "firmwareVersion": "v1.0.0", + "modem": { + "iccid": "89123456789", + "imsi": "123456789" + } + } + }) + ); } #[test] - fn test_boot_notification_response_from_json() { - let json_str = - read_json_file("src/tests/schema_validation/schemas/v2.0.1/BootNotificationResponse.json"); - - // Deserialize JSON into struct - let resp: BootNotificationResponse = from_str(&json_str) - .expect("Failed to deserialize BootNotificationResponse JSON"); - - // Serialize back to JSON Value - let serialized = to_string(&resp).expect("Failed to serialize BootNotificationResponse"); - let original_value: Value = from_str(&json_str).expect("Invalid original JSON"); - let new_value: Value = from_str(&serialized).expect("Invalid serialized JSON"); - assert_eq!(original_value, new_value); + fn test_invalid_boot_notification_request() { + let request = BootNotificationRequest { + reason: BootReasonEnumType::PowerUp, + charging_station: ChargingStation { + model: "This model name is way too long and should fail validation".into(), + vendor_name: "VendorY".into(), + serial_number: Some("This serial number is also too long to be valid".into()), + firmware_version: None, + modem: None, + custom_data: None, + }, + custom_data: None, + }; + + // Validate the request - should fail + assert!(request.validate().is_err()); } #[test] - fn test_boot_notification_response_to_json() { - let resp = BootNotificationResponse { - current_time: "2023-10-10T10:00:00Z".into(), + fn test_valid_boot_notification_response() { + let response = BootNotificationResponse { + current_time: "2023-10-10T10:10:10Z".into(), interval: 300, - status: BootNotificationStatus::Accepted, + status: RegistrationStatusEnumType::Accepted, + status_info: Some(StatusInfoType { + reason_code: "OK".into(), + additional_info: Some("All good".into()), + custom_data: None, + }), + custom_data: None, }; - // Serialize struct to JSON Value - let serialized = to_string(&resp).expect("Failed to serialize BootNotificationResponse"); - let serialized_value: Value = from_str(&serialized).expect("Invalid serialized JSON"); + // Validate the response + assert!(response.validate().is_ok()); + + let json = serde_json::to_value(&response).unwrap(); + assert_eq!( + json, + json!({ + "currentTime": "2023-10-10T10:10:10Z", + "interval": 300, + "status": "Accepted", + "statusInfo": { + "reasonCode": "OK", + "additionalInfo": "All good" + } + }) + ); + } - let file_json = - read_json_file("src/tests/schema_validation/schemas/v2.0.1/BootNotificationResponse.json"); - let file_value: Value = - from_str(&file_json).expect("Invalid JSON from BootNotificationResponse file"); + #[test] + fn test_invalid_boot_notification_response() { + let response = BootNotificationResponse { + current_time: "invalid-datetime".into(), + interval: 300, + status: RegistrationStatusEnumType::Accepted, + status_info: Some(StatusInfoType { + reason_code: "This reason code is way too long to be valid".into(), + additional_info: None, + custom_data: None, + }), + custom_data: None, + }; - // Compare the two JSON representations - assert_eq!(serialized_value, file_value); + // Validate the response - should fail + assert!(response.validate().is_err()); } -} -#[cfg(test)] -mod extra_tests { - use super::*; #[test] - fn test_boot_notification_request_full_options() { - let req = BootNotificationRequest { - charge_point_model: "ModelZ".into(), - charge_point_vendor: "VendorZ".into(), - charge_point_serial_number: Some("987654321".into()), - charge_box_serial_number: Some("Box123".into()), - firmware_version: Some("v9.9.9".into()), - iccid: Some("iccid12345".into()), - imsi: Some("imsi54321".into()), - meter_type: Some("electric".into()), - meter_serial_number: Some("meter987".into()), + fn test_boot_notification_request_with_custom_data() { + let request = BootNotificationRequest { + reason: BootReasonEnumType::PowerUp, + charging_station: ChargingStation { + model: "ModelZ".into(), + vendor_name: "VendorZ".into(), + serial_number: Some("987654321".into()), + firmware_version: Some("v9.9.9".into()), + modem: Some(ModemType { + iccid: Some("iccid12345".into()), + imsi: Some("imsi54321".into()), + custom_data: Some(CustomData { + vendor_id: "VendorZ".into(), + }), + }), + custom_data: Some(CustomData { + vendor_id: "VendorZ".into(), + }), + }, + custom_data: Some(CustomData { + vendor_id: "VendorZ".into(), + }), }; - let serialized = to_string(&req).expect("Failed to serialize BootNotificationRequest"); - let deserialized: BootNotificationRequest = from_str(&serialized) - .expect("Failed to deserialize BootNotificationRequest"); - assert_eq!(req, deserialized); + + let serialized = serde_json::to_string(&request).unwrap(); + let deserialized: BootNotificationRequest = serde_json::from_str(&serialized).unwrap(); + assert_eq!(request, deserialized); } -} \ No newline at end of file +} diff --git a/src/v2_1/messages/mod.rs b/src/v2_1/messages/mod.rs index e69de29b..34c65179 100644 --- a/src/v2_1/messages/mod.rs +++ b/src/v2_1/messages/mod.rs @@ -0,0 +1 @@ +mod boot_notification; From 08bd39126e5fa9ebbaf9a485f9f3e0a08b21be85 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Wed, 12 Feb 2025 22:39:20 +0100 Subject: [PATCH 006/249] feat: Add GenericStatusEnumType for OCPP v2.1 - Introduce new GenericStatusEnumType enumeration - Support serialization and deserialization of status - Add Accepted and Rejected status variants - Update enumerations module to export the new type --- src/v2_1/enumerations/generic_status.rs | 10 ++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 12 insertions(+) create mode 100644 src/v2_1/enumerations/generic_status.rs diff --git a/src/v2_1/enumerations/generic_status.rs b/src/v2_1/enumerations/generic_status.rs new file mode 100644 index 00000000..ad6d39e8 --- /dev/null +++ b/src/v2_1/enumerations/generic_status.rs @@ -0,0 +1,10 @@ +use serde::{Deserialize, Serialize}; + +/// Status of operation. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum GenericStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 5a4db05c..cf36768e 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -1,5 +1,7 @@ mod boot_reason; +mod generic_status; mod registration_status; pub use boot_reason::BootReasonEnumType; +pub use generic_status::GenericStatusEnumType; pub use registration_status::RegistrationStatusEnumType; From f8ab3721e2908e771e196c20b663c468b771a203 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Wed, 12 Feb 2025 22:40:39 +0100 Subject: [PATCH 007/249] feat: Add HashAlgorithmEnumType for OCPP v2.1 - Introduce new HashAlgorithmEnumType enumeration - Support serialization and deserialization of hash algorithms - Include SHA256, SHA384, and SHA512 variants - Update enumerations module to export the new type --- src/v2_1/enumerations/hash_algorithm.rs | 12 ++++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 14 insertions(+) create mode 100644 src/v2_1/enumerations/hash_algorithm.rs diff --git a/src/v2_1/enumerations/hash_algorithm.rs b/src/v2_1/enumerations/hash_algorithm.rs new file mode 100644 index 00000000..5b9e9590 --- /dev/null +++ b/src/v2_1/enumerations/hash_algorithm.rs @@ -0,0 +1,12 @@ +use serde::{Deserialize, Serialize}; + +/// Used algorithms for the hashes provided. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum HashAlgorithmEnumType { + #[serde(rename = "SHA256")] + SHA256, + #[serde(rename = "SHA384")] + SHA384, + #[serde(rename = "SHA512")] + SHA512, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index cf36768e..2f264706 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -1,7 +1,9 @@ mod boot_reason; mod generic_status; +mod hash_algorithm; mod registration_status; pub use boot_reason::BootReasonEnumType; pub use generic_status::GenericStatusEnumType; +pub use hash_algorithm::HashAlgorithmEnumType; pub use registration_status::RegistrationStatusEnumType; From aa672866fd00f2641c8f569511b7c590f0101670 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Wed, 12 Feb 2025 22:42:06 +0100 Subject: [PATCH 008/249] feat: Add AuthorizationStatusEnumType for OCPP v2.1 - Introduce new AuthorizationStatusEnumType enumeration - Support serialization and deserialization of authorization statuses - Include multiple status variants like Accepted, Blocked, Expired, etc. - Update enumerations module to export the new type --- src/v2_1/enumerations/authorization_status.rs | 26 +++++++++++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 src/v2_1/enumerations/authorization_status.rs diff --git a/src/v2_1/enumerations/authorization_status.rs b/src/v2_1/enumerations/authorization_status.rs new file mode 100644 index 00000000..db1916a9 --- /dev/null +++ b/src/v2_1/enumerations/authorization_status.rs @@ -0,0 +1,26 @@ +use serde::{Deserialize, Serialize}; + +/// Current status of the ID Token. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum AuthorizationStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Blocked")] + Blocked, + #[serde(rename = "ConcurrentTx")] + ConcurrentTx, + #[serde(rename = "Expired")] + Expired, + #[serde(rename = "Invalid")] + Invalid, + #[serde(rename = "NoCredit")] + NoCredit, + #[serde(rename = "NotAllowedTypeEVSE")] + NotAllowedTypeEVSE, + #[serde(rename = "NotAtThisLocation")] + NotAtThisLocation, + #[serde(rename = "NotAtThisTime")] + NotAtThisTime, + #[serde(rename = "Unknown")] + Unknown, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 2f264706..ed95d4b1 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -1,8 +1,10 @@ +mod authorization_status; mod boot_reason; mod generic_status; mod hash_algorithm; mod registration_status; +pub use authorization_status::AuthorizationStatusEnumType; pub use boot_reason::BootReasonEnumType; pub use generic_status::GenericStatusEnumType; pub use hash_algorithm::HashAlgorithmEnumType; From 2a878cc7f5b11a56efd1c6b7a03a31e64358a2b9 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Wed, 12 Feb 2025 22:43:23 +0100 Subject: [PATCH 009/249] feat: Add CertificateSigningUseEnumType for OCPP v2.1 - Introduce new CertificateSigningUseEnumType enumeration - Support serialization and deserialization of certificate signing use types - Include variants for Charging Station, V2G, and V2G 2.0 certificates - Update enumerations module to export the new type --- src/v2_1/enumerations/certificate_signing_use.rs | 12 ++++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 14 insertions(+) create mode 100644 src/v2_1/enumerations/certificate_signing_use.rs diff --git a/src/v2_1/enumerations/certificate_signing_use.rs b/src/v2_1/enumerations/certificate_signing_use.rs new file mode 100644 index 00000000..9207a733 --- /dev/null +++ b/src/v2_1/enumerations/certificate_signing_use.rs @@ -0,0 +1,12 @@ +use serde::{Deserialize, Serialize}; + +/// Indicates the type of the signed certificate that is returned. When omitted the certificate is used for both the 15118 connection (if implemented) and the Charging Station to CSMS connection. This field is required when a typeOfCertificate was included in the SignCertificateRequest that requested this certificate to be signed AND both the 15118 connection and the Charging Station connection are implemented. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum CertificateSigningUseEnumType { + #[serde(rename = "ChargingStationCertificate")] + ChargingStationCertificate, + #[serde(rename = "V2GCertificate")] + V2GCertificate, + #[serde(rename = "V2G20Certificate")] + V2G20Certificate, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index ed95d4b1..17003a51 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -1,11 +1,13 @@ mod authorization_status; mod boot_reason; +mod certificate_signing_use; mod generic_status; mod hash_algorithm; mod registration_status; pub use authorization_status::AuthorizationStatusEnumType; pub use boot_reason::BootReasonEnumType; +pub use certificate_signing_use::CertificateSigningUseEnumType; pub use generic_status::GenericStatusEnumType; pub use hash_algorithm::HashAlgorithmEnumType; pub use registration_status::RegistrationStatusEnumType; From 6d6e993d5aa92027082843e8e10b26cb9ebba89f Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Wed, 12 Feb 2025 22:44:14 +0100 Subject: [PATCH 010/249] feat: Add OperationalStatusEnumType for OCPP v2.1 --- src/v2_1/enumerations/mod.rs | 2 ++ src/v2_1/enumerations/operational_status.rs | 10 ++++++++++ 2 files changed, 12 insertions(+) create mode 100644 src/v2_1/enumerations/operational_status.rs diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 17003a51..02d4c5e8 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -3,6 +3,7 @@ mod boot_reason; mod certificate_signing_use; mod generic_status; mod hash_algorithm; +mod operational_status; mod registration_status; pub use authorization_status::AuthorizationStatusEnumType; @@ -10,4 +11,5 @@ pub use boot_reason::BootReasonEnumType; pub use certificate_signing_use::CertificateSigningUseEnumType; pub use generic_status::GenericStatusEnumType; pub use hash_algorithm::HashAlgorithmEnumType; +pub use operational_status::OperationalStatusEnumType; pub use registration_status::RegistrationStatusEnumType; diff --git a/src/v2_1/enumerations/operational_status.rs b/src/v2_1/enumerations/operational_status.rs new file mode 100644 index 00000000..0b4f2a3a --- /dev/null +++ b/src/v2_1/enumerations/operational_status.rs @@ -0,0 +1,10 @@ +use serde::{Deserialize, Serialize}; + +/// This contains the type of availability change that the Charging Station should perform. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum OperationalStatusEnumType { + #[serde(rename = "Inoperative")] + Inoperative, + #[serde(rename = "Operative")] + Operative, +} From e639dc30f63e3acbc500a9648c04a6927070e31c Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Wed, 12 Feb 2025 22:45:22 +0100 Subject: [PATCH 011/249] Add ChangeAvailabilityStatusEnumType --- src/v2_1/enumerations/change_availability_status.rs | 12 ++++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 14 insertions(+) create mode 100644 src/v2_1/enumerations/change_availability_status.rs diff --git a/src/v2_1/enumerations/change_availability_status.rs b/src/v2_1/enumerations/change_availability_status.rs new file mode 100644 index 00000000..9af1e480 --- /dev/null +++ b/src/v2_1/enumerations/change_availability_status.rs @@ -0,0 +1,12 @@ +use serde::{Deserialize, Serialize}; + +/// This indicates whether the Charging Station is able to perform the availability change. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum ChangeAvailabilityStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "Scheduled")] + Scheduled, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 02d4c5e8..9f5f08e3 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -1,6 +1,7 @@ mod authorization_status; mod boot_reason; mod certificate_signing_use; +mod change_availability_status; mod generic_status; mod hash_algorithm; mod operational_status; @@ -9,6 +10,7 @@ mod registration_status; pub use authorization_status::AuthorizationStatusEnumType; pub use boot_reason::BootReasonEnumType; pub use certificate_signing_use::CertificateSigningUseEnumType; +pub use change_availability_status::ChangeAvailabilityStatusEnumType; pub use generic_status::GenericStatusEnumType; pub use hash_algorithm::HashAlgorithmEnumType; pub use operational_status::OperationalStatusEnumType; From fa0cc62d77f33f6b65c0c6eb60b030953348f79c Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 07:36:41 +0100 Subject: [PATCH 012/249] feat: Add DayOfWeekEnumType for OCPP v2.1 - Introduce new DayOfWeekEnumType enumeration - Support serialization and deserialization of days of the week - Include all seven days from Monday to Sunday - Update enumerations module to export the new type --- src/v2_1/enumerations/day_of_week.rs | 19 +++++++++++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 21 insertions(+) create mode 100644 src/v2_1/enumerations/day_of_week.rs diff --git a/src/v2_1/enumerations/day_of_week.rs b/src/v2_1/enumerations/day_of_week.rs new file mode 100644 index 00000000..8f4cc2a7 --- /dev/null +++ b/src/v2_1/enumerations/day_of_week.rs @@ -0,0 +1,19 @@ +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum DayOfWeekEnumType { + #[serde(rename = "Monday")] + Monday, + #[serde(rename = "Tuesday")] + Tuesday, + #[serde(rename = "Wednesday")] + Wednesday, + #[serde(rename = "Thursday")] + Thursday, + #[serde(rename = "Friday")] + Friday, + #[serde(rename = "Saturday")] + Saturday, + #[serde(rename = "Sunday")] + Sunday, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 9f5f08e3..cd6437d1 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -2,6 +2,7 @@ mod authorization_status; mod boot_reason; mod certificate_signing_use; mod change_availability_status; +mod day_of_week; mod generic_status; mod hash_algorithm; mod operational_status; @@ -11,6 +12,7 @@ pub use authorization_status::AuthorizationStatusEnumType; pub use boot_reason::BootReasonEnumType; pub use certificate_signing_use::CertificateSigningUseEnumType; pub use change_availability_status::ChangeAvailabilityStatusEnumType; +pub use day_of_week::DayOfWeekEnumType; pub use generic_status::GenericStatusEnumType; pub use hash_algorithm::HashAlgorithmEnumType; pub use operational_status::OperationalStatusEnumType; From 3d0c70be6139d568e8f0c0faf6e29ddefef91457 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 07:37:42 +0100 Subject: [PATCH 013/249] feat: Add EvseKindEnumType for OCPP v2.1 - Introduce new EvseKindEnumType enumeration - Support serialization and deserialization of EVSE types - Include AC and DC variants - Update enumerations module to export the new type --- src/v2_1/enumerations/evse_kind.rs | 10 ++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 12 insertions(+) create mode 100644 src/v2_1/enumerations/evse_kind.rs diff --git a/src/v2_1/enumerations/evse_kind.rs b/src/v2_1/enumerations/evse_kind.rs new file mode 100644 index 00000000..b3b0cc41 --- /dev/null +++ b/src/v2_1/enumerations/evse_kind.rs @@ -0,0 +1,10 @@ +use serde::{Deserialize, Serialize}; + +/// Type of EVSE (AC, DC) this tariff applies to. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum EvseKindEnumType { + #[serde(rename = "AC")] + AC, + #[serde(rename = "DC")] + DC, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index cd6437d1..d9956ae8 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -3,6 +3,7 @@ mod boot_reason; mod certificate_signing_use; mod change_availability_status; mod day_of_week; +mod evse_kind; mod generic_status; mod hash_algorithm; mod operational_status; @@ -13,6 +14,7 @@ pub use boot_reason::BootReasonEnumType; pub use certificate_signing_use::CertificateSigningUseEnumType; pub use change_availability_status::ChangeAvailabilityStatusEnumType; pub use day_of_week::DayOfWeekEnumType; +pub use evse_kind::EvseKindEnumType; pub use generic_status::GenericStatusEnumType; pub use hash_algorithm::HashAlgorithmEnumType; pub use operational_status::OperationalStatusEnumType; From 7d2d3762593a7882626e87b6bcefdd1fad812cde Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 07:48:18 +0100 Subject: [PATCH 014/249] Added MessageFormatEnumType --- src/v2_1/enumerations/message_format.rs | 16 ++++++++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 18 insertions(+) create mode 100644 src/v2_1/enumerations/message_format.rs diff --git a/src/v2_1/enumerations/message_format.rs b/src/v2_1/enumerations/message_format.rs new file mode 100644 index 00000000..443ac605 --- /dev/null +++ b/src/v2_1/enumerations/message_format.rs @@ -0,0 +1,16 @@ +use serde::{Deserialize, Serialize}; + +/// Format of the message. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum MessageFormatEnumType { + #[serde(rename = "ASCII")] + ASCII, + #[serde(rename = "HTML")] + HTML, + #[serde(rename = "URI")] + URI, + #[serde(rename = "UTF8")] + UTF8, + #[serde(rename = "QRCODE")] + QRCODE, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index d9956ae8..a736bf8f 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -6,6 +6,7 @@ mod day_of_week; mod evse_kind; mod generic_status; mod hash_algorithm; +mod message_format; mod operational_status; mod registration_status; @@ -17,5 +18,6 @@ pub use day_of_week::DayOfWeekEnumType; pub use evse_kind::EvseKindEnumType; pub use generic_status::GenericStatusEnumType; pub use hash_algorithm::HashAlgorithmEnumType; +pub use message_format::MessageFormatEnumType; pub use operational_status::OperationalStatusEnumType; pub use registration_status::RegistrationStatusEnumType; From 3961d11d18e8c7853af105ff7777ed4ededf5c97 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 07:48:40 +0100 Subject: [PATCH 015/249] feat: Add ChargingStateEnumType for OCPP v2.1 - Introduce new ChargingStateEnumType enumeration - Support serialization and deserialization of charging states - Include variants for EV connection, charging, suspended states, and idle - Update enumerations module to export the new type --- src/v2_1/enumerations/charging_state.rs | 17 +++++++++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 19 insertions(+) create mode 100644 src/v2_1/enumerations/charging_state.rs diff --git a/src/v2_1/enumerations/charging_state.rs b/src/v2_1/enumerations/charging_state.rs new file mode 100644 index 00000000..c7c52da9 --- /dev/null +++ b/src/v2_1/enumerations/charging_state.rs @@ -0,0 +1,17 @@ +use serde::{Deserialize, Serialize}; + +/// Current charging state, is required when state has changed. +/// Omitted when there is no communication between EVSE and EV, because no cable is plugged in. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum ChargingStateEnumType { + #[serde(rename = "EVConnected")] + EVConnected, + #[serde(rename = "Charging")] + Charging, + #[serde(rename = "SuspendedEV")] + SuspendedEV, + #[serde(rename = "SuspendedEVSE")] + SuspendedEVSE, + #[serde(rename = "Idle")] + Idle, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index a736bf8f..11cd449d 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -2,6 +2,7 @@ mod authorization_status; mod boot_reason; mod certificate_signing_use; mod change_availability_status; +mod charging_state; mod day_of_week; mod evse_kind; mod generic_status; @@ -14,6 +15,7 @@ pub use authorization_status::AuthorizationStatusEnumType; pub use boot_reason::BootReasonEnumType; pub use certificate_signing_use::CertificateSigningUseEnumType; pub use change_availability_status::ChangeAvailabilityStatusEnumType; +pub use charging_state::ChargingStateEnumType; pub use day_of_week::DayOfWeekEnumType; pub use evse_kind::EvseKindEnumType; pub use generic_status::GenericStatusEnumType; From 9aad755fb3ab2d61744b3d30d794a32af312b62c Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 07:51:00 +0100 Subject: [PATCH 016/249] feat: Add APNAuthenticationEnumType for OCPP v2.1 - Introduce new APNAuthenticationEnumType enumeration - Support serialization and deserialization of APN authentication methods - Include variants for PAP, CHAP, NONE, and AUTO authentication - Update enumerations module to export the new type --- src/v2_1/enumerations/apn_authentication.rs | 14 ++++++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 16 insertions(+) create mode 100644 src/v2_1/enumerations/apn_authentication.rs diff --git a/src/v2_1/enumerations/apn_authentication.rs b/src/v2_1/enumerations/apn_authentication.rs new file mode 100644 index 00000000..c0711db0 --- /dev/null +++ b/src/v2_1/enumerations/apn_authentication.rs @@ -0,0 +1,14 @@ +use serde::{Deserialize, Serialize}; + +/// Authentication method. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum APNAuthenticationEnumType { + #[serde(rename = "PAP")] + PAP, + #[serde(rename = "CHAP")] + CHAP, + #[serde(rename = "NONE")] + NONE, + #[serde(rename = "AUTO")] + AUTO, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 11cd449d..546a86de 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -1,3 +1,4 @@ +mod apn_authentication; mod authorization_status; mod boot_reason; mod certificate_signing_use; @@ -11,6 +12,7 @@ mod message_format; mod operational_status; mod registration_status; +pub use apn_authentication::APNAuthenticationEnumType; pub use authorization_status::AuthorizationStatusEnumType; pub use boot_reason::BootReasonEnumType; pub use certificate_signing_use::CertificateSigningUseEnumType; From 7496bfc0b815754c94feb47768fabd438a3b22ac Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 07:51:50 +0100 Subject: [PATCH 017/249] feat: Add ChargingRateUnitEnumType for OCPP v2.1 - Introduce new ChargingRateUnitEnumType enumeration - Support serialization and deserialization of charging rate units - Include variants for Watts (W) and Amperes (A) - Update enumerations module to export the new type --- src/v2_1/enumerations/charging_rate_unit.rs | 10 ++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 12 insertions(+) create mode 100644 src/v2_1/enumerations/charging_rate_unit.rs diff --git a/src/v2_1/enumerations/charging_rate_unit.rs b/src/v2_1/enumerations/charging_rate_unit.rs new file mode 100644 index 00000000..0bb5b5af --- /dev/null +++ b/src/v2_1/enumerations/charging_rate_unit.rs @@ -0,0 +1,10 @@ +use serde::{Deserialize, Serialize}; + +/// The unit of measure in which limits and setpoints are expressed. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum ChargingRateUnitEnumType { + #[serde(rename = "W")] + W, + #[serde(rename = "A")] + A, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 546a86de..d9739e09 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -3,6 +3,7 @@ mod authorization_status; mod boot_reason; mod certificate_signing_use; mod change_availability_status; +mod charging_rate_unit; mod charging_state; mod day_of_week; mod evse_kind; @@ -17,6 +18,7 @@ pub use authorization_status::AuthorizationStatusEnumType; pub use boot_reason::BootReasonEnumType; pub use certificate_signing_use::CertificateSigningUseEnumType; pub use change_availability_status::ChangeAvailabilityStatusEnumType; +pub use charging_rate_unit::ChargingRateUnitEnumType; pub use charging_state::ChargingStateEnumType; pub use day_of_week::DayOfWeekEnumType; pub use evse_kind::EvseKindEnumType; From 3047f6404b2c72b21db10bfb780b1849408faec9 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 07:53:07 +0100 Subject: [PATCH 018/249] feat: Add ConnectorStatusEnumType for OCPP v2.1 - Introduce new ConnectorStatusEnumType enumeration - Support serialization and deserialization of connector statuses - Include variants for Available, Occupied, Reserved, Unavailable, and Faulted - Update enumerations module to export the new type --- src/v2_1/enumerations/connector_status.rs | 16 ++++++++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 18 insertions(+) create mode 100644 src/v2_1/enumerations/connector_status.rs diff --git a/src/v2_1/enumerations/connector_status.rs b/src/v2_1/enumerations/connector_status.rs new file mode 100644 index 00000000..639d1fb1 --- /dev/null +++ b/src/v2_1/enumerations/connector_status.rs @@ -0,0 +1,16 @@ +use serde::{Deserialize, Serialize}; + +/// This contains the current status of the Connector. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum ConnectorStatusEnumType { + #[serde(rename = "Available")] + Available, + #[serde(rename = "Occupied")] + Occupied, + #[serde(rename = "Reserved")] + Reserved, + #[serde(rename = "Unavailable")] + Unavailable, + #[serde(rename = "Faulted")] + Faulted, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index d9739e09..6fb01000 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -5,6 +5,7 @@ mod certificate_signing_use; mod change_availability_status; mod charging_rate_unit; mod charging_state; +mod connector_status; mod day_of_week; mod evse_kind; mod generic_status; @@ -20,6 +21,7 @@ pub use certificate_signing_use::CertificateSigningUseEnumType; pub use change_availability_status::ChangeAvailabilityStatusEnumType; pub use charging_rate_unit::ChargingRateUnitEnumType; pub use charging_state::ChargingStateEnumType; +pub use connector_status::ConnectorStatusEnumType; pub use day_of_week::DayOfWeekEnumType; pub use evse_kind::EvseKindEnumType; pub use generic_status::GenericStatusEnumType; From b41a0639430ca3315d59bb3f202ccdabb6818ba4 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 07:54:16 +0100 Subject: [PATCH 019/249] feat: Add ResetStatusEnumType for OCPP v2.1 - Introduce new ResetStatusEnumType enumeration - Support serialization and deserialization of reset statuses - Include variants for Accepted, Rejected, and Scheduled - Update enumerations module to export the new type --- src/v2_1/enumerations/mod.rs | 2 ++ src/v2_1/enumerations/reset_status.rs | 12 ++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 src/v2_1/enumerations/reset_status.rs diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 6fb01000..9e3bdc56 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -13,6 +13,7 @@ mod hash_algorithm; mod message_format; mod operational_status; mod registration_status; +mod reset_status; pub use apn_authentication::APNAuthenticationEnumType; pub use authorization_status::AuthorizationStatusEnumType; @@ -29,3 +30,4 @@ pub use hash_algorithm::HashAlgorithmEnumType; pub use message_format::MessageFormatEnumType; pub use operational_status::OperationalStatusEnumType; pub use registration_status::RegistrationStatusEnumType; +pub use reset_status::ResetStatusEnumType; diff --git a/src/v2_1/enumerations/reset_status.rs b/src/v2_1/enumerations/reset_status.rs new file mode 100644 index 00000000..dedd559b --- /dev/null +++ b/src/v2_1/enumerations/reset_status.rs @@ -0,0 +1,12 @@ +use serde::{Deserialize, Serialize}; + +/// This indicates whether the Charging Station is able to perform the reset. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum ResetStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "Scheduled")] + Scheduled, +} From 77de21e8c7cc2c1169f8196be2fd3ea74b68b764 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 07:56:54 +0100 Subject: [PATCH 020/249] feat: Add GetCertificateStatusEnumType for OCPP v2.1 - Introduce new GetCertificateStatusEnumType enumeration - Support serialization and deserialization of certificate status retrieval - Include variants for Accepted and Failed - Update enumerations module to export the new type --- src/v2_1/enumerations/get_certificate_status.rs | 10 ++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 12 insertions(+) create mode 100644 src/v2_1/enumerations/get_certificate_status.rs diff --git a/src/v2_1/enumerations/get_certificate_status.rs b/src/v2_1/enumerations/get_certificate_status.rs new file mode 100644 index 00000000..ffcc231e --- /dev/null +++ b/src/v2_1/enumerations/get_certificate_status.rs @@ -0,0 +1,10 @@ +use serde::{Deserialize, Serialize}; + +/// This indicates whether the charging station was able to retrieve the OCSP certificate status. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum GetCertificateStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Failed")] + Failed, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 9e3bdc56..0c873e75 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -9,6 +9,7 @@ mod connector_status; mod day_of_week; mod evse_kind; mod generic_status; +mod get_certificate_status; mod hash_algorithm; mod message_format; mod operational_status; @@ -26,6 +27,7 @@ pub use connector_status::ConnectorStatusEnumType; pub use day_of_week::DayOfWeekEnumType; pub use evse_kind::EvseKindEnumType; pub use generic_status::GenericStatusEnumType; +pub use get_certificate_status::GetCertificateStatusEnumType; pub use hash_algorithm::HashAlgorithmEnumType; pub use message_format::MessageFormatEnumType; pub use operational_status::OperationalStatusEnumType; From 820ebde70f8a035fcafe7d54097c87b87e3c6e6f Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 07:57:39 +0100 Subject: [PATCH 021/249] feat: Add MessageTriggerEnumType for OCPP v2.1 - Introduce new MessageTriggerEnumType enumeration - Support serialization and deserialization of message trigger types - Include variants for various notification and status messages - Update enumerations module to export the new type --- src/v2_1/enumerations/message_trigger.rs | 32 ++++++++++++++++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 src/v2_1/enumerations/message_trigger.rs diff --git a/src/v2_1/enumerations/message_trigger.rs b/src/v2_1/enumerations/message_trigger.rs new file mode 100644 index 00000000..7220cffa --- /dev/null +++ b/src/v2_1/enumerations/message_trigger.rs @@ -0,0 +1,32 @@ +use serde::{Deserialize, Serialize}; + +/// Type of message to be triggered. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum MessageTriggerEnumType { + #[serde(rename = "BootNotification")] + BootNotification, + #[serde(rename = "LogStatusNotification")] + LogStatusNotification, + #[serde(rename = "FirmwareStatusNotification")] + FirmwareStatusNotification, + #[serde(rename = "Heartbeat")] + Heartbeat, + #[serde(rename = "MeterValues")] + MeterValues, + #[serde(rename = "SignChargingStationCertificate")] + SignChargingStationCertificate, + #[serde(rename = "SignV2GCertificate")] + SignV2GCertificate, + #[serde(rename = "SignV2G20Certificate")] + SignV2G20Certificate, + #[serde(rename = "StatusNotification")] + StatusNotification, + #[serde(rename = "TransactionEvent")] + TransactionEvent, + #[serde(rename = "SignCombinedCertificate")] + SignCombinedCertificate, + #[serde(rename = "PublishFirmwareStatusNotification")] + PublishFirmwareStatusNotification, + #[serde(rename = "CustomTrigger")] + CustomTrigger, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 0c873e75..cc9d2a32 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -12,6 +12,7 @@ mod generic_status; mod get_certificate_status; mod hash_algorithm; mod message_format; +mod message_trigger; mod operational_status; mod registration_status; mod reset_status; @@ -30,6 +31,7 @@ pub use generic_status::GenericStatusEnumType; pub use get_certificate_status::GetCertificateStatusEnumType; pub use hash_algorithm::HashAlgorithmEnumType; pub use message_format::MessageFormatEnumType; +pub use message_trigger::MessageTriggerEnumType; pub use operational_status::OperationalStatusEnumType; pub use registration_status::RegistrationStatusEnumType; pub use reset_status::ResetStatusEnumType; From 0cef25de5aa33206bd22b70538a3aa69c3ddb9c2 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 07:58:52 +0100 Subject: [PATCH 022/249] feat: Add OCPPInterfaceEnumType for OCPP v2.1 - Introduce new OCPPInterfaceEnumType enumeration - Support serialization and deserialization of network interfaces - Include variants for wired and wireless interfaces (0-3) and any interface - Update enumerations module to export the new type --- src/v2_1/enumerations/mod.rs | 2 ++ src/v2_1/enumerations/ocpp_interface.rs | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 src/v2_1/enumerations/ocpp_interface.rs diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index cc9d2a32..3eff21a8 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -13,6 +13,7 @@ mod get_certificate_status; mod hash_algorithm; mod message_format; mod message_trigger; +mod ocpp_interface; mod operational_status; mod registration_status; mod reset_status; @@ -32,6 +33,7 @@ pub use get_certificate_status::GetCertificateStatusEnumType; pub use hash_algorithm::HashAlgorithmEnumType; pub use message_format::MessageFormatEnumType; pub use message_trigger::MessageTriggerEnumType; +pub use ocpp_interface::OCPPInterfaceEnumType; pub use operational_status::OperationalStatusEnumType; pub use registration_status::RegistrationStatusEnumType; pub use reset_status::ResetStatusEnumType; diff --git a/src/v2_1/enumerations/ocpp_interface.rs b/src/v2_1/enumerations/ocpp_interface.rs new file mode 100644 index 00000000..d3e02cf0 --- /dev/null +++ b/src/v2_1/enumerations/ocpp_interface.rs @@ -0,0 +1,25 @@ +use serde::{Deserialize, Serialize}; + +/// Applicable Network Interface. Charging Station is allowed to use a different network interface +/// to connect if the given one does not work. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum OCPPInterfaceEnumType { + #[serde(rename = "Wired0")] + Wired0, + #[serde(rename = "Wired1")] + Wired1, + #[serde(rename = "Wired2")] + Wired2, + #[serde(rename = "Wired3")] + Wired3, + #[serde(rename = "Wireless0")] + Wireless0, + #[serde(rename = "Wireless1")] + Wireless1, + #[serde(rename = "Wireless2")] + Wireless2, + #[serde(rename = "Wireless3")] + Wireless3, + #[serde(rename = "Any")] + Any, +} From 44a3911d57f2785c1c8e6794504af60dd7d3a4ff Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 07:59:41 +0100 Subject: [PATCH 023/249] feat: Add OCPPTransportEnumType for OCPP v2.1 - Introduce new OCPPTransportEnumType enumeration - Support serialization and deserialization of transport protocols - Include variants for SOAP and JSON - Update enumerations module to export the new type --- src/v2_1/enumerations/mod.rs | 2 ++ src/v2_1/enumerations/ocpp_transport.rs | 11 +++++++++++ 2 files changed, 13 insertions(+) create mode 100644 src/v2_1/enumerations/ocpp_transport.rs diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 3eff21a8..edd7900c 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -14,6 +14,7 @@ mod hash_algorithm; mod message_format; mod message_trigger; mod ocpp_interface; +mod ocpp_transport; mod operational_status; mod registration_status; mod reset_status; @@ -34,6 +35,7 @@ pub use hash_algorithm::HashAlgorithmEnumType; pub use message_format::MessageFormatEnumType; pub use message_trigger::MessageTriggerEnumType; pub use ocpp_interface::OCPPInterfaceEnumType; +pub use ocpp_transport::OCPPTransportEnumType; pub use operational_status::OperationalStatusEnumType; pub use registration_status::RegistrationStatusEnumType; pub use reset_status::ResetStatusEnumType; diff --git a/src/v2_1/enumerations/ocpp_transport.rs b/src/v2_1/enumerations/ocpp_transport.rs new file mode 100644 index 00000000..74391e45 --- /dev/null +++ b/src/v2_1/enumerations/ocpp_transport.rs @@ -0,0 +1,11 @@ +use serde::{Deserialize, Serialize}; + +/// Defines the transport protocol (e.g. SOAP or JSON). +/// Note: SOAP is not supported in OCPP 2.x, but is supported by earlier versions of OCPP. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum OCPPTransportEnumType { + #[serde(rename = "SOAP")] + SOAP, + #[serde(rename = "JSON")] + JSON, +} From e3ad97569a75eedafdf2057dd439081bb5ccbdb2 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 08:00:26 +0100 Subject: [PATCH 024/249] feat: Add OCPPVersionEnumType for OCPP v2.1 - Introduce new OCPPVersionEnumType enumeration - Support serialization and deserialization of OCPP versions - Include variants for OCPP versions 1.2, 1.5, 1.6, 2.0, 2.0.1, and 2.1 - Update enumerations module to export the new type - Add note about backwards compatibility with JSON schema --- src/v2_1/enumerations/mod.rs | 2 ++ src/v2_1/enumerations/ocpp_version.rs | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 src/v2_1/enumerations/ocpp_version.rs diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index edd7900c..90fe1e9c 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -15,6 +15,7 @@ mod message_format; mod message_trigger; mod ocpp_interface; mod ocpp_transport; +mod ocpp_version; mod operational_status; mod registration_status; mod reset_status; @@ -36,6 +37,7 @@ pub use message_format::MessageFormatEnumType; pub use message_trigger::MessageTriggerEnumType; pub use ocpp_interface::OCPPInterfaceEnumType; pub use ocpp_transport::OCPPTransportEnumType; +pub use ocpp_version::OCPPVersionEnumType; pub use operational_status::OperationalStatusEnumType; pub use registration_status::RegistrationStatusEnumType; pub use reset_status::ResetStatusEnumType; diff --git a/src/v2_1/enumerations/ocpp_version.rs b/src/v2_1/enumerations/ocpp_version.rs new file mode 100644 index 00000000..41f8055c --- /dev/null +++ b/src/v2_1/enumerations/ocpp_version.rs @@ -0,0 +1,19 @@ +use serde::{Deserialize, Serialize}; + +/// This field is ignored, since the OCPP version to use is determined during the websocket handshake. +/// The field is only kept for backwards compatibility with the OCPP 2.0.1 JSON schema. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum OCPPVersionEnumType { + #[serde(rename = "OCPP12")] + OCPP12, + #[serde(rename = "OCPP15")] + OCPP15, + #[serde(rename = "OCPP16")] + OCPP16, + #[serde(rename = "OCPP20")] + OCPP20, + #[serde(rename = "OCPP201")] + OCPP201, + #[serde(rename = "OCPP21")] + OCPP21, +} From a3339a19e69d0591561380238af4d3f039c4baac Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 08:01:47 +0100 Subject: [PATCH 025/249] feat: Add VPNEnumType for OCPP v2.1 - Introduce new VPNEnumType enumeration - Support serialization and deserialization of VPN types - Include variants for IKEv2, IPSec, L2TP, and PPTP - Update enumerations module to export the new type --- src/v2_1/enumerations/mod.rs | 2 ++ src/v2_1/enumerations/vpn.rs | 14 ++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 src/v2_1/enumerations/vpn.rs diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 90fe1e9c..28b2b543 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -19,6 +19,7 @@ mod ocpp_version; mod operational_status; mod registration_status; mod reset_status; +mod vpn; pub use apn_authentication::APNAuthenticationEnumType; pub use authorization_status::AuthorizationStatusEnumType; @@ -41,3 +42,4 @@ pub use ocpp_version::OCPPVersionEnumType; pub use operational_status::OperationalStatusEnumType; pub use registration_status::RegistrationStatusEnumType; pub use reset_status::ResetStatusEnumType; +pub use vpn::VPNEnumType; diff --git a/src/v2_1/enumerations/vpn.rs b/src/v2_1/enumerations/vpn.rs new file mode 100644 index 00000000..b89b3f7e --- /dev/null +++ b/src/v2_1/enumerations/vpn.rs @@ -0,0 +1,14 @@ +use serde::{Deserialize, Serialize}; + +/// Type of VPN +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum VPNEnumType { + #[serde(rename = "IKEv2")] + IKEv2, + #[serde(rename = "IPSec")] + IPSec, + #[serde(rename = "L2TP")] + L2TP, + #[serde(rename = "PPTP")] + PPTP, +} From fe1d65d8d08ce897d64e2b102f537e2e5b93c0f5 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 08:02:47 +0100 Subject: [PATCH 026/249] feat: Add DERControlEnumType for OCPP v2.1 - Introduce new DERControlEnumType enumeration - Support serialization and deserialization of Distributed Energy Resource (DER) control types - Include variants for various control modes such as EnterService, FreqDroop, VoltVar, and more - Update enumerations module to export the new type --- src/v2_1/enumerations/der_control.rs | 50 ++++++++++++++++++++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 52 insertions(+) create mode 100644 src/v2_1/enumerations/der_control.rs diff --git a/src/v2_1/enumerations/der_control.rs b/src/v2_1/enumerations/der_control.rs new file mode 100644 index 00000000..fe974e9f --- /dev/null +++ b/src/v2_1/enumerations/der_control.rs @@ -0,0 +1,50 @@ +use serde::{Deserialize, Serialize}; + +/// Type of DER control. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum DERControlEnumType { + #[serde(rename = "EnterService")] + EnterService, + #[serde(rename = "FreqDroop")] + FreqDroop, + #[serde(rename = "FreqWatt")] + FreqWatt, + #[serde(rename = "FixedPFAbsorb")] + FixedPFAbsorb, + #[serde(rename = "FixedPFInject")] + FixedPFInject, + #[serde(rename = "FixedVar")] + FixedVar, + #[serde(rename = "Gradients")] + Gradients, + #[serde(rename = "HFMustTrip")] + HFMustTrip, + #[serde(rename = "HFMayTrip")] + HFMayTrip, + #[serde(rename = "HVMustTrip")] + HVMustTrip, + #[serde(rename = "HVMomCess")] + HVMomCess, + #[serde(rename = "HVMayTrip")] + HVMayTrip, + #[serde(rename = "LimitMaxDischarge")] + LimitMaxDischarge, + #[serde(rename = "LFMustTrip")] + LFMustTrip, + #[serde(rename = "LVMustTrip")] + LVMustTrip, + #[serde(rename = "LVMomCess")] + LVMomCess, + #[serde(rename = "LVMayTrip")] + LVMayTrip, + #[serde(rename = "PowerMonitoringMustTrip")] + PowerMonitoringMustTrip, + #[serde(rename = "VoltVar")] + VoltVar, + #[serde(rename = "VoltWatt")] + VoltWatt, + #[serde(rename = "WattPF")] + WattPF, + #[serde(rename = "WattVar")] + WattVar, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 28b2b543..45efa708 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -7,6 +7,7 @@ mod charging_rate_unit; mod charging_state; mod connector_status; mod day_of_week; +mod der_control; mod evse_kind; mod generic_status; mod get_certificate_status; @@ -30,6 +31,7 @@ pub use charging_rate_unit::ChargingRateUnitEnumType; pub use charging_state::ChargingStateEnumType; pub use connector_status::ConnectorStatusEnumType; pub use day_of_week::DayOfWeekEnumType; +pub use der_control::DERControlEnumType; pub use evse_kind::EvseKindEnumType; pub use generic_status::GenericStatusEnumType; pub use get_certificate_status::GetCertificateStatusEnumType; From 61346849f19dd89d41d61ed914c0335aa224da89 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 08:03:36 +0100 Subject: [PATCH 027/249] feat: Add EventNotificationEnumType for OCPP v2.1 - Introduce new EventNotificationEnumType enumeration - Support serialization and deserialization of event notification types - Include variants for HardWiredNotification, HardWiredMonitor, PreconfiguredMonitor, and CustomMonitor - Update enumerations module to export the new type --- src/v2_1/enumerations/event_notification.rs | 14 ++++++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 16 insertions(+) create mode 100644 src/v2_1/enumerations/event_notification.rs diff --git a/src/v2_1/enumerations/event_notification.rs b/src/v2_1/enumerations/event_notification.rs new file mode 100644 index 00000000..3e7a84ac --- /dev/null +++ b/src/v2_1/enumerations/event_notification.rs @@ -0,0 +1,14 @@ +use serde::{Deserialize, Serialize}; + +/// Specifies the event notification type of the message. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum EventNotificationEnumType { + #[serde(rename = "HardWiredNotification")] + HardWiredNotification, + #[serde(rename = "HardWiredMonitor")] + HardWiredMonitor, + #[serde(rename = "PreconfiguredMonitor")] + PreconfiguredMonitor, + #[serde(rename = "CustomMonitor")] + CustomMonitor, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 45efa708..6f830e37 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -8,6 +8,7 @@ mod charging_state; mod connector_status; mod day_of_week; mod der_control; +mod event_notification; mod evse_kind; mod generic_status; mod get_certificate_status; @@ -32,6 +33,7 @@ pub use charging_state::ChargingStateEnumType; pub use connector_status::ConnectorStatusEnumType; pub use day_of_week::DayOfWeekEnumType; pub use der_control::DERControlEnumType; +pub use event_notification::EventNotificationEnumType; pub use evse_kind::EvseKindEnumType; pub use generic_status::GenericStatusEnumType; pub use get_certificate_status::GetCertificateStatusEnumType; From 2aed6b2ced22563877f05dd310bb05e9c2d802fa Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 08:07:08 +0100 Subject: [PATCH 028/249] feat: Add ChargingProfilePurposeEnumType for OCPP v2.1 - Introduce new ChargingProfilePurposeEnumType enumeration - Support serialization and deserialization of charging profile purposes - Include variants for ChargingStationExternalConstraints, ChargingStationMaxProfile, TxDefaultProfile, TxProfile, PriorityCharging, and LocalGeneration - Update enumerations module to export the new type --- .../enumerations/charging_profile_purpose.rs | 18 ++++++++++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 20 insertions(+) create mode 100644 src/v2_1/enumerations/charging_profile_purpose.rs diff --git a/src/v2_1/enumerations/charging_profile_purpose.rs b/src/v2_1/enumerations/charging_profile_purpose.rs new file mode 100644 index 00000000..19eddc2c --- /dev/null +++ b/src/v2_1/enumerations/charging_profile_purpose.rs @@ -0,0 +1,18 @@ +use serde::{Deserialize, Serialize}; + +/// Defines the purpose of the schedule transferred by this profile +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum ChargingProfilePurposeEnumType { + #[serde(rename = "ChargingStationExternalConstraints")] + ChargingStationExternalConstraints, + #[serde(rename = "ChargingStationMaxProfile")] + ChargingStationMaxProfile, + #[serde(rename = "TxDefaultProfile")] + TxDefaultProfile, + #[serde(rename = "TxProfile")] + TxProfile, + #[serde(rename = "PriorityCharging")] + PriorityCharging, + #[serde(rename = "LocalGeneration")] + LocalGeneration, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 6f830e37..45f4dc1c 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -3,6 +3,7 @@ mod authorization_status; mod boot_reason; mod certificate_signing_use; mod change_availability_status; +mod charging_profile_purpose; mod charging_rate_unit; mod charging_state; mod connector_status; @@ -28,6 +29,7 @@ pub use authorization_status::AuthorizationStatusEnumType; pub use boot_reason::BootReasonEnumType; pub use certificate_signing_use::CertificateSigningUseEnumType; pub use change_availability_status::ChangeAvailabilityStatusEnumType; +pub use charging_profile_purpose::ChargingProfilePurposeEnumType; pub use charging_rate_unit::ChargingRateUnitEnumType; pub use charging_state::ChargingStateEnumType; pub use connector_status::ConnectorStatusEnumType; From c9d3fbc01e3b3a457b292a052f44c122d63972a2 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 08:08:32 +0100 Subject: [PATCH 029/249] feat: Add ChargingLimitSourceEnumType for OCPP v2.1 - Introduce new ChargingLimitSourceEnumType enumeration - Support serialization and deserialization of charging limit sources - Include variants for Energy Management System (EMS), System Operator (SO), Charging Station Operator (CSO), and Other - Update enumerations module to export the new type --- src/v2_1/enumerations/charging_limit_source.rs | 18 ++++++++++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ 2 files changed, 20 insertions(+) create mode 100644 src/v2_1/enumerations/charging_limit_source.rs diff --git a/src/v2_1/enumerations/charging_limit_source.rs b/src/v2_1/enumerations/charging_limit_source.rs new file mode 100644 index 00000000..5e3ebf64 --- /dev/null +++ b/src/v2_1/enumerations/charging_limit_source.rs @@ -0,0 +1,18 @@ +use serde::{Deserialize, Serialize}; + +/// Represents the source of the charging limit. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum ChargingLimitSourceEnumType { + /// Energy Management System + #[serde(rename = "EMS")] + EMS, + /// Other source + #[serde(rename = "Other")] + Other, + /// System Operator + #[serde(rename = "SO")] + SO, + /// Charging Station Operator + #[serde(rename = "CSO")] + CSO, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 45f4dc1c..dd596cd7 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -3,6 +3,7 @@ mod authorization_status; mod boot_reason; mod certificate_signing_use; mod change_availability_status; +mod charging_limit_source; mod charging_profile_purpose; mod charging_rate_unit; mod charging_state; @@ -29,6 +30,7 @@ pub use authorization_status::AuthorizationStatusEnumType; pub use boot_reason::BootReasonEnumType; pub use certificate_signing_use::CertificateSigningUseEnumType; pub use change_availability_status::ChangeAvailabilityStatusEnumType; +pub use charging_limit_source::ChargingLimitSourceEnumType; pub use charging_profile_purpose::ChargingProfilePurposeEnumType; pub use charging_rate_unit::ChargingRateUnitEnumType; pub use charging_state::ChargingStateEnumType; From 5e8228589d41c0faf8b615770fa799eb0d852a61 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 08:10:18 +0100 Subject: [PATCH 030/249] feat: Add ChargingProfileKindEnumType for OCPP v2.1 - Introduce new ChargingProfileKindEnumType enumeration - Support serialization and deserialization of charging profile kinds - Include variants for Absolute, Recurring, Relative, and Dynamic - Update enumerations module to export the new type --- src/v2_1/enumerations/charging_profile_kind.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/v2_1/enumerations/charging_profile_kind.rs diff --git a/src/v2_1/enumerations/charging_profile_kind.rs b/src/v2_1/enumerations/charging_profile_kind.rs new file mode 100644 index 00000000..75e8cc57 --- /dev/null +++ b/src/v2_1/enumerations/charging_profile_kind.rs @@ -0,0 +1,14 @@ +use serde::{Deserialize, Serialize}; + +/// Indicates the kind of schedule. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum ChargingProfileKindEnumType { + #[serde(rename = "Absolute")] + Absolute, + #[serde(rename = "Recurring")] + Recurring, + #[serde(rename = "Relative")] + Relative, + #[serde(rename = "Dynamic")] + Dynamic, +} From d842732cb431e26524e453f6b626c579bb889fd3 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 08:10:45 +0100 Subject: [PATCH 031/249] feat: Add ChargingProfileStatusEnumType for OCPP v2.1 - Introduce new ChargingProfileStatusEnumType enumeration - Support serialization and deserialization of charging profile processing status - Include variants for Accepted and Rejected - Add documentation explaining the meaning of the status - Update enumerations module to export the new type --- src/v2_1/enumerations/charging_profile_status.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/v2_1/enumerations/charging_profile_status.rs diff --git a/src/v2_1/enumerations/charging_profile_status.rs b/src/v2_1/enumerations/charging_profile_status.rs new file mode 100644 index 00000000..ed3277b4 --- /dev/null +++ b/src/v2_1/enumerations/charging_profile_status.rs @@ -0,0 +1,12 @@ +use serde::{Deserialize, Serialize}; + +/// Returns whether the Charging Station has been able to process the message successfully. +/// This does not guarantee the schedule will be followed to the letter. +/// There might be other constraints the Charging Station may need to take into account. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum ChargingProfileStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, +} From 26262a033f1ed93b12b37eecca660b4dd6f1da84 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 08:10:55 +0100 Subject: [PATCH 032/249] feat: Add OperationModeEnumType for OCPP v2.1 - Introduce new OperationModeEnumType enumeration - Support serialization and deserialization of charging operation modes - Include variants for Idle, ChargingOnly, CentralSetpoint, ExternalSetpoint, ExternalLimits, CentralFrequency, LocalFrequency, and LocalLoadBalancing - Add documentation explaining the default behavior when the mode is absent - Update enumerations module to export the new type --- src/v2_1/enumerations/operation_mode.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/v2_1/enumerations/operation_mode.rs diff --git a/src/v2_1/enumerations/operation_mode.rs b/src/v2_1/enumerations/operation_mode.rs new file mode 100644 index 00000000..2bdd7688 --- /dev/null +++ b/src/v2_1/enumerations/operation_mode.rs @@ -0,0 +1,22 @@ +use serde::{Deserialize, Serialize}; + +/// Charging operation mode to use during this time interval. When absent defaults to `ChargingOnly`. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum OperationModeEnumType { + #[serde(rename = "Idle")] + Idle, + #[serde(rename = "ChargingOnly")] + ChargingOnly, + #[serde(rename = "CentralSetpoint")] + CentralSetpoint, + #[serde(rename = "ExternalSetpoint")] + ExternalSetpoint, + #[serde(rename = "ExternalLimits")] + ExternalLimits, + #[serde(rename = "CentralFrequency")] + CentralFrequency, + #[serde(rename = "LocalFrequency")] + LocalFrequency, + #[serde(rename = "LocalLoadBalancing")] + LocalLoadBalancing, +} From a3696b9898bed19092164b5b6fbb3393acf9953a Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 08:11:03 +0100 Subject: [PATCH 033/249] feat: Add ChargingProfileKindEnumType and ChargingProfileStatusEnumType to enumerations module - Import and expose new ChargingProfileKindEnumType and ChargingProfileStatusEnumType - Update module to include new enumeration types for OCPP v2.1 - Extend support for charging profile-related enumerations --- src/v2_1/enumerations/mod.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index dd596cd7..f8a9cd94 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -4,7 +4,9 @@ mod boot_reason; mod certificate_signing_use; mod change_availability_status; mod charging_limit_source; +mod charging_profile_kind; mod charging_profile_purpose; +mod charging_profile_status; mod charging_rate_unit; mod charging_state; mod connector_status; @@ -20,6 +22,7 @@ mod message_trigger; mod ocpp_interface; mod ocpp_transport; mod ocpp_version; +mod operation_mode; mod operational_status; mod registration_status; mod reset_status; @@ -31,7 +34,9 @@ pub use boot_reason::BootReasonEnumType; pub use certificate_signing_use::CertificateSigningUseEnumType; pub use change_availability_status::ChangeAvailabilityStatusEnumType; pub use charging_limit_source::ChargingLimitSourceEnumType; +pub use charging_profile_kind::ChargingProfileKindEnumType; pub use charging_profile_purpose::ChargingProfilePurposeEnumType; +pub use charging_profile_status::ChargingProfileStatusEnumType; pub use charging_rate_unit::ChargingRateUnitEnumType; pub use charging_state::ChargingStateEnumType; pub use connector_status::ConnectorStatusEnumType; @@ -47,6 +52,7 @@ pub use message_trigger::MessageTriggerEnumType; pub use ocpp_interface::OCPPInterfaceEnumType; pub use ocpp_transport::OCPPTransportEnumType; pub use ocpp_version::OCPPVersionEnumType; +pub use operation_mode::OperationModeEnumType; pub use operational_status::OperationalStatusEnumType; pub use registration_status::RegistrationStatusEnumType; pub use reset_status::ResetStatusEnumType; From 74d38a0658d34be8280d80356a267570aa46fb8b Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 09:43:34 +0100 Subject: [PATCH 034/249] feat: Add StatusInfoType for OCPP v2.1 status information - Introduce new StatusInfoType struct for providing detailed status information - Support serialization and deserialization of status details - Include fields for reason code, additional info, and optional custom data - Implement standard Rust derive traits for easy handling --- src/v2_1/datatypes/status_info.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/v2_1/datatypes/status_info.rs diff --git a/src/v2_1/datatypes/status_info.rs b/src/v2_1/datatypes/status_info.rs new file mode 100644 index 00000000..48c02995 --- /dev/null +++ b/src/v2_1/datatypes/status_info.rs @@ -0,0 +1,18 @@ +use super::custom_data::CustomDataType; +use serde::{Deserialize, Serialize}; + +/// Element providing more information about the status. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct StatusInfoType { + /// A predefined code for the reason why the status is returned in this response. + /// The string is case-insensitive. + pub reason_code: String, + + /// Additional text to provide detailed information. + #[serde(skip_serializing_if = "Option::is_none")] + pub additional_info: Option, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} From dd3834ae9bdfb02d309b792e8135b95f218422ac Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 09:43:54 +0100 Subject: [PATCH 035/249] feat: Add AdditionalInfoType, CustomDataType, and IdTokenType for OCPP v2.1 - Introduce new data types for handling additional identifier information - Implement AdditionalInfoType to support flexible additional ID tokens - Add CustomDataType for vendor-specific extensibility - Create IdTokenType to represent authorization identifiers with optional additional info - Support serialization and deserialization of these new data types --- src/v2_1/datatypes/additional_info.rs | 17 +++++++++++++++++ src/v2_1/datatypes/custom_data.rs | 9 +++++++++ src/v2_1/datatypes/id_token.rs | 25 +++++++++++++++++++++++++ src/v2_1/datatypes/mod.rs | 9 +++++++++ 4 files changed, 60 insertions(+) create mode 100644 src/v2_1/datatypes/additional_info.rs create mode 100644 src/v2_1/datatypes/custom_data.rs create mode 100644 src/v2_1/datatypes/id_token.rs diff --git a/src/v2_1/datatypes/additional_info.rs b/src/v2_1/datatypes/additional_info.rs new file mode 100644 index 00000000..69ab9290 --- /dev/null +++ b/src/v2_1/datatypes/additional_info.rs @@ -0,0 +1,17 @@ +use super::custom_data::CustomDataType; +use serde::{Deserialize, Serialize}; + +/// Contains additional information about an identifier. The format of the additionalIdToken is pending standardization. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct AdditionalInfoType { + /// This field specifies the type of the additionalIdToken. The format of the additionalIdToken is pending standardization. + pub additional_id_token: String, + + /// This defines the type of the additionalIdToken. This is a custom type, so the implementation needs to be agreed upon by all involved parties. + #[serde(rename = "type")] + pub type_: String, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/custom_data.rs b/src/v2_1/datatypes/custom_data.rs new file mode 100644 index 00000000..fefd058b --- /dev/null +++ b/src/v2_1/datatypes/custom_data.rs @@ -0,0 +1,9 @@ +use serde::{Deserialize, Serialize}; + +/// This class does not get 'AdditionalProperties = false' in the schema generation, +/// so it can be extended with arbitrary JSON properties to allow adding custom data. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct CustomDataType { + /// Vendor-specific identifier + pub vendor_id: String, +} diff --git a/src/v2_1/datatypes/id_token.rs b/src/v2_1/datatypes/id_token.rs new file mode 100644 index 00000000..43f2f846 --- /dev/null +++ b/src/v2_1/datatypes/id_token.rs @@ -0,0 +1,25 @@ +use super::additional_info::AdditionalInfoType; +use super::custom_data::CustomDataType; +use serde::{Deserialize, Serialize}; + +/// Contains a case insensitive identifier to use for the authorization and the type of authorization +/// to support multiple forms of identifiers. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct IdTokenType { + /// IdToken is case insensitive. Might hold the hidden id of an RFID tag, + /// but can for example also contain a UUID. + pub id_token: String, + + /// Enumeration of possible idToken types. + /// Values defined in Appendix as IdTokenEnumStringType. + #[serde(rename = "type")] + pub type_: String, + + /// Optional list of additional information about the identifier + #[serde(skip_serializing_if = "Option::is_none")] + pub additional_info: Option>, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/mod.rs b/src/v2_1/datatypes/mod.rs index e69de29b..ca7d0cda 100644 --- a/src/v2_1/datatypes/mod.rs +++ b/src/v2_1/datatypes/mod.rs @@ -0,0 +1,9 @@ +mod additional_info; +mod custom_data; +mod id_token; +mod status_info; + +pub use additional_info::AdditionalInfoType; +pub use custom_data::CustomDataType; +pub use id_token::IdTokenType; +pub use status_info::StatusInfoType; From 3ae8af765fa1d81aa7219cc72e2dfdb3918d04c3 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 09:48:50 +0100 Subject: [PATCH 036/249] feat: Add Variable and Certificate-related Types for OCPP v2.1 - Introduce VariableType and VariableCharacteristicsType for handling component variables - Add DataEnumType to define variable data types - Create AuthorizeCertificateStatusEnumType for certificate validation - Implement AuthorizeRequest and AuthorizeResponse message structures - Add EnergyTransferModeEnumType to support different charging modes - Extend enumerations and datatypes modules with new types --- src/v2_1/datatypes/mod.rs | 4 ++ src/v2_1/datatypes/variable.rs | 19 ++++++ .../datatypes/variable_characteristics.rs | 52 ++++++++++++++++ .../authorize_certificate_status.rs | 22 +++++++ src/v2_1/enumerations/energy_transfer_mode.rs | 28 +++++++++ src/v2_1/enumerations/mod.rs | 4 ++ src/v2_1/messages/authorize_request.rs | 60 +++++++++++++++++++ src/v2_1/messages/authorize_response.rs | 28 +++++++++ src/v2_1/messages/mod.rs | 5 ++ 9 files changed, 222 insertions(+) create mode 100644 src/v2_1/datatypes/variable.rs create mode 100644 src/v2_1/datatypes/variable_characteristics.rs create mode 100644 src/v2_1/enumerations/authorize_certificate_status.rs create mode 100644 src/v2_1/enumerations/energy_transfer_mode.rs create mode 100644 src/v2_1/messages/authorize_request.rs create mode 100644 src/v2_1/messages/authorize_response.rs diff --git a/src/v2_1/datatypes/mod.rs b/src/v2_1/datatypes/mod.rs index ca7d0cda..005abeb6 100644 --- a/src/v2_1/datatypes/mod.rs +++ b/src/v2_1/datatypes/mod.rs @@ -2,8 +2,12 @@ mod additional_info; mod custom_data; mod id_token; mod status_info; +mod variable; +mod variable_characteristics; pub use additional_info::AdditionalInfoType; pub use custom_data::CustomDataType; pub use id_token::IdTokenType; pub use status_info::StatusInfoType; +pub use variable::VariableType; +pub use variable_characteristics::{DataEnumType, VariableCharacteristicsType}; diff --git a/src/v2_1/datatypes/variable.rs b/src/v2_1/datatypes/variable.rs new file mode 100644 index 00000000..e670702b --- /dev/null +++ b/src/v2_1/datatypes/variable.rs @@ -0,0 +1,19 @@ +use super::custom_data::CustomDataType; +use serde::{Deserialize, Serialize}; + +/// Reference key to a component-variable. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct VariableType { + /// Name of the variable. Name should be taken from the list of standardized variable names whenever possible. + /// Case Insensitive. Strongly advised to use Camel Case. + pub name: String, + + /// Name of instance in case the variable exists as multiple instances. + /// Case Insensitive. Strongly advised to use Camel Case. + #[serde(skip_serializing_if = "Option::is_none")] + pub instance: Option, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/variable_characteristics.rs b/src/v2_1/datatypes/variable_characteristics.rs new file mode 100644 index 00000000..c8ca3b03 --- /dev/null +++ b/src/v2_1/datatypes/variable_characteristics.rs @@ -0,0 +1,52 @@ +use super::custom_data::CustomDataType; +use serde::{Deserialize, Serialize}; + +/// Defines the datatype of the variable. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum DataEnumType { + #[serde(rename = "string")] + String, + #[serde(rename = "decimal")] + Decimal, + #[serde(rename = "integer")] + Integer, + #[serde(rename = "dateTime")] + DateTime, + #[serde(rename = "boolean")] + Boolean, + #[serde(rename = "OptionList")] + OptionList, + #[serde(rename = "SequenceList")] + SequenceList, + #[serde(rename = "MemberList")] + MemberList, +} + +/// Fixed read-only parameters of a variable. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct VariableCharacteristicsType { + /// Unit of the variable. When the transmitted value has a unit, this field SHALL be included. + #[serde(skip_serializing_if = "Option::is_none")] + pub unit: Option, + + /// Data type of this variable. + pub data_type: DataEnumType, + + /// Minimum possible value of this variable. + #[serde(skip_serializing_if = "Option::is_none")] + pub min_limit: Option, + + /// Maximum possible value of this variable. + /// When the datatype is String, OptionList, SequenceList or MemberList, + /// this field defines the maximum length of the (CSV) string. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_limit: Option, + + /// Maximum number of elements from valuesList that are supported as attributeValue. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_elements: Option, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/enumerations/authorize_certificate_status.rs b/src/v2_1/enumerations/authorize_certificate_status.rs new file mode 100644 index 00000000..d0f809ba --- /dev/null +++ b/src/v2_1/enumerations/authorize_certificate_status.rs @@ -0,0 +1,22 @@ +use serde::{Deserialize, Serialize}; + +/// Certificate status information. +/// - if all certificates are valid: return 'Accepted'. +/// - if one of the certificates was revoked, return 'CertificateRevoked'. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum AuthorizeCertificateStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "SignatureError")] + SignatureError, + #[serde(rename = "CertificateExpired")] + CertificateExpired, + #[serde(rename = "CertificateRevoked")] + CertificateRevoked, + #[serde(rename = "NoCertificateAvailable")] + NoCertificateAvailable, + #[serde(rename = "CertChainError")] + CertChainError, + #[serde(rename = "ContractCancelled")] + ContractCancelled, +} diff --git a/src/v2_1/enumerations/energy_transfer_mode.rs b/src/v2_1/enumerations/energy_transfer_mode.rs new file mode 100644 index 00000000..77803066 --- /dev/null +++ b/src/v2_1/enumerations/energy_transfer_mode.rs @@ -0,0 +1,28 @@ +use serde::{Deserialize, Serialize}; + +/// Defines the energy transfer modes that are allowed by the Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum EnergyTransferModeEnumType { + #[serde(rename = "AC_single_phase")] + ACSinglePhase, + #[serde(rename = "AC_two_phase")] + ACTwoPhase, + #[serde(rename = "AC_three_phase")] + ACThreePhase, + #[serde(rename = "DC")] + DC, + #[serde(rename = "AC_BPT")] + ACBPT, + #[serde(rename = "AC_BPT_DER")] + ACBPTDER, + #[serde(rename = "AC_DER")] + ACDER, + #[serde(rename = "DC_BPT")] + DCBPT, + #[serde(rename = "DC_ACDP")] + DCACDP, + #[serde(rename = "DC_ACDP_BPT")] + DCACDPBPT, + #[serde(rename = "WPT")] + WPT, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index f8a9cd94..17828ae2 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -1,5 +1,6 @@ mod apn_authentication; mod authorization_status; +mod authorize_certificate_status; mod boot_reason; mod certificate_signing_use; mod change_availability_status; @@ -12,6 +13,7 @@ mod charging_state; mod connector_status; mod day_of_week; mod der_control; +mod energy_transfer_mode; mod event_notification; mod evse_kind; mod generic_status; @@ -30,6 +32,7 @@ mod vpn; pub use apn_authentication::APNAuthenticationEnumType; pub use authorization_status::AuthorizationStatusEnumType; +pub use authorize_certificate_status::AuthorizeCertificateStatusEnumType; pub use boot_reason::BootReasonEnumType; pub use certificate_signing_use::CertificateSigningUseEnumType; pub use change_availability_status::ChangeAvailabilityStatusEnumType; @@ -42,6 +45,7 @@ pub use charging_state::ChargingStateEnumType; pub use connector_status::ConnectorStatusEnumType; pub use day_of_week::DayOfWeekEnumType; pub use der_control::DERControlEnumType; +pub use energy_transfer_mode::EnergyTransferModeEnumType; pub use event_notification::EventNotificationEnumType; pub use evse_kind::EvseKindEnumType; pub use generic_status::GenericStatusEnumType; diff --git a/src/v2_1/messages/authorize_request.rs b/src/v2_1/messages/authorize_request.rs new file mode 100644 index 00000000..d86cbacb --- /dev/null +++ b/src/v2_1/messages/authorize_request.rs @@ -0,0 +1,60 @@ +use super::super::datatypes::{CustomDataType, IdTokenType}; +use serde::{Deserialize, Serialize}; + +/// Request to start a transaction with the given idToken. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct AuthorizeRequest { + /// The X.509 certificate chain presented by EV and encoded in PEM format. + /// Order of certificates in chain is from leaf up to (but excluding) root certificate. + /// Only needed in case of central contract validation when Charging Station cannot validate the contract certificate. + #[serde(skip_serializing_if = "Option::is_none")] + pub certificate: Option, + + /// Contains the identifier that needs to be authorized. + pub id_token: IdTokenType, + + /// Optional list of OCSP request data for certificates that need to be validated. + #[serde(skip_serializing_if = "Option::is_none")] + pub iso15118_certificate_hash_data: Option>, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Information about a certificate for an OCSP check. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct OCSPRequestDataType { + /// Used algorithms for the hashes provided. + pub hash_algorithm: HashAlgorithmEnumType, + + /// The hash of the issuer's distinguished name (DN), that must be calculated over the DER + /// encoding of the issuer's name field in the certificate being checked. + pub issuer_name_hash: String, + + /// The hash of the DER encoded public key: the value (excluding tag and length) of the subject + /// public key field in the issuer's certificate. + pub issuer_key_hash: String, + + /// The string representation of the hexadecimal value of the serial number without the + /// prefix "0x" and without leading zeroes. + pub serial_number: String, + + /// This contains the responder URL (Case insensitive). + pub responder_url: String, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Used algorithms for the hashes provided. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum HashAlgorithmEnumType { + #[serde(rename = "SHA256")] + SHA256, + #[serde(rename = "SHA384")] + SHA384, + #[serde(rename = "SHA512")] + SHA512, +} diff --git a/src/v2_1/messages/authorize_response.rs b/src/v2_1/messages/authorize_response.rs new file mode 100644 index 00000000..46376ece --- /dev/null +++ b/src/v2_1/messages/authorize_response.rs @@ -0,0 +1,28 @@ +use super::super::datatypes::{CustomDataType, IdTokenInfoType, TariffType}; +use super::super::enumerations::{AuthorizeCertificateStatusEnumType, EnergyTransferModeEnumType}; +use serde::{Deserialize, Serialize}; + +/// Response to an AuthorizeRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct AuthorizeResponse { + /// Contains information about authorization status, expiry and group id. + pub id_token_info: IdTokenInfoType, + + /// Certificate status information. + /// - if all certificates are valid: return 'Accepted'. + /// - if one of the certificates was revoked, return 'CertificateRevoked'. + #[serde(skip_serializing_if = "Option::is_none")] + pub certificate_status: Option, + + /// List of allowed energy transfer modes the EV can choose from. If omitted this defaults to charging only. + #[serde(skip_serializing_if = "Option::is_none")] + pub allowed_energy_transfer: Option>, + + /// The tariff that is applied to this session. + #[serde(skip_serializing_if = "Option::is_none")] + pub tariff: Option, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/mod.rs b/src/v2_1/messages/mod.rs index 34c65179..81ed3dc9 100644 --- a/src/v2_1/messages/mod.rs +++ b/src/v2_1/messages/mod.rs @@ -1 +1,6 @@ +mod authorize_request; +mod authorize_response; mod boot_notification; + +pub use authorize_request::{AuthorizeRequest, HashAlgorithmEnumType, OCSPRequestDataType}; +pub use authorize_response::AuthorizeResponse; From c795ad5e23406331bb847f51d00f17d4810d4fb1 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 09:54:45 +0100 Subject: [PATCH 037/249] feat: Add CancelReservation message types and status enumeration for OCPP v2.1 - Introduce CancelReservationStatusEnumType to represent reservation cancellation status - Create CancelReservationRequest and CancelReservationResponse message structures - Support serialization and deserialization of cancel reservation-related types - Update enumerations and messages modules to include new types --- .../enumerations/cancel_reservation_status.rs | 10 ++++++++++ src/v2_1/enumerations/mod.rs | 2 ++ .../messages/cancel_reservation_request.rs | 13 +++++++++++++ .../messages/cancel_reservation_response.rs | 18 ++++++++++++++++++ src/v2_1/messages/mod.rs | 4 ++++ 5 files changed, 47 insertions(+) create mode 100644 src/v2_1/enumerations/cancel_reservation_status.rs create mode 100644 src/v2_1/messages/cancel_reservation_request.rs create mode 100644 src/v2_1/messages/cancel_reservation_response.rs diff --git a/src/v2_1/enumerations/cancel_reservation_status.rs b/src/v2_1/enumerations/cancel_reservation_status.rs new file mode 100644 index 00000000..b53557a5 --- /dev/null +++ b/src/v2_1/enumerations/cancel_reservation_status.rs @@ -0,0 +1,10 @@ +use serde::{Deserialize, Serialize}; + +/// This indicates the success or failure of the canceling of a reservation by CSMS. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum CancelReservationStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 17828ae2..dda78c2a 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -2,6 +2,7 @@ mod apn_authentication; mod authorization_status; mod authorize_certificate_status; mod boot_reason; +mod cancel_reservation_status; mod certificate_signing_use; mod change_availability_status; mod charging_limit_source; @@ -34,6 +35,7 @@ pub use apn_authentication::APNAuthenticationEnumType; pub use authorization_status::AuthorizationStatusEnumType; pub use authorize_certificate_status::AuthorizeCertificateStatusEnumType; pub use boot_reason::BootReasonEnumType; +pub use cancel_reservation_status::CancelReservationStatusEnumType; pub use certificate_signing_use::CertificateSigningUseEnumType; pub use change_availability_status::ChangeAvailabilityStatusEnumType; pub use charging_limit_source::ChargingLimitSourceEnumType; diff --git a/src/v2_1/messages/cancel_reservation_request.rs b/src/v2_1/messages/cancel_reservation_request.rs new file mode 100644 index 00000000..09fc3a5c --- /dev/null +++ b/src/v2_1/messages/cancel_reservation_request.rs @@ -0,0 +1,13 @@ +use super::super::datatypes::CustomDataType; +use serde::{Deserialize, Serialize}; + +/// Request to cancel a reservation. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct CancelReservationRequest { + /// Id of the reservation to cancel. + pub reservation_id: i32, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/cancel_reservation_response.rs b/src/v2_1/messages/cancel_reservation_response.rs new file mode 100644 index 00000000..8ee08f3c --- /dev/null +++ b/src/v2_1/messages/cancel_reservation_response.rs @@ -0,0 +1,18 @@ +use super::super::datatypes::{CustomDataType, StatusInfoType}; +use super::super::enumerations::CancelReservationStatusEnumType; +use serde::{Deserialize, Serialize}; + +/// Response to a CancelReservationRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct CancelReservationResponse { + /// This indicates the success or failure of the canceling of a reservation by CSMS. + pub status: CancelReservationStatusEnumType, + + /// Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/mod.rs b/src/v2_1/messages/mod.rs index 81ed3dc9..d2f13200 100644 --- a/src/v2_1/messages/mod.rs +++ b/src/v2_1/messages/mod.rs @@ -1,6 +1,10 @@ mod authorize_request; mod authorize_response; mod boot_notification; +mod cancel_reservation_request; +mod cancel_reservation_response; pub use authorize_request::{AuthorizeRequest, HashAlgorithmEnumType, OCSPRequestDataType}; pub use authorize_response::AuthorizeResponse; +pub use cancel_reservation_request::CancelReservationRequest; +pub use cancel_reservation_response::CancelReservationResponse; From 4e7f3f7d05f556e5670b9d44387a38bab59decc0 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 09:59:16 +0100 Subject: [PATCH 038/249] feat: Add CertificateSigned message types for OCPP v2.1 - Introduce CertificateSignedRequest and CertificateSignedResponse message structures - Create CertificateSignedStatusEnumType to represent certificate signing status - Support serialization and deserialization of certificate signing-related types - Update messages module to include new certificate signed types --- .../messages/certificate_signed_request.rs | 24 +++++++++++++++++ .../messages/certificate_signed_response.rs | 26 +++++++++++++++++++ src/v2_1/messages/mod.rs | 4 +++ 3 files changed, 54 insertions(+) create mode 100644 src/v2_1/messages/certificate_signed_request.rs create mode 100644 src/v2_1/messages/certificate_signed_response.rs diff --git a/src/v2_1/messages/certificate_signed_request.rs b/src/v2_1/messages/certificate_signed_request.rs new file mode 100644 index 00000000..de380ab8 --- /dev/null +++ b/src/v2_1/messages/certificate_signed_request.rs @@ -0,0 +1,24 @@ +use super::super::datatypes::CustomDataType; +use super::super::enumerations::CertificateSigningUseEnumType; +use serde::{Deserialize, Serialize}; + +/// Request to inform the Charging Station about the signing of a certificate. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct CertificateSignedRequest { + /// The signed PEM encoded X.509 certificate. This SHALL also contain the necessary sub CA certificates, + /// when applicable. The order of the bundle follows the certificate chain, starting from the leaf certificate. + pub certificate_chain: String, + + /// Indicates the type of the signed certificate that is returned. When omitted the certificate is used + /// for both the 15118 connection (if implemented) and the Charging Station to CSMS connection. + #[serde(skip_serializing_if = "Option::is_none")] + pub certificate_type: Option, + + /// RequestId to correlate this message with the SignCertificateRequest. + #[serde(skip_serializing_if = "Option::is_none")] + pub request_id: Option, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/certificate_signed_response.rs b/src/v2_1/messages/certificate_signed_response.rs new file mode 100644 index 00000000..ae2372cf --- /dev/null +++ b/src/v2_1/messages/certificate_signed_response.rs @@ -0,0 +1,26 @@ +use super::super::datatypes::{CustomDataType, StatusInfoType}; +use serde::{Deserialize, Serialize}; + +/// Enum indicating whether certificate signing has been accepted or rejected. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum CertificateSignedStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, +} + +/// Response to a CertificateSignedRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct CertificateSignedResponse { + /// Returns whether certificate signing has been accepted, otherwise rejected. + pub status: CertificateSignedStatusEnumType, + + /// Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/mod.rs b/src/v2_1/messages/mod.rs index d2f13200..ab5d16de 100644 --- a/src/v2_1/messages/mod.rs +++ b/src/v2_1/messages/mod.rs @@ -3,8 +3,12 @@ mod authorize_response; mod boot_notification; mod cancel_reservation_request; mod cancel_reservation_response; +mod certificate_signed_request; +mod certificate_signed_response; pub use authorize_request::{AuthorizeRequest, HashAlgorithmEnumType, OCSPRequestDataType}; pub use authorize_response::AuthorizeResponse; pub use cancel_reservation_request::CancelReservationRequest; pub use cancel_reservation_response::CancelReservationResponse; +pub use certificate_signed_request::CertificateSignedRequest; +pub use certificate_signed_response::{CertificateSignedResponse, CertificateSignedStatusEnumType}; From 965ab95b6f57c9de1e9ce9c11f0644fdb5683742 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 10:02:01 +0100 Subject: [PATCH 039/249] refactor: Consolidate Authorize and CertificateSigned message types - Merge separate request and response files for Authorize and CertificateSigned messages - Update module to import and export types from consolidated files - Maintain existing functionality and structure of message types - Improve code organization in the messages module --- .../{authorize_request.rs => authorize.rs} | 28 ++++++++++++++++++- src/v2_1/messages/authorize_response.rs | 28 ------------------- ...igned_request.rs => certificate_signed.rs} | 26 ++++++++++++++++- .../messages/certificate_signed_response.rs | 26 ----------------- src/v2_1/messages/mod.rs | 16 +++++------ 5 files changed, 60 insertions(+), 64 deletions(-) rename src/v2_1/messages/{authorize_request.rs => authorize.rs} (64%) delete mode 100644 src/v2_1/messages/authorize_response.rs rename src/v2_1/messages/{certificate_signed_request.rs => certificate_signed.rs} (56%) delete mode 100644 src/v2_1/messages/certificate_signed_response.rs diff --git a/src/v2_1/messages/authorize_request.rs b/src/v2_1/messages/authorize.rs similarity index 64% rename from src/v2_1/messages/authorize_request.rs rename to src/v2_1/messages/authorize.rs index d86cbacb..69cb66f4 100644 --- a/src/v2_1/messages/authorize_request.rs +++ b/src/v2_1/messages/authorize.rs @@ -1,4 +1,5 @@ -use super::super::datatypes::{CustomDataType, IdTokenType}; +use super::super::datatypes::{CustomDataType, IdTokenInfoType, IdTokenType, TariffType}; +use super::super::enumerations::{AuthorizeCertificateStatusEnumType, EnergyTransferModeEnumType}; use serde::{Deserialize, Serialize}; /// Request to start a transaction with the given idToken. @@ -58,3 +59,28 @@ pub enum HashAlgorithmEnumType { #[serde(rename = "SHA512")] SHA512, } + +/// Response to an AuthorizeRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct AuthorizeResponse { + /// Contains information about authorization status, expiry and group id. + pub id_token_info: IdTokenInfoType, + + /// Certificate status information. + /// - if all certificates are valid: return 'Accepted'. + /// - if one of the certificates was revoked, return 'CertificateRevoked'. + #[serde(skip_serializing_if = "Option::is_none")] + pub certificate_status: Option, + + /// List of allowed energy transfer modes the EV can choose from. If omitted this defaults to charging only. + #[serde(skip_serializing_if = "Option::is_none")] + pub allowed_energy_transfer: Option>, + + /// The tariff that is applied to this session. + #[serde(skip_serializing_if = "Option::is_none")] + pub tariff: Option, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/authorize_response.rs b/src/v2_1/messages/authorize_response.rs deleted file mode 100644 index 46376ece..00000000 --- a/src/v2_1/messages/authorize_response.rs +++ /dev/null @@ -1,28 +0,0 @@ -use super::super::datatypes::{CustomDataType, IdTokenInfoType, TariffType}; -use super::super::enumerations::{AuthorizeCertificateStatusEnumType, EnergyTransferModeEnumType}; -use serde::{Deserialize, Serialize}; - -/// Response to an AuthorizeRequest. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] -pub struct AuthorizeResponse { - /// Contains information about authorization status, expiry and group id. - pub id_token_info: IdTokenInfoType, - - /// Certificate status information. - /// - if all certificates are valid: return 'Accepted'. - /// - if one of the certificates was revoked, return 'CertificateRevoked'. - #[serde(skip_serializing_if = "Option::is_none")] - pub certificate_status: Option, - - /// List of allowed energy transfer modes the EV can choose from. If omitted this defaults to charging only. - #[serde(skip_serializing_if = "Option::is_none")] - pub allowed_energy_transfer: Option>, - - /// The tariff that is applied to this session. - #[serde(skip_serializing_if = "Option::is_none")] - pub tariff: Option, - - /// Optional custom data - #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, -} diff --git a/src/v2_1/messages/certificate_signed_request.rs b/src/v2_1/messages/certificate_signed.rs similarity index 56% rename from src/v2_1/messages/certificate_signed_request.rs rename to src/v2_1/messages/certificate_signed.rs index de380ab8..38ba6d80 100644 --- a/src/v2_1/messages/certificate_signed_request.rs +++ b/src/v2_1/messages/certificate_signed.rs @@ -1,4 +1,4 @@ -use super::super::datatypes::CustomDataType; +use super::super::datatypes::{CustomDataType, StatusInfoType}; use super::super::enumerations::CertificateSigningUseEnumType; use serde::{Deserialize, Serialize}; @@ -22,3 +22,27 @@ pub struct CertificateSignedRequest { #[serde(skip_serializing_if = "Option::is_none")] pub custom_data: Option, } + +/// Enum indicating whether certificate signing has been accepted or rejected. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum CertificateSignedStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, +} + +/// Response to a CertificateSignedRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct CertificateSignedResponse { + /// Returns whether certificate signing has been accepted, otherwise rejected. + pub status: CertificateSignedStatusEnumType, + + /// Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/certificate_signed_response.rs b/src/v2_1/messages/certificate_signed_response.rs deleted file mode 100644 index ae2372cf..00000000 --- a/src/v2_1/messages/certificate_signed_response.rs +++ /dev/null @@ -1,26 +0,0 @@ -use super::super::datatypes::{CustomDataType, StatusInfoType}; -use serde::{Deserialize, Serialize}; - -/// Enum indicating whether certificate signing has been accepted or rejected. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] -pub enum CertificateSignedStatusEnumType { - #[serde(rename = "Accepted")] - Accepted, - #[serde(rename = "Rejected")] - Rejected, -} - -/// Response to a CertificateSignedRequest. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] -pub struct CertificateSignedResponse { - /// Returns whether certificate signing has been accepted, otherwise rejected. - pub status: CertificateSignedStatusEnumType, - - /// Detailed status information. - #[serde(skip_serializing_if = "Option::is_none")] - pub status_info: Option, - - /// Optional custom data - #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, -} diff --git a/src/v2_1/messages/mod.rs b/src/v2_1/messages/mod.rs index ab5d16de..80467016 100644 --- a/src/v2_1/messages/mod.rs +++ b/src/v2_1/messages/mod.rs @@ -1,14 +1,14 @@ -mod authorize_request; -mod authorize_response; +mod authorize; mod boot_notification; mod cancel_reservation_request; mod cancel_reservation_response; -mod certificate_signed_request; -mod certificate_signed_response; +mod certificate_signed; -pub use authorize_request::{AuthorizeRequest, HashAlgorithmEnumType, OCSPRequestDataType}; -pub use authorize_response::AuthorizeResponse; +pub use authorize::{ + AuthorizeRequest, AuthorizeResponse, HashAlgorithmEnumType, OCSPRequestDataType, +}; pub use cancel_reservation_request::CancelReservationRequest; pub use cancel_reservation_response::CancelReservationResponse; -pub use certificate_signed_request::CertificateSignedRequest; -pub use certificate_signed_response::{CertificateSignedResponse, CertificateSignedStatusEnumType}; +pub use certificate_signed::{ + CertificateSignedRequest, CertificateSignedResponse, CertificateSignedStatusEnumType, +}; From f85cbe363a2aca305f9b375a6c2823b7f6cb3eed Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 14:20:40 +0100 Subject: [PATCH 040/249] Add enums --- src/v2_1/enumerations/attribute.rs | 21 +++ src/v2_1/enumerations/battery_swap_event.rs | 12 ++ src/v2_1/enumerations/certificate_action.rs | 16 ++ .../enumerations/certificate_signed_status.rs | 16 ++ src/v2_1/enumerations/certificate_status.rs | 20 +++ .../enumerations/certificate_status_source.rs | 16 ++ src/v2_1/enumerations/clear_cache_status.rs | 16 ++ .../clear_charging_profile_status.rs | 16 ++ src/v2_1/enumerations/clear_message_status.rs | 18 +++ .../enumerations/clear_monitoring_status.rs | 18 +++ src/v2_1/enumerations/component_criterion.rs | 20 +++ src/v2_1/enumerations/control_mode.rs | 20 +++ src/v2_1/enumerations/cost_dimension.rs | 26 +++ src/v2_1/enumerations/cost_kind.rs | 18 +++ .../customer_information_status.rs | 18 +++ src/v2_1/enumerations/data_transfer_status.rs | 20 +++ .../enumerations/delete_certificate_status.rs | 18 +++ src/v2_1/enumerations/der_control_status.rs | 20 +++ src/v2_1/enumerations/der_unit.rs | 24 +++ .../enumerations/display_message_status.rs | 26 +++ src/v2_1/enumerations/event_trigger.rs | 18 +++ src/v2_1/enumerations/firmware_status.rs | 40 +++++ .../generic_device_model_status.rs | 20 +++ .../enumerations/get_certificate_id_use.rs | 24 +++ .../get_charging_profile_status.rs | 16 ++ .../get_display_messages_status.rs | 16 ++ .../get_installed_certificate_status.rs | 6 + src/v2_1/enumerations/get_variable_status.rs | 9 ++ .../install_certificate_status.rs | 18 +++ .../enumerations/install_certificate_use.rs | 9 ++ src/v2_1/enumerations/islanding_detection.rs | 19 +++ .../iso15118ev_certificate_status.rs | 6 + src/v2_1/enumerations/location.rs | 9 ++ src/v2_1/enumerations/log.rs | 7 + src/v2_1/enumerations/log_status.rs | 7 + src/v2_1/enumerations/measurand.rs | 121 ++++++++++++++ src/v2_1/enumerations/message_priority.rs | 10 ++ src/v2_1/enumerations/message_state.rs | 16 ++ src/v2_1/enumerations/mobility_needs_mode.rs | 8 + src/v2_1/enumerations/mod.rs | 150 ++++++++++++++++++ src/v2_1/enumerations/monitor.rs | 18 +++ src/v2_1/enumerations/monitoring_base.rs | 7 + src/v2_1/enumerations/monitoring_criterion.rs | 10 ++ src/v2_1/enumerations/mutability.rs | 10 ++ .../notify_allowed_energy_transfer_status.rs | 8 + .../notify_ev_charging_needs_status.rs | 12 ++ src/v2_1/enumerations/payment_status.rs | 12 ++ src/v2_1/enumerations/phase.rs | 24 +++ .../enumerations/power_during_cessation.rs | 8 + .../enumerations/preconditioning_status.rs | 12 ++ .../enumerations/priority_charging_status.rs | 10 ++ .../enumerations/publish_firmware_status.rs | 18 +++ src/v2_1/enumerations/reading_context.rs | 18 +++ src/v2_1/enumerations/reason.rs | 44 +++++ src/v2_1/enumerations/recurrency_kind.rs | 8 + src/v2_1/enumerations/report_base.rs | 10 ++ .../enumerations/request_start_stop_status.rs | 8 + .../enumerations/reservation_update_status.rs | 10 ++ src/v2_1/enumerations/reserve_now_status.rs | 14 ++ src/v2_1/enumerations/reset.rs | 8 + .../enumerations/send_local_list_status.rs | 10 ++ .../enumerations/set_monitoring_status.rs | 16 ++ .../set_network_profile_status.rs | 10 ++ src/v2_1/enumerations/set_variable_status.rs | 16 ++ src/v2_1/enumerations/tariff_change_status.rs | 10 ++ src/v2_1/enumerations/tariff_clear_status.rs | 10 ++ src/v2_1/enumerations/tariff_cost.rs | 10 ++ src/v2_1/enumerations/tariff_get_status.rs | 10 ++ src/v2_1/enumerations/tariff_kind.rs | 8 + src/v2_1/enumerations/tariff_set_status.rs | 10 ++ src/v2_1/enumerations/transaction_event.rs | 10 ++ .../enumerations/trigger_message_status.rs | 10 ++ src/v2_1/enumerations/trigger_reason.rs | 46 ++++++ src/v2_1/enumerations/unlock_status.rs | 12 ++ .../enumerations/unpublish_firmware_status.rs | 10 ++ src/v2_1/enumerations/update.rs | 8 + .../enumerations/update_firmware_status.rs | 14 ++ src/v2_1/enumerations/upload_log_status.rs | 20 +++ ...tion_response.rs => cancel_reservation.rs} | 14 ++ .../messages/cancel_reservation_request.rs | 13 -- src/v2_1/messages/mod.rs | 4 +- 81 files changed, 1433 insertions(+), 15 deletions(-) create mode 100644 src/v2_1/enumerations/attribute.rs create mode 100644 src/v2_1/enumerations/battery_swap_event.rs create mode 100644 src/v2_1/enumerations/certificate_action.rs create mode 100644 src/v2_1/enumerations/certificate_signed_status.rs create mode 100644 src/v2_1/enumerations/certificate_status.rs create mode 100644 src/v2_1/enumerations/certificate_status_source.rs create mode 100644 src/v2_1/enumerations/clear_cache_status.rs create mode 100644 src/v2_1/enumerations/clear_charging_profile_status.rs create mode 100644 src/v2_1/enumerations/clear_message_status.rs create mode 100644 src/v2_1/enumerations/clear_monitoring_status.rs create mode 100644 src/v2_1/enumerations/component_criterion.rs create mode 100644 src/v2_1/enumerations/control_mode.rs create mode 100644 src/v2_1/enumerations/cost_dimension.rs create mode 100644 src/v2_1/enumerations/cost_kind.rs create mode 100644 src/v2_1/enumerations/customer_information_status.rs create mode 100644 src/v2_1/enumerations/data_transfer_status.rs create mode 100644 src/v2_1/enumerations/delete_certificate_status.rs create mode 100644 src/v2_1/enumerations/der_control_status.rs create mode 100644 src/v2_1/enumerations/der_unit.rs create mode 100644 src/v2_1/enumerations/display_message_status.rs create mode 100644 src/v2_1/enumerations/event_trigger.rs create mode 100644 src/v2_1/enumerations/firmware_status.rs create mode 100644 src/v2_1/enumerations/generic_device_model_status.rs create mode 100644 src/v2_1/enumerations/get_certificate_id_use.rs create mode 100644 src/v2_1/enumerations/get_charging_profile_status.rs create mode 100644 src/v2_1/enumerations/get_display_messages_status.rs create mode 100644 src/v2_1/enumerations/get_installed_certificate_status.rs create mode 100644 src/v2_1/enumerations/get_variable_status.rs create mode 100644 src/v2_1/enumerations/install_certificate_status.rs create mode 100644 src/v2_1/enumerations/install_certificate_use.rs create mode 100644 src/v2_1/enumerations/islanding_detection.rs create mode 100644 src/v2_1/enumerations/iso15118ev_certificate_status.rs create mode 100644 src/v2_1/enumerations/location.rs create mode 100644 src/v2_1/enumerations/log.rs create mode 100644 src/v2_1/enumerations/log_status.rs create mode 100644 src/v2_1/enumerations/measurand.rs create mode 100644 src/v2_1/enumerations/message_priority.rs create mode 100644 src/v2_1/enumerations/message_state.rs create mode 100644 src/v2_1/enumerations/mobility_needs_mode.rs create mode 100644 src/v2_1/enumerations/monitor.rs create mode 100644 src/v2_1/enumerations/monitoring_base.rs create mode 100644 src/v2_1/enumerations/monitoring_criterion.rs create mode 100644 src/v2_1/enumerations/mutability.rs create mode 100644 src/v2_1/enumerations/notify_allowed_energy_transfer_status.rs create mode 100644 src/v2_1/enumerations/notify_ev_charging_needs_status.rs create mode 100644 src/v2_1/enumerations/payment_status.rs create mode 100644 src/v2_1/enumerations/phase.rs create mode 100644 src/v2_1/enumerations/power_during_cessation.rs create mode 100644 src/v2_1/enumerations/preconditioning_status.rs create mode 100644 src/v2_1/enumerations/priority_charging_status.rs create mode 100644 src/v2_1/enumerations/publish_firmware_status.rs create mode 100644 src/v2_1/enumerations/reading_context.rs create mode 100644 src/v2_1/enumerations/reason.rs create mode 100644 src/v2_1/enumerations/recurrency_kind.rs create mode 100644 src/v2_1/enumerations/report_base.rs create mode 100644 src/v2_1/enumerations/request_start_stop_status.rs create mode 100644 src/v2_1/enumerations/reservation_update_status.rs create mode 100644 src/v2_1/enumerations/reserve_now_status.rs create mode 100644 src/v2_1/enumerations/reset.rs create mode 100644 src/v2_1/enumerations/send_local_list_status.rs create mode 100644 src/v2_1/enumerations/set_monitoring_status.rs create mode 100644 src/v2_1/enumerations/set_network_profile_status.rs create mode 100644 src/v2_1/enumerations/set_variable_status.rs create mode 100644 src/v2_1/enumerations/tariff_change_status.rs create mode 100644 src/v2_1/enumerations/tariff_clear_status.rs create mode 100644 src/v2_1/enumerations/tariff_cost.rs create mode 100644 src/v2_1/enumerations/tariff_get_status.rs create mode 100644 src/v2_1/enumerations/tariff_kind.rs create mode 100644 src/v2_1/enumerations/tariff_set_status.rs create mode 100644 src/v2_1/enumerations/transaction_event.rs create mode 100644 src/v2_1/enumerations/trigger_message_status.rs create mode 100644 src/v2_1/enumerations/trigger_reason.rs create mode 100644 src/v2_1/enumerations/unlock_status.rs create mode 100644 src/v2_1/enumerations/unpublish_firmware_status.rs create mode 100644 src/v2_1/enumerations/update.rs create mode 100644 src/v2_1/enumerations/update_firmware_status.rs create mode 100644 src/v2_1/enumerations/upload_log_status.rs rename src/v2_1/messages/{cancel_reservation_response.rs => cancel_reservation.rs} (63%) delete mode 100644 src/v2_1/messages/cancel_reservation_request.rs diff --git a/src/v2_1/enumerations/attribute.rs b/src/v2_1/enumerations/attribute.rs new file mode 100644 index 00000000..57237bdc --- /dev/null +++ b/src/v2_1/enumerations/attribute.rs @@ -0,0 +1,21 @@ +use serde::{Deserialize, Serialize}; + +/// Attribute: Actual, Target, MinSet, MaxSet. +/// Defaults to Actual if absent. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum AttributeEnumType { + #[serde(rename = "Actual")] + Actual, + #[serde(rename = "Target")] + Target, + #[serde(rename = "MinSet")] + MinSet, + #[serde(rename = "MaxSet")] + MaxSet, +} + +impl Default for AttributeEnumType { + fn default() -> Self { + Self::Actual + } +} diff --git a/src/v2_1/enumerations/battery_swap_event.rs b/src/v2_1/enumerations/battery_swap_event.rs new file mode 100644 index 00000000..9cb39969 --- /dev/null +++ b/src/v2_1/enumerations/battery_swap_event.rs @@ -0,0 +1,12 @@ +use serde::{Deserialize, Serialize}; + +/// Battery in/out +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum BatterySwapEventEnumType { + #[serde(rename = "BatteryIn")] + BatteryIn, + #[serde(rename = "BatteryOut")] + BatteryOut, + #[serde(rename = "BatteryOutTimeout")] + BatteryOutTimeout, +} diff --git a/src/v2_1/enumerations/certificate_action.rs b/src/v2_1/enumerations/certificate_action.rs new file mode 100644 index 00000000..86aa34ce --- /dev/null +++ b/src/v2_1/enumerations/certificate_action.rs @@ -0,0 +1,16 @@ +use serde::{Deserialize, Serialize}; + +/// Defines whether certificate needs to be installed or updated. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum CertificateActionEnumType { + #[serde(rename = "Install")] + Install, + #[serde(rename = "Update")] + Update, +} + +impl Default for CertificateActionEnumType { + fn default() -> Self { + Self::Install + } +} diff --git a/src/v2_1/enumerations/certificate_signed_status.rs b/src/v2_1/enumerations/certificate_signed_status.rs new file mode 100644 index 00000000..404b39fd --- /dev/null +++ b/src/v2_1/enumerations/certificate_signed_status.rs @@ -0,0 +1,16 @@ +use serde::{Deserialize, Serialize}; + +/// Returns whether certificate signing has been accepted, otherwise rejected. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum CertificateSignedStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, +} + +impl Default for CertificateSignedStatusEnumType { + fn default() -> Self { + Self::Accepted + } +} diff --git a/src/v2_1/enumerations/certificate_status.rs b/src/v2_1/enumerations/certificate_status.rs new file mode 100644 index 00000000..afb984c6 --- /dev/null +++ b/src/v2_1/enumerations/certificate_status.rs @@ -0,0 +1,20 @@ +use serde::{Deserialize, Serialize}; + +/// Status of certificate: good, revoked or unknown. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum CertificateStatusEnumType { + #[serde(rename = "Good")] + Good, + #[serde(rename = "Revoked")] + Revoked, + #[serde(rename = "Unknown")] + Unknown, + #[serde(rename = "Failed")] + Failed, +} + +impl Default for CertificateStatusEnumType { + fn default() -> Self { + Self::Unknown + } +} diff --git a/src/v2_1/enumerations/certificate_status_source.rs b/src/v2_1/enumerations/certificate_status_source.rs new file mode 100644 index 00000000..0d77e977 --- /dev/null +++ b/src/v2_1/enumerations/certificate_status_source.rs @@ -0,0 +1,16 @@ +use serde::{Deserialize, Serialize}; + +/// Source of status: OCSP, CRL +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum CertificateStatusSourceEnumType { + #[serde(rename = "CRL")] + CRL, + #[serde(rename = "OCSP")] + OCSP, +} + +impl Default for CertificateStatusSourceEnumType { + fn default() -> Self { + Self::OCSP + } +} diff --git a/src/v2_1/enumerations/clear_cache_status.rs b/src/v2_1/enumerations/clear_cache_status.rs new file mode 100644 index 00000000..90212af6 --- /dev/null +++ b/src/v2_1/enumerations/clear_cache_status.rs @@ -0,0 +1,16 @@ +use serde::{Deserialize, Serialize}; + +/// Accepted if the Charging Station has executed the request, otherwise rejected. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum ClearCacheStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, +} + +impl Default for ClearCacheStatusEnumType { + fn default() -> Self { + Self::Accepted + } +} diff --git a/src/v2_1/enumerations/clear_charging_profile_status.rs b/src/v2_1/enumerations/clear_charging_profile_status.rs new file mode 100644 index 00000000..25e3bf6d --- /dev/null +++ b/src/v2_1/enumerations/clear_charging_profile_status.rs @@ -0,0 +1,16 @@ +use serde::{Deserialize, Serialize}; + +/// Indicates if the Charging Station was able to execute the request. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum ClearChargingProfileStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Unknown")] + Unknown, +} + +impl Default for ClearChargingProfileStatusEnumType { + fn default() -> Self { + Self::Accepted + } +} diff --git a/src/v2_1/enumerations/clear_message_status.rs b/src/v2_1/enumerations/clear_message_status.rs new file mode 100644 index 00000000..9211a66c --- /dev/null +++ b/src/v2_1/enumerations/clear_message_status.rs @@ -0,0 +1,18 @@ +use serde::{Deserialize, Serialize}; + +/// Returns whether the Charging Station has been able to remove the message. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum ClearMessageStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Unknown")] + Unknown, + #[serde(rename = "Rejected")] + Rejected, +} + +impl Default for ClearMessageStatusEnumType { + fn default() -> Self { + Self::Unknown + } +} diff --git a/src/v2_1/enumerations/clear_monitoring_status.rs b/src/v2_1/enumerations/clear_monitoring_status.rs new file mode 100644 index 00000000..60f21496 --- /dev/null +++ b/src/v2_1/enumerations/clear_monitoring_status.rs @@ -0,0 +1,18 @@ +use serde::{Deserialize, Serialize}; + +/// Result of the clear request for this monitor, identified by its Id. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum ClearMonitoringStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "NotFound")] + NotFound, +} + +impl Default for ClearMonitoringStatusEnumType { + fn default() -> Self { + Self::Accepted + } +} diff --git a/src/v2_1/enumerations/component_criterion.rs b/src/v2_1/enumerations/component_criterion.rs new file mode 100644 index 00000000..4f6d22aa --- /dev/null +++ b/src/v2_1/enumerations/component_criterion.rs @@ -0,0 +1,20 @@ +use serde::{Deserialize, Serialize}; + +/// This field contains criteria for components for which a report is requested. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum ComponentCriterionEnumType { + #[serde(rename = "Active")] + Active, + #[serde(rename = "Available")] + Available, + #[serde(rename = "Enabled")] + Enabled, + #[serde(rename = "Problem")] + Problem, +} + +impl Default for ComponentCriterionEnumType { + fn default() -> Self { + Self::Available + } +} diff --git a/src/v2_1/enumerations/control_mode.rs b/src/v2_1/enumerations/control_mode.rs new file mode 100644 index 00000000..7f92a866 --- /dev/null +++ b/src/v2_1/enumerations/control_mode.rs @@ -0,0 +1,20 @@ +use serde::{Deserialize, Serialize}; + +/// Indicates whether EV wants to operate in Dynamic or Scheduled mode. +/// When absent, Scheduled mode is assumed for backwards compatibility. +/// +/// ISO 15118-20: +/// ServiceSelectionReq(SelectedEnergyTransferService) +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum ControlModeEnumType { + #[serde(rename = "ScheduledControl")] + ScheduledControl, + #[serde(rename = "DynamicControl")] + DynamicControl, +} + +impl Default for ControlModeEnumType { + fn default() -> Self { + Self::ScheduledControl + } +} diff --git a/src/v2_1/enumerations/cost_dimension.rs b/src/v2_1/enumerations/cost_dimension.rs new file mode 100644 index 00000000..9fc756a1 --- /dev/null +++ b/src/v2_1/enumerations/cost_dimension.rs @@ -0,0 +1,26 @@ +use serde::{Deserialize, Serialize}; + +/// Type of cost dimension: energy, power, time, etc. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum CostDimensionEnumType { + #[serde(rename = "Energy")] + Energy, + #[serde(rename = "MaxCurrent")] + MaxCurrent, + #[serde(rename = "MinCurrent")] + MinCurrent, + #[serde(rename = "MaxPower")] + MaxPower, + #[serde(rename = "MinPower")] + MinPower, + #[serde(rename = "IdleTIme")] + IdleTime, + #[serde(rename = "ChargingTime")] + ChargingTime, +} + +impl Default for CostDimensionEnumType { + fn default() -> Self { + Self::Energy + } +} diff --git a/src/v2_1/enumerations/cost_kind.rs b/src/v2_1/enumerations/cost_kind.rs new file mode 100644 index 00000000..d38160e8 --- /dev/null +++ b/src/v2_1/enumerations/cost_kind.rs @@ -0,0 +1,18 @@ +use serde::{Deserialize, Serialize}; + +/// The kind of cost referred to in the message element amount +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum CostKindEnumType { + #[serde(rename = "CarbonDioxideEmission")] + CarbonDioxideEmission, + #[serde(rename = "RelativePricePercentage")] + RelativePricePercentage, + #[serde(rename = "RenewableGenerationPercentage")] + RenewableGenerationPercentage, +} + +impl Default for CostKindEnumType { + fn default() -> Self { + Self::CarbonDioxideEmission + } +} diff --git a/src/v2_1/enumerations/customer_information_status.rs b/src/v2_1/enumerations/customer_information_status.rs new file mode 100644 index 00000000..a9e36fe9 --- /dev/null +++ b/src/v2_1/enumerations/customer_information_status.rs @@ -0,0 +1,18 @@ +use serde::{Deserialize, Serialize}; + +/// Indicates whether the request was accepted. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum CustomerInformationStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "Invalid")] + Invalid, +} + +impl Default for CustomerInformationStatusEnumType { + fn default() -> Self { + Self::Accepted + } +} diff --git a/src/v2_1/enumerations/data_transfer_status.rs b/src/v2_1/enumerations/data_transfer_status.rs new file mode 100644 index 00000000..38000d77 --- /dev/null +++ b/src/v2_1/enumerations/data_transfer_status.rs @@ -0,0 +1,20 @@ +use serde::{Deserialize, Serialize}; + +/// This indicates the success or failure of the data transfer. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum DataTransferStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "UnknownMessageId")] + UnknownMessageId, + #[serde(rename = "UnknownVendorId")] + UnknownVendorId, +} + +impl Default for DataTransferStatusEnumType { + fn default() -> Self { + Self::Accepted + } +} diff --git a/src/v2_1/enumerations/delete_certificate_status.rs b/src/v2_1/enumerations/delete_certificate_status.rs new file mode 100644 index 00000000..eebb36b0 --- /dev/null +++ b/src/v2_1/enumerations/delete_certificate_status.rs @@ -0,0 +1,18 @@ +use serde::{Deserialize, Serialize}; + +/// Charging Station indicates if it can process the request. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum DeleteCertificateStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Failed")] + Failed, + #[serde(rename = "NotFound")] + NotFound, +} + +impl Default for DeleteCertificateStatusEnumType { + fn default() -> Self { + Self::Accepted + } +} diff --git a/src/v2_1/enumerations/der_control_status.rs b/src/v2_1/enumerations/der_control_status.rs new file mode 100644 index 00000000..0c080f17 --- /dev/null +++ b/src/v2_1/enumerations/der_control_status.rs @@ -0,0 +1,20 @@ +use serde::{Deserialize, Serialize}; + +/// Result of operation. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum DERControlStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "NotSupported")] + NotSupported, + #[serde(rename = "NotFound")] + NotFound, +} + +impl Default for DERControlStatusEnumType { + fn default() -> Self { + Self::Accepted + } +} diff --git a/src/v2_1/enumerations/der_unit.rs b/src/v2_1/enumerations/der_unit.rs new file mode 100644 index 00000000..c93a12f8 --- /dev/null +++ b/src/v2_1/enumerations/der_unit.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; + +/// Unit of the setpoint. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum DERUnitEnumType { + #[serde(rename = "Not_Applicable")] + NotApplicable, + #[serde(rename = "PctMaxW")] + PctMaxW, + #[serde(rename = "PctMaxVar")] + PctMaxVar, + #[serde(rename = "PctWAvail")] + PctWAvail, + #[serde(rename = "PctVarAvail")] + PctVarAvail, + #[serde(rename = "PctEffectiveV")] + PctEffectiveV, +} + +impl Default for DERUnitEnumType { + fn default() -> Self { + Self::NotApplicable + } +} diff --git a/src/v2_1/enumerations/display_message_status.rs b/src/v2_1/enumerations/display_message_status.rs new file mode 100644 index 00000000..b6ec9892 --- /dev/null +++ b/src/v2_1/enumerations/display_message_status.rs @@ -0,0 +1,26 @@ +use serde::{Deserialize, Serialize}; + +/// This indicates whether the Charging Station is able to display the message. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum DisplayMessageStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "NotSupportedMessageFormat")] + NotSupportedMessageFormat, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "NotSupportedPriority")] + NotSupportedPriority, + #[serde(rename = "NotSupportedState")] + NotSupportedState, + #[serde(rename = "UnknownTransaction")] + UnknownTransaction, + #[serde(rename = "LanguageNotSupported")] + LanguageNotSupported, +} + +impl Default for DisplayMessageStatusEnumType { + fn default() -> Self { + Self::Accepted + } +} diff --git a/src/v2_1/enumerations/event_trigger.rs b/src/v2_1/enumerations/event_trigger.rs new file mode 100644 index 00000000..cba743e2 --- /dev/null +++ b/src/v2_1/enumerations/event_trigger.rs @@ -0,0 +1,18 @@ +use serde::{Deserialize, Serialize}; + +/// Type of trigger for this event, e.g. exceeding a threshold value. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum EventTriggerEnumType { + #[serde(rename = "Alerting")] + Alerting, + #[serde(rename = "Delta")] + Delta, + #[serde(rename = "Periodic")] + Periodic, +} + +impl Default for EventTriggerEnumType { + fn default() -> Self { + Self::Alerting + } +} diff --git a/src/v2_1/enumerations/firmware_status.rs b/src/v2_1/enumerations/firmware_status.rs new file mode 100644 index 00000000..b0053cef --- /dev/null +++ b/src/v2_1/enumerations/firmware_status.rs @@ -0,0 +1,40 @@ +use serde::{Deserialize, Serialize}; + +/// This contains the progress status of the firmware installation. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum FirmwareStatusEnumType { + #[serde(rename = "Downloaded")] + Downloaded, + #[serde(rename = "DownloadFailed")] + DownloadFailed, + #[serde(rename = "Downloading")] + Downloading, + #[serde(rename = "DownloadScheduled")] + DownloadScheduled, + #[serde(rename = "DownloadPaused")] + DownloadPaused, + #[serde(rename = "Idle")] + Idle, + #[serde(rename = "InstallationFailed")] + InstallationFailed, + #[serde(rename = "Installing")] + Installing, + #[serde(rename = "Installed")] + Installed, + #[serde(rename = "InstallRebooting")] + InstallRebooting, + #[serde(rename = "InstallScheduled")] + InstallScheduled, + #[serde(rename = "InstallVerificationFailed")] + InstallVerificationFailed, + #[serde(rename = "InvalidSignature")] + InvalidSignature, + #[serde(rename = "SignatureVerified")] + SignatureVerified, +} + +impl Default for FirmwareStatusEnumType { + fn default() -> Self { + Self::Idle + } +} diff --git a/src/v2_1/enumerations/generic_device_model_status.rs b/src/v2_1/enumerations/generic_device_model_status.rs new file mode 100644 index 00000000..416a0777 --- /dev/null +++ b/src/v2_1/enumerations/generic_device_model_status.rs @@ -0,0 +1,20 @@ +use serde::{Deserialize, Serialize}; + +/// This indicates whether the Charging Station is able to accept this request. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum GenericDeviceModelStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "NotSupported")] + NotSupported, + #[serde(rename = "EmptyResultSet")] + EmptyResultSet, +} + +impl Default for GenericDeviceModelStatusEnumType { + fn default() -> Self { + Self::Accepted + } +} diff --git a/src/v2_1/enumerations/get_certificate_id_use.rs b/src/v2_1/enumerations/get_certificate_id_use.rs new file mode 100644 index 00000000..5a288db2 --- /dev/null +++ b/src/v2_1/enumerations/get_certificate_id_use.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; + +/// Indicates the type of the requested certificate(s). +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum GetCertificateIdUseEnumType { + #[serde(rename = "V2GRootCertificate")] + V2GRootCertificate, + #[serde(rename = "MORootCertificate")] + MORootCertificate, + #[serde(rename = "CSMSRootCertificate")] + CSMSRootCertificate, + #[serde(rename = "V2GCertificateChain")] + V2GCertificateChain, + #[serde(rename = "ManufacturerRootCertificate")] + ManufacturerRootCertificate, + #[serde(rename = "OEMRootCertificate")] + OEMRootCertificate, +} + +impl Default for GetCertificateIdUseEnumType { + fn default() -> Self { + Self::CSMSRootCertificate + } +} diff --git a/src/v2_1/enumerations/get_charging_profile_status.rs b/src/v2_1/enumerations/get_charging_profile_status.rs new file mode 100644 index 00000000..fb768c10 --- /dev/null +++ b/src/v2_1/enumerations/get_charging_profile_status.rs @@ -0,0 +1,16 @@ +use serde::{Deserialize, Serialize}; + +/// This indicates whether the Charging Station is able to process this request and will send ReportChargingProfilesRequest messages. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum GetChargingProfileStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "NoProfiles")] + NoProfiles, +} + +impl Default for GetChargingProfileStatusEnumType { + fn default() -> Self { + Self::Accepted + } +} diff --git a/src/v2_1/enumerations/get_display_messages_status.rs b/src/v2_1/enumerations/get_display_messages_status.rs new file mode 100644 index 00000000..3efe2be7 --- /dev/null +++ b/src/v2_1/enumerations/get_display_messages_status.rs @@ -0,0 +1,16 @@ +use serde::{Deserialize, Serialize}; + +/// Indicates if the Charging Station has Display Messages that match the request criteria in the GetDisplayMessagesRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum GetDisplayMessagesStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Unknown")] + Unknown, +} + +impl Default for GetDisplayMessagesStatusEnumType { + fn default() -> Self { + Self::Accepted + } +} diff --git a/src/v2_1/enumerations/get_installed_certificate_status.rs b/src/v2_1/enumerations/get_installed_certificate_status.rs new file mode 100644 index 00000000..14c57f51 --- /dev/null +++ b/src/v2_1/enumerations/get_installed_certificate_status.rs @@ -0,0 +1,6 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum GetInstalledCertificateStatusEnumType { + #[default] + Accepted, + NotFound, +} diff --git a/src/v2_1/enumerations/get_variable_status.rs b/src/v2_1/enumerations/get_variable_status.rs new file mode 100644 index 00000000..2396db63 --- /dev/null +++ b/src/v2_1/enumerations/get_variable_status.rs @@ -0,0 +1,9 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum GetVariableStatusEnumType { + #[default] + Accepted, + Rejected, + UnknownComponent, + UnknownVariable, + NotSupportedAttributeType, +} diff --git a/src/v2_1/enumerations/install_certificate_status.rs b/src/v2_1/enumerations/install_certificate_status.rs new file mode 100644 index 00000000..92d96199 --- /dev/null +++ b/src/v2_1/enumerations/install_certificate_status.rs @@ -0,0 +1,18 @@ +use serde::{Deserialize, Serialize}; + +/// Charging Station indicates if installation was successful. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum InstallCertificateStatusEnumType { + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "Failed")] + Failed, +} + +impl Default for InstallCertificateStatusEnumType { + fn default() -> Self { + Self::Accepted + } +} diff --git a/src/v2_1/enumerations/install_certificate_use.rs b/src/v2_1/enumerations/install_certificate_use.rs new file mode 100644 index 00000000..631ac9d3 --- /dev/null +++ b/src/v2_1/enumerations/install_certificate_use.rs @@ -0,0 +1,9 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum InstallCertificateUseEnumType { + V2GRootCertificate, + MORootCertificate, + ManufacturerRootCertificate, + #[default] + CSMSRootCertificate, + OEMRootCertificate, +} diff --git a/src/v2_1/enumerations/islanding_detection.rs b/src/v2_1/enumerations/islanding_detection.rs new file mode 100644 index 00000000..0eac2d7b --- /dev/null +++ b/src/v2_1/enumerations/islanding_detection.rs @@ -0,0 +1,19 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum IslandingDetectionEnumType { + #[default] + NoAntiIslandingSupport, + RoCoF, + UVP_OVP, + UFP_OFP, + VoltageVectorShift, + ZeroCrossingDetection, + OtherPassive, + ImpedanceMeasurement, + ImpedanceAtFrequency, + SlipModeFrequencyShift, + SandiaFrequencyShift, + SandiaVoltageShift, + FrequencyJump, + RCLQFactor, + OtherActive, +} diff --git a/src/v2_1/enumerations/iso15118ev_certificate_status.rs b/src/v2_1/enumerations/iso15118ev_certificate_status.rs new file mode 100644 index 00000000..fc89333b --- /dev/null +++ b/src/v2_1/enumerations/iso15118ev_certificate_status.rs @@ -0,0 +1,6 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum Iso15118EVCertificateStatusEnumType { + #[default] + Accepted, + Failed, +} diff --git a/src/v2_1/enumerations/location.rs b/src/v2_1/enumerations/location.rs new file mode 100644 index 00000000..73aa1839 --- /dev/null +++ b/src/v2_1/enumerations/location.rs @@ -0,0 +1,9 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum LocationEnumType { + Body, + Cable, + EV, + Inlet, + #[default] + Outlet, +} diff --git a/src/v2_1/enumerations/log.rs b/src/v2_1/enumerations/log.rs new file mode 100644 index 00000000..7bdf36b6 --- /dev/null +++ b/src/v2_1/enumerations/log.rs @@ -0,0 +1,7 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum LogEnumType { + #[default] + DiagnosticsLog, + SecurityLog, + DataCollectorLog, +} diff --git a/src/v2_1/enumerations/log_status.rs b/src/v2_1/enumerations/log_status.rs new file mode 100644 index 00000000..19d9794c --- /dev/null +++ b/src/v2_1/enumerations/log_status.rs @@ -0,0 +1,7 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum LogStatusEnumType { + #[default] + Accepted, + Rejected, + AcceptedCanceled, +} diff --git a/src/v2_1/enumerations/measurand.rs b/src/v2_1/enumerations/measurand.rs new file mode 100644 index 00000000..89f6427d --- /dev/null +++ b/src/v2_1/enumerations/measurand.rs @@ -0,0 +1,121 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq)] +pub enum MeasurandEnumType { + #[serde(rename = "Current.Export")] + CurrentExport, + #[serde(rename = "Current.Export.Offered")] + CurrentExportOffered, + #[serde(rename = "Current.Export.Minimum")] + CurrentExportMinimum, + #[serde(rename = "Current.Import")] + CurrentImport, + #[serde(rename = "Current.Import.Offered")] + CurrentImportOffered, + #[serde(rename = "Current.Import.Minimum")] + CurrentImportMinimum, + #[serde(rename = "Current.Offered")] + CurrentOffered, + #[serde(rename = "Display.PresentSOC")] + DisplayPresentSOC, + #[serde(rename = "Display.MinimumSOC")] + DisplayMinimumSOC, + #[serde(rename = "Display.TargetSOC")] + DisplayTargetSOC, + #[serde(rename = "Display.MaximumSOC")] + DisplayMaximumSOC, + #[serde(rename = "Display.RemainingTimeToMinimumSOC")] + DisplayRemainingTimeToMinimumSOC, + #[serde(rename = "Display.RemainingTimeToTargetSOC")] + DisplayRemainingTimeToTargetSOC, + #[serde(rename = "Display.RemainingTimeToMaximumSOC")] + DisplayRemainingTimeToMaximumSOC, + #[serde(rename = "Display.ChargingComplete")] + DisplayChargingComplete, + #[serde(rename = "Display.BatteryEnergyCapacity")] + DisplayBatteryEnergyCapacity, + #[serde(rename = "Display.InletHot")] + DisplayInletHot, + #[serde(rename = "Energy.Active.Export.Interval")] + EnergyActiveExportInterval, + #[serde(rename = "Energy.Active.Export.Register")] + EnergyActiveExportRegister, + #[serde(rename = "Energy.Active.Import.Interval")] + EnergyActiveImportInterval, + #[serde(rename = "Energy.Active.Import.Register")] + EnergyActiveImportRegister, + #[serde(rename = "Energy.Active.Import.CableLoss")] + EnergyActiveImportCableLoss, + #[serde(rename = "Energy.Active.Import.LocalGeneration.Register")] + EnergyActiveImportLocalGenerationRegister, + #[serde(rename = "Energy.Active.Net")] + EnergyActiveNet, + #[serde(rename = "Energy.Active.Setpoint.Interval")] + EnergyActiveSetpointInterval, + #[serde(rename = "Energy.Apparent.Export")] + EnergyApparentExport, + #[serde(rename = "Energy.Apparent.Import")] + EnergyApparentImport, + #[serde(rename = "Energy.Apparent.Net")] + EnergyApparentNet, + #[serde(rename = "Energy.Reactive.Export.Interval")] + EnergyReactiveExportInterval, + #[serde(rename = "Energy.Reactive.Export.Register")] + EnergyReactiveExportRegister, + #[serde(rename = "Energy.Reactive.Import.Interval")] + EnergyReactiveImportInterval, + #[serde(rename = "Energy.Reactive.Import.Register")] + EnergyReactiveImportRegister, + #[serde(rename = "Energy.Reactive.Net")] + EnergyReactiveNet, + #[serde(rename = "EnergyRequest.Target")] + EnergyRequestTarget, + #[serde(rename = "EnergyRequest.Minimum")] + EnergyRequestMinimum, + #[serde(rename = "EnergyRequest.Maximum")] + EnergyRequestMaximum, + #[serde(rename = "EnergyRequest.Minimum.V2X")] + EnergyRequestMinimumV2X, + #[serde(rename = "EnergyRequest.Maximum.V2X")] + EnergyRequestMaximumV2X, + #[serde(rename = "EnergyRequest.Bulk")] + EnergyRequestBulk, + #[serde(rename = "Frequency")] + Frequency, + #[serde(rename = "Power.Active.Export")] + PowerActiveExport, + #[serde(rename = "Power.Active.Import")] + PowerActiveImport, + #[serde(rename = "Power.Active.Setpoint")] + PowerActiveSetpoint, + #[serde(rename = "Power.Active.Residual")] + PowerActiveResidual, + #[serde(rename = "Power.Export.Minimum")] + PowerExportMinimum, + #[serde(rename = "Power.Export.Offered")] + PowerExportOffered, + #[serde(rename = "Power.Factor")] + PowerFactor, + #[serde(rename = "Power.Import.Offered")] + PowerImportOffered, + #[serde(rename = "Power.Import.Minimum")] + PowerImportMinimum, + #[serde(rename = "Power.Offered")] + PowerOffered, + #[serde(rename = "Power.Reactive.Export")] + PowerReactiveExport, + #[serde(rename = "Power.Reactive.Import")] + PowerReactiveImport, + #[serde(rename = "SoC")] + SoC, + #[serde(rename = "Voltage")] + Voltage, + #[serde(rename = "Voltage.Minimum")] + VoltageMinimum, + #[serde(rename = "Voltage.Maximum")] + VoltageMaximum, +} + +impl Default for MeasurandEnumType { + fn default() -> Self { + Self::EnergyActiveImportRegister + } +} diff --git a/src/v2_1/enumerations/message_priority.rs b/src/v2_1/enumerations/message_priority.rs new file mode 100644 index 00000000..59727451 --- /dev/null +++ b/src/v2_1/enumerations/message_priority.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum MessagePriorityEnumType { + #[serde(rename = "AlwaysFront")] + AlwaysFront, + #[serde(rename = "InFront")] + InFront, + #[default] + #[serde(rename = "NormalCycle")] + NormalCycle, +} diff --git a/src/v2_1/enumerations/message_state.rs b/src/v2_1/enumerations/message_state.rs new file mode 100644 index 00000000..28288ab3 --- /dev/null +++ b/src/v2_1/enumerations/message_state.rs @@ -0,0 +1,16 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum MessageStateEnumType { + #[serde(rename = "Charging")] + Charging, + #[serde(rename = "Faulted")] + Faulted, + #[default] + #[serde(rename = "Idle")] + Idle, + #[serde(rename = "Unavailable")] + Unavailable, + #[serde(rename = "Suspended")] + Suspended, + #[serde(rename = "Discharging")] + Discharging, +} diff --git a/src/v2_1/enumerations/mobility_needs_mode.rs b/src/v2_1/enumerations/mobility_needs_mode.rs new file mode 100644 index 00000000..0d93c3aa --- /dev/null +++ b/src/v2_1/enumerations/mobility_needs_mode.rs @@ -0,0 +1,8 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum MobilityNeedsModeEnumType { + #[default] + #[serde(rename = "EVCC")] + EVCC, + #[serde(rename = "EVCC_SECC")] + EVCCSECC, +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index dda78c2a..0d19b8f1 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -1,9 +1,15 @@ mod apn_authentication; +mod attribute; mod authorization_status; mod authorize_certificate_status; +mod battery_swap_event; mod boot_reason; mod cancel_reservation_status; +mod certificate_action; +mod certificate_signed_status; mod certificate_signing_use; +mod certificate_status; +mod certificate_status_source; mod change_availability_status; mod charging_limit_source; mod charging_profile_kind; @@ -11,32 +17,107 @@ mod charging_profile_purpose; mod charging_profile_status; mod charging_rate_unit; mod charging_state; +mod clear_cache_status; +mod clear_charging_profile_status; +mod clear_message_status; +mod clear_monitoring_status; +mod component_criterion; mod connector_status; +mod control_mode; +mod cost_dimension; +mod cost_kind; +mod customer_information_status; +mod data_transfer_status; mod day_of_week; +mod delete_certificate_status; mod der_control; +mod der_control_status; +mod der_unit; +mod display_message_status; mod energy_transfer_mode; mod event_notification; +mod event_trigger; mod evse_kind; +mod firmware_status; +mod generic_device_model_status; mod generic_status; +mod get_certificate_id_use; mod get_certificate_status; +mod get_charging_profile_status; +mod get_display_messages_status; +mod get_installed_certificate_status; +mod get_variable_status; +mod grid_event_fault; mod hash_algorithm; +mod install_certificate_status; +mod install_certificate_use; +mod islanding_detection; +mod iso15118ev_certificate_status; +mod location; +mod log; +mod log_status; +mod measurand; mod message_format; +mod message_priority; +mod message_state; mod message_trigger; +mod mobility_needs_mode; +mod monitor; +mod monitoring_base; +mod monitoring_criterion; +mod mutability; +mod notify_allowed_energy_transfer_status; +mod notify_ev_charging_needs_status; mod ocpp_interface; mod ocpp_transport; mod ocpp_version; mod operation_mode; mod operational_status; +mod payment_status; +mod phase; +mod power_during_cessation; +mod preconditioning_status; +mod priority_charging_status; +mod publish_firmware_status; +mod reading_context; +mod reason; +mod recurrency_kind; mod registration_status; +mod report_base; +mod request_start_stop_status; +mod reservation_update_status; +mod reserve_now_status; +mod reset; mod reset_status; +mod send_local_list_status; +mod set_monitoring_status; +mod set_network_profile_status; +mod set_variable_status; +mod tariff_change_status; +mod tariff_clear_status; +mod tariff_cost; +mod tariff_get_status; +mod tariff_kind; +mod tariff_set_status; +mod transaction_event; +pub mod unpublish_firmware_status; +pub mod update; +pub mod update_firmware_status; +pub mod upload_log_status; mod vpn; pub use apn_authentication::APNAuthenticationEnumType; +pub use attribute::AttributeEnumType; pub use authorization_status::AuthorizationStatusEnumType; pub use authorize_certificate_status::AuthorizeCertificateStatusEnumType; +pub use battery_swap_event::BatterySwapEventEnumType; pub use boot_reason::BootReasonEnumType; pub use cancel_reservation_status::CancelReservationStatusEnumType; +pub use certificate_action::CertificateActionEnumType; +pub use certificate_signed_status::CertificateSignedStatusEnumType; pub use certificate_signing_use::CertificateSigningUseEnumType; +pub use certificate_status::CertificateStatusEnumType; +pub use certificate_status_source::CertificateStatusSourceEnumType; pub use change_availability_status::ChangeAvailabilityStatusEnumType; pub use charging_limit_source::ChargingLimitSourceEnumType; pub use charging_profile_kind::ChargingProfileKindEnumType; @@ -44,22 +125,91 @@ pub use charging_profile_purpose::ChargingProfilePurposeEnumType; pub use charging_profile_status::ChargingProfileStatusEnumType; pub use charging_rate_unit::ChargingRateUnitEnumType; pub use charging_state::ChargingStateEnumType; +pub use clear_cache_status::ClearCacheStatusEnumType; +pub use clear_charging_profile_status::ClearChargingProfileStatusEnumType; +pub use clear_message_status::ClearMessageStatusEnumType; +pub use clear_monitoring_status::ClearMonitoringStatusEnumType; +pub use component_criterion::ComponentCriterionEnumType; pub use connector_status::ConnectorStatusEnumType; +pub use control_mode::ControlModeEnumType; +pub use cost_dimension::CostDimensionEnumType; +pub use cost_kind::CostKindEnumType; +pub use customer_information_status::CustomerInformationStatusEnumType; +pub use data_transfer_status::DataTransferStatusEnumType; pub use day_of_week::DayOfWeekEnumType; +pub use delete_certificate_status::DeleteCertificateStatusEnumType; pub use der_control::DERControlEnumType; +pub use der_control_status::DERControlStatusEnumType; +pub use der_unit::DERUnitEnumType; +pub use display_message_status::DisplayMessageStatusEnumType; pub use energy_transfer_mode::EnergyTransferModeEnumType; pub use event_notification::EventNotificationEnumType; +pub use event_trigger::EventTriggerEnumType; pub use evse_kind::EvseKindEnumType; +pub use firmware_status::FirmwareStatusEnumType; +pub use generic_device_model_status::GenericDeviceModelStatusEnumType; pub use generic_status::GenericStatusEnumType; +pub use get_certificate_id_use::GetCertificateIdUseEnumType; pub use get_certificate_status::GetCertificateStatusEnumType; +pub use get_charging_profile_status::GetChargingProfileStatusEnumType; +pub use get_display_messages_status::GetDisplayMessagesStatusEnumType; +pub use get_installed_certificate_status::GetInstalledCertificateStatusEnumType; +pub use get_variable_status::GetVariableStatusEnumType; +pub use grid_event_fault::GridEventFaultEnumType; pub use hash_algorithm::HashAlgorithmEnumType; +pub use install_certificate_status::InstallCertificateStatusEnumType; +pub use install_certificate_use::InstallCertificateUseEnumType; +pub use islanding_detection::IslandingDetectionEnumType; +pub use iso15118ev_certificate_status::Iso15118EVCertificateStatusEnumType; +pub use location::LocationEnumType; +pub use log::LogEnumType; +pub use log_status::LogStatusEnumType; +pub use measurand::MeasurandEnumType; pub use message_format::MessageFormatEnumType; +pub use message_priority::MessagePriorityEnumType; +pub use message_state::MessageStateEnumType; pub use message_trigger::MessageTriggerEnumType; +pub use mobility_needs_mode::MobilityNeedsModeEnumType; +pub use monitor::MonitorEnumType; +pub use monitoring_base::MonitoringBaseEnumType; +pub use monitoring_criterion::MonitoringCriterionEnumType; +pub use mutability::MutabilityEnumType; +pub use notify_allowed_energy_transfer_status::NotifyAllowedEnergyTransferStatusEnumType; +pub use notify_ev_charging_needs_status::NotifyEVChargingNeedsStatusEnumType; pub use ocpp_interface::OCPPInterfaceEnumType; pub use ocpp_transport::OCPPTransportEnumType; pub use ocpp_version::OCPPVersionEnumType; pub use operation_mode::OperationModeEnumType; pub use operational_status::OperationalStatusEnumType; +pub use payment_status::PaymentStatusEnumType; +pub use phase::PhaseEnumType; +pub use power_during_cessation::PowerDuringCessationEnumType; +pub use preconditioning_status::PreconditioningStatusEnumType; +pub use priority_charging_status::PriorityChargingStatusEnumType; +pub use publish_firmware_status::PublishFirmwareStatusEnumType; +pub use reading_context::ReadingContextEnumType; +pub use reason::ReasonEnumType; +pub use recurrency_kind::RecurrencyKindEnumType; pub use registration_status::RegistrationStatusEnumType; +pub use report_base::ReportBaseEnumType; +pub use request_start_stop_status::RequestStartStopStatusEnumType; +pub use reservation_update_status::ReservationUpdateStatusEnumType; +pub use reserve_now_status::ReserveNowStatusEnumType; +pub use reset::ResetEnumType; pub use reset_status::ResetStatusEnumType; +pub use send_local_list_status::SendLocalListStatusEnumType; +pub use set_monitoring_status::SetMonitoringStatusEnumType; +pub use set_network_profile_status::SetNetworkProfileStatusEnumType; +pub use set_variable_status::SetVariableStatusEnumType; +pub use tariff_change_status::TariffChangeStatusEnumType; +pub use tariff_clear_status::TariffClearStatusEnumType; +pub use tariff_cost::TariffCostEnumType; +pub use tariff_get_status::TariffGetStatusEnumType; +pub use tariff_kind::TariffKindEnumType; +pub use tariff_set_status::TariffSetStatusEnumType; +pub use transaction_event::TransactionEventEnumType; +pub use unpublish_firmware_status::UnpublishFirmwareStatusEnumType; +pub use update::UpdateEnumType; +pub use update_firmware_status::UpdateFirmwareStatusEnumType; +pub use upload_log_status::UploadLogStatusEnumType; pub use vpn::VPNEnumType; diff --git a/src/v2_1/enumerations/monitor.rs b/src/v2_1/enumerations/monitor.rs new file mode 100644 index 00000000..75397619 --- /dev/null +++ b/src/v2_1/enumerations/monitor.rs @@ -0,0 +1,18 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum MonitorEnumType { + #[default] + #[serde(rename = "UpperThreshold")] + UpperThreshold, + #[serde(rename = "LowerThreshold")] + LowerThreshold, + #[serde(rename = "Delta")] + Delta, + #[serde(rename = "Periodic")] + Periodic, + #[serde(rename = "PeriodicClockAligned")] + PeriodicClockAligned, + #[serde(rename = "TargetDelta")] + TargetDelta, + #[serde(rename = "TargetDeltaRelative")] + TargetDeltaRelative, +} diff --git a/src/v2_1/enumerations/monitoring_base.rs b/src/v2_1/enumerations/monitoring_base.rs new file mode 100644 index 00000000..c77cb6fd --- /dev/null +++ b/src/v2_1/enumerations/monitoring_base.rs @@ -0,0 +1,7 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum MonitoringBaseEnumType { + #[default] + All, + FactoryDefault, + HardWiredOnly, +} diff --git a/src/v2_1/enumerations/monitoring_criterion.rs b/src/v2_1/enumerations/monitoring_criterion.rs new file mode 100644 index 00000000..bf7bd7b5 --- /dev/null +++ b/src/v2_1/enumerations/monitoring_criterion.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum MonitoringCriterionEnumType { + #[default] + #[serde(rename = "ThresholdMonitoring")] + ThresholdMonitoring, + #[serde(rename = "DeltaMonitoring")] + DeltaMonitoring, + #[serde(rename = "PeriodicMonitoring")] + PeriodicMonitoring, +} diff --git a/src/v2_1/enumerations/mutability.rs b/src/v2_1/enumerations/mutability.rs new file mode 100644 index 00000000..981ff003 --- /dev/null +++ b/src/v2_1/enumerations/mutability.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum MutabilityEnumType { + #[serde(rename = "ReadOnly")] + ReadOnly, + #[serde(rename = "WriteOnly")] + WriteOnly, + #[default] + #[serde(rename = "ReadWrite")] + ReadWrite, +} diff --git a/src/v2_1/enumerations/notify_allowed_energy_transfer_status.rs b/src/v2_1/enumerations/notify_allowed_energy_transfer_status.rs new file mode 100644 index 00000000..79138b17 --- /dev/null +++ b/src/v2_1/enumerations/notify_allowed_energy_transfer_status.rs @@ -0,0 +1,8 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum NotifyAllowedEnergyTransferStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, +} diff --git a/src/v2_1/enumerations/notify_ev_charging_needs_status.rs b/src/v2_1/enumerations/notify_ev_charging_needs_status.rs new file mode 100644 index 00000000..cdd6f06e --- /dev/null +++ b/src/v2_1/enumerations/notify_ev_charging_needs_status.rs @@ -0,0 +1,12 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum NotifyEVChargingNeedsStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "Processing")] + Processing, + #[serde(rename = "NoChargingProfile")] + NoChargingProfile, +} diff --git a/src/v2_1/enumerations/payment_status.rs b/src/v2_1/enumerations/payment_status.rs new file mode 100644 index 00000000..236a6370 --- /dev/null +++ b/src/v2_1/enumerations/payment_status.rs @@ -0,0 +1,12 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum PaymentStatusEnumType { + #[serde(rename = "Settled")] + Settled, + #[serde(rename = "Canceled")] + Canceled, + #[serde(rename = "Rejected")] + Rejected, + #[default] + #[serde(rename = "Failed")] + Failed, +} diff --git a/src/v2_1/enumerations/phase.rs b/src/v2_1/enumerations/phase.rs new file mode 100644 index 00000000..c86f7b43 --- /dev/null +++ b/src/v2_1/enumerations/phase.rs @@ -0,0 +1,24 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum PhaseEnumType { + #[default] + #[serde(rename = "L1")] + L1, + #[serde(rename = "L2")] + L2, + #[serde(rename = "L3")] + L3, + #[serde(rename = "N")] + N, + #[serde(rename = "L1-N")] + L1N, + #[serde(rename = "L2-N")] + L2N, + #[serde(rename = "L3-N")] + L3N, + #[serde(rename = "L1-L2")] + L1L2, + #[serde(rename = "L2-L3")] + L2L3, + #[serde(rename = "L3-L1")] + L3L1, +} diff --git a/src/v2_1/enumerations/power_during_cessation.rs b/src/v2_1/enumerations/power_during_cessation.rs new file mode 100644 index 00000000..ba5401c2 --- /dev/null +++ b/src/v2_1/enumerations/power_during_cessation.rs @@ -0,0 +1,8 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum PowerDuringCessationEnumType { + #[default] + #[serde(rename = "Active")] + Active, + #[serde(rename = "Reactive")] + Reactive, +} diff --git a/src/v2_1/enumerations/preconditioning_status.rs b/src/v2_1/enumerations/preconditioning_status.rs new file mode 100644 index 00000000..9dad1312 --- /dev/null +++ b/src/v2_1/enumerations/preconditioning_status.rs @@ -0,0 +1,12 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum PreconditioningStatusEnumType { + #[default] + #[serde(rename = "Unknown")] + Unknown, + #[serde(rename = "Ready")] + Ready, + #[serde(rename = "NotReady")] + NotReady, + #[serde(rename = "Preconditioning")] + Preconditioning, +} diff --git a/src/v2_1/enumerations/priority_charging_status.rs b/src/v2_1/enumerations/priority_charging_status.rs new file mode 100644 index 00000000..33dbc82b --- /dev/null +++ b/src/v2_1/enumerations/priority_charging_status.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum PriorityChargingStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "NoProfile")] + NoProfile, +} diff --git a/src/v2_1/enumerations/publish_firmware_status.rs b/src/v2_1/enumerations/publish_firmware_status.rs new file mode 100644 index 00000000..caf9ce03 --- /dev/null +++ b/src/v2_1/enumerations/publish_firmware_status.rs @@ -0,0 +1,18 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum PublishFirmwareStatusEnumType { + #[default] + #[serde(rename = "Published")] + Published, + #[serde(rename = "DownloadScheduled")] + DownloadScheduled, + #[serde(rename = "InvalidChecksum")] + InvalidChecksum, + #[serde(rename = "NotDownloaded")] + NotDownloaded, + #[serde(rename = "DownloadFailed")] + DownloadFailed, + #[serde(rename = "Downloaded")] + Downloaded, + #[serde(rename = "Downloading")] + Downloading, +} diff --git a/src/v2_1/enumerations/reading_context.rs b/src/v2_1/enumerations/reading_context.rs new file mode 100644 index 00000000..c0cfa43e --- /dev/null +++ b/src/v2_1/enumerations/reading_context.rs @@ -0,0 +1,18 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum ReadingContextEnumType { + #[serde(rename = "Interruption.Begin")] + InterruptionBegin, + #[serde(rename = "Interruption.End")] + InterruptionEnd, + Other, + #[serde(rename = "Sample.Clock")] + SampleClock, + #[default] + #[serde(rename = "Sample.Periodic")] + SamplePeriodic, + #[serde(rename = "Transaction.Begin")] + TransactionBegin, + #[serde(rename = "Transaction.End")] + TransactionEnd, + Trigger, +} diff --git a/src/v2_1/enumerations/reason.rs b/src/v2_1/enumerations/reason.rs new file mode 100644 index 00000000..d0aa6929 --- /dev/null +++ b/src/v2_1/enumerations/reason.rs @@ -0,0 +1,44 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum ReasonEnumType { + #[serde(rename = "DeAuthorized")] + DeAuthorized, + #[serde(rename = "EmergencyStop")] + EmergencyStop, + #[serde(rename = "EnergyLimitReached")] + EnergyLimitReached, + #[serde(rename = "EVDisconnected")] + EVDisconnected, + #[serde(rename = "GroundFault")] + GroundFault, + #[serde(rename = "ImmediateReset")] + ImmediateReset, + #[serde(rename = "MasterPass")] + MasterPass, + #[default] + #[serde(rename = "Local")] + Local, + #[serde(rename = "LocalOutOfCredit")] + LocalOutOfCredit, + #[serde(rename = "Other")] + Other, + #[serde(rename = "OvercurrentFault")] + OvercurrentFault, + #[serde(rename = "PowerLoss")] + PowerLoss, + #[serde(rename = "PowerQuality")] + PowerQuality, + #[serde(rename = "Reboot")] + Reboot, + #[serde(rename = "Remote")] + Remote, + #[serde(rename = "SOCLimitReached")] + SOCLimitReached, + #[serde(rename = "StoppedByEV")] + StoppedByEV, + #[serde(rename = "TimeLimitReached")] + TimeLimitReached, + #[serde(rename = "Timeout")] + Timeout, + #[serde(rename = "ReqEnergyTransferRejected")] + ReqEnergyTransferRejected, +} diff --git a/src/v2_1/enumerations/recurrency_kind.rs b/src/v2_1/enumerations/recurrency_kind.rs new file mode 100644 index 00000000..dd116123 --- /dev/null +++ b/src/v2_1/enumerations/recurrency_kind.rs @@ -0,0 +1,8 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum RecurrencyKindEnumType { + #[default] + #[serde(rename = "Daily")] + Daily, + #[serde(rename = "Weekly")] + Weekly, +} diff --git a/src/v2_1/enumerations/report_base.rs b/src/v2_1/enumerations/report_base.rs new file mode 100644 index 00000000..902058e2 --- /dev/null +++ b/src/v2_1/enumerations/report_base.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum ReportBaseEnumType { + #[default] + #[serde(rename = "ConfigurationInventory")] + ConfigurationInventory, + #[serde(rename = "FullInventory")] + FullInventory, + #[serde(rename = "SummaryInventory")] + SummaryInventory, +} diff --git a/src/v2_1/enumerations/request_start_stop_status.rs b/src/v2_1/enumerations/request_start_stop_status.rs new file mode 100644 index 00000000..fffff9f9 --- /dev/null +++ b/src/v2_1/enumerations/request_start_stop_status.rs @@ -0,0 +1,8 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum RequestStartStopStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, +} diff --git a/src/v2_1/enumerations/reservation_update_status.rs b/src/v2_1/enumerations/reservation_update_status.rs new file mode 100644 index 00000000..58714675 --- /dev/null +++ b/src/v2_1/enumerations/reservation_update_status.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum ReservationUpdateStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Failed")] + Failed, + #[serde(rename = "Rejected")] + Rejected, +} diff --git a/src/v2_1/enumerations/reserve_now_status.rs b/src/v2_1/enumerations/reserve_now_status.rs new file mode 100644 index 00000000..5db3f9cc --- /dev/null +++ b/src/v2_1/enumerations/reserve_now_status.rs @@ -0,0 +1,14 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum ReserveNowStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Faulted")] + Faulted, + #[serde(rename = "Occupied")] + Occupied, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "Unavailable")] + Unavailable, +} diff --git a/src/v2_1/enumerations/reset.rs b/src/v2_1/enumerations/reset.rs new file mode 100644 index 00000000..84c88025 --- /dev/null +++ b/src/v2_1/enumerations/reset.rs @@ -0,0 +1,8 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum ResetEnumType { + #[default] + #[serde(rename = "Immediate")] + Immediate, + #[serde(rename = "OnIdle")] + OnIdle, +} diff --git a/src/v2_1/enumerations/send_local_list_status.rs b/src/v2_1/enumerations/send_local_list_status.rs new file mode 100644 index 00000000..5f9a3234 --- /dev/null +++ b/src/v2_1/enumerations/send_local_list_status.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum SendLocalListStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Failed")] + Failed, + #[serde(rename = "VersionMismatch")] + VersionMismatch, +} diff --git a/src/v2_1/enumerations/set_monitoring_status.rs b/src/v2_1/enumerations/set_monitoring_status.rs new file mode 100644 index 00000000..3b1a40ea --- /dev/null +++ b/src/v2_1/enumerations/set_monitoring_status.rs @@ -0,0 +1,16 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum SetMonitoringStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "UnknownComponent")] + UnknownComponent, + #[serde(rename = "UnknownVariable")] + UnknownVariable, + #[serde(rename = "UnsupportedMonitorType")] + UnsupportedMonitorType, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "OutOfRange")] + OutOfRange, +} diff --git a/src/v2_1/enumerations/set_network_profile_status.rs b/src/v2_1/enumerations/set_network_profile_status.rs new file mode 100644 index 00000000..a3aedcd7 --- /dev/null +++ b/src/v2_1/enumerations/set_network_profile_status.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum SetNetworkProfileStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "Failed")] + Failed, +} diff --git a/src/v2_1/enumerations/set_variable_status.rs b/src/v2_1/enumerations/set_variable_status.rs new file mode 100644 index 00000000..f5869c20 --- /dev/null +++ b/src/v2_1/enumerations/set_variable_status.rs @@ -0,0 +1,16 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum SetVariableStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "UnknownComponent")] + UnknownComponent, + #[serde(rename = "UnknownVariable")] + UnknownVariable, + #[serde(rename = "NotSupportedAttributeType")] + NotSupportedAttributeType, + #[serde(rename = "RebootRequired")] + RebootRequired, +} diff --git a/src/v2_1/enumerations/tariff_change_status.rs b/src/v2_1/enumerations/tariff_change_status.rs new file mode 100644 index 00000000..cfc6e899 --- /dev/null +++ b/src/v2_1/enumerations/tariff_change_status.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum TariffChangeStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "InvalidId")] + InvalidId, +} diff --git a/src/v2_1/enumerations/tariff_clear_status.rs b/src/v2_1/enumerations/tariff_clear_status.rs new file mode 100644 index 00000000..cbb921fd --- /dev/null +++ b/src/v2_1/enumerations/tariff_clear_status.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum TariffClearStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "InvalidId")] + InvalidId, +} diff --git a/src/v2_1/enumerations/tariff_cost.rs b/src/v2_1/enumerations/tariff_cost.rs new file mode 100644 index 00000000..65a1be87 --- /dev/null +++ b/src/v2_1/enumerations/tariff_cost.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum TariffCostEnumType { + #[default] + #[serde(rename = "Relative")] + Relative, + #[serde(rename = "Absolute")] + Absolute, + #[serde(rename = "CarbonDioxideEmission")] + CarbonDioxideEmission, +} diff --git a/src/v2_1/enumerations/tariff_get_status.rs b/src/v2_1/enumerations/tariff_get_status.rs new file mode 100644 index 00000000..e3576ca5 --- /dev/null +++ b/src/v2_1/enumerations/tariff_get_status.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum TariffGetStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "InvalidId")] + InvalidId, +} diff --git a/src/v2_1/enumerations/tariff_kind.rs b/src/v2_1/enumerations/tariff_kind.rs new file mode 100644 index 00000000..00402a21 --- /dev/null +++ b/src/v2_1/enumerations/tariff_kind.rs @@ -0,0 +1,8 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum TariffKindEnumType { + #[default] + #[serde(rename = "Charging")] + Charging, + #[serde(rename = "Parking")] + Parking, +} diff --git a/src/v2_1/enumerations/tariff_set_status.rs b/src/v2_1/enumerations/tariff_set_status.rs new file mode 100644 index 00000000..064cf2cd --- /dev/null +++ b/src/v2_1/enumerations/tariff_set_status.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum TariffSetStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "InvalidId")] + InvalidId, +} diff --git a/src/v2_1/enumerations/transaction_event.rs b/src/v2_1/enumerations/transaction_event.rs new file mode 100644 index 00000000..3e30977e --- /dev/null +++ b/src/v2_1/enumerations/transaction_event.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum TransactionEventEnumType { + #[default] + #[serde(rename = "Ended")] + Ended, + #[serde(rename = "Started")] + Started, + #[serde(rename = "Updated")] + Updated, +} diff --git a/src/v2_1/enumerations/trigger_message_status.rs b/src/v2_1/enumerations/trigger_message_status.rs new file mode 100644 index 00000000..7a529e10 --- /dev/null +++ b/src/v2_1/enumerations/trigger_message_status.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum TriggerMessageStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "NotImplemented")] + NotImplemented, +} diff --git a/src/v2_1/enumerations/trigger_reason.rs b/src/v2_1/enumerations/trigger_reason.rs new file mode 100644 index 00000000..1279cf83 --- /dev/null +++ b/src/v2_1/enumerations/trigger_reason.rs @@ -0,0 +1,46 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum TriggerReasonEnumType { + #[default] + #[serde(rename = "Authorized")] + Authorized, + #[serde(rename = "CablePluggedIn")] + CablePluggedIn, + #[serde(rename = "ChargingRateChanged")] + ChargingRateChanged, + #[serde(rename = "ChargingStateChanged")] + ChargingStateChanged, + #[serde(rename = "Deauthorized")] + Deauthorized, + #[serde(rename = "EnergyLimitReached")] + EnergyLimitReached, + #[serde(rename = "EVCommunicationLost")] + EVCommunicationLost, + #[serde(rename = "EVConnectTimeout")] + EVConnectTimeout, + #[serde(rename = "MeterValueClock")] + MeterValueClock, + #[serde(rename = "MeterValuePeriodic")] + MeterValuePeriodic, + #[serde(rename = "TimeLimitReached")] + TimeLimitReached, + #[serde(rename = "Trigger")] + Trigger, + #[serde(rename = "UnlockCommand")] + UnlockCommand, + #[serde(rename = "StopAuthorized")] + StopAuthorized, + #[serde(rename = "EVDeparted")] + EVDeparted, + #[serde(rename = "EVDetected")] + EVDetected, + #[serde(rename = "RemoteStop")] + RemoteStop, + #[serde(rename = "RemoteStart")] + RemoteStart, + #[serde(rename = "AbnormalCondition")] + AbnormalCondition, + #[serde(rename = "SignedDataReceived")] + SignedDataReceived, + #[serde(rename = "ResetCommand")] + ResetCommand, +} diff --git a/src/v2_1/enumerations/unlock_status.rs b/src/v2_1/enumerations/unlock_status.rs new file mode 100644 index 00000000..f76e4028 --- /dev/null +++ b/src/v2_1/enumerations/unlock_status.rs @@ -0,0 +1,12 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum UnlockStatusEnumType { + #[default] + #[serde(rename = "Unlocked")] + Unlocked, + #[serde(rename = "UnlockFailed")] + UnlockFailed, + #[serde(rename = "OngoingAuthorizedTransaction")] + OngoingAuthorizedTransaction, + #[serde(rename = "UnknownConnector")] + UnknownConnector, +} diff --git a/src/v2_1/enumerations/unpublish_firmware_status.rs b/src/v2_1/enumerations/unpublish_firmware_status.rs new file mode 100644 index 00000000..38ccb7e0 --- /dev/null +++ b/src/v2_1/enumerations/unpublish_firmware_status.rs @@ -0,0 +1,10 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum UnpublishFirmwareStatusEnumType { + #[default] + #[serde(rename = "DownloadOngoing")] + DownloadOngoing, + #[serde(rename = "NoFirmware")] + NoFirmware, + #[serde(rename = "Unpublished")] + Unpublished, +} diff --git a/src/v2_1/enumerations/update.rs b/src/v2_1/enumerations/update.rs new file mode 100644 index 00000000..804e7d4e --- /dev/null +++ b/src/v2_1/enumerations/update.rs @@ -0,0 +1,8 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum UpdateEnumType { + #[default] + #[serde(rename = "Differential")] + Differential, + #[serde(rename = "Full")] + Full, +} diff --git a/src/v2_1/enumerations/update_firmware_status.rs b/src/v2_1/enumerations/update_firmware_status.rs new file mode 100644 index 00000000..bcc00805 --- /dev/null +++ b/src/v2_1/enumerations/update_firmware_status.rs @@ -0,0 +1,14 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum UpdateFirmwareStatusEnumType { + #[default] + #[serde(rename = "Accepted")] + Accepted, + #[serde(rename = "Rejected")] + Rejected, + #[serde(rename = "AcceptedCanceled")] + AcceptedCanceled, + #[serde(rename = "InvalidCertificate")] + InvalidCertificate, + #[serde(rename = "RevokedCertificate")] + RevokedCertificate, +} diff --git a/src/v2_1/enumerations/upload_log_status.rs b/src/v2_1/enumerations/upload_log_status.rs new file mode 100644 index 00000000..b381241f --- /dev/null +++ b/src/v2_1/enumerations/upload_log_status.rs @@ -0,0 +1,20 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum UploadLogStatusEnumType { + #[default] + #[serde(rename = "BadMessage")] + BadMessage, + #[serde(rename = "Idle")] + Idle, + #[serde(rename = "NotSupportedOperation")] + NotSupportedOperation, + #[serde(rename = "PermissionDenied")] + PermissionDenied, + #[serde(rename = "Uploaded")] + Uploaded, + #[serde(rename = "UploadFailure")] + UploadFailure, + #[serde(rename = "Uploading")] + Uploading, + #[serde(rename = "AcceptedCanceled")] + AcceptedCanceled, +} diff --git a/src/v2_1/messages/cancel_reservation_response.rs b/src/v2_1/messages/cancel_reservation.rs similarity index 63% rename from src/v2_1/messages/cancel_reservation_response.rs rename to src/v2_1/messages/cancel_reservation.rs index 8ee08f3c..834e4670 100644 --- a/src/v2_1/messages/cancel_reservation_response.rs +++ b/src/v2_1/messages/cancel_reservation.rs @@ -1,3 +1,17 @@ +use super::super::datatypes::CustomDataType; +use serde::{Deserialize, Serialize}; + +/// Request to cancel a reservation. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct CancelReservationRequest { + /// Id of the reservation to cancel. + pub reservation_id: i32, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + use super::super::datatypes::{CustomDataType, StatusInfoType}; use super::super::enumerations::CancelReservationStatusEnumType; use serde::{Deserialize, Serialize}; diff --git a/src/v2_1/messages/cancel_reservation_request.rs b/src/v2_1/messages/cancel_reservation_request.rs deleted file mode 100644 index 09fc3a5c..00000000 --- a/src/v2_1/messages/cancel_reservation_request.rs +++ /dev/null @@ -1,13 +0,0 @@ -use super::super::datatypes::CustomDataType; -use serde::{Deserialize, Serialize}; - -/// Request to cancel a reservation. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] -pub struct CancelReservationRequest { - /// Id of the reservation to cancel. - pub reservation_id: i32, - - /// Optional custom data - #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, -} diff --git a/src/v2_1/messages/mod.rs b/src/v2_1/messages/mod.rs index 80467016..a98990eb 100644 --- a/src/v2_1/messages/mod.rs +++ b/src/v2_1/messages/mod.rs @@ -1,13 +1,13 @@ mod authorize; mod boot_notification; -mod cancel_reservation_request; +mod cancel_reservation; mod cancel_reservation_response; mod certificate_signed; pub use authorize::{ AuthorizeRequest, AuthorizeResponse, HashAlgorithmEnumType, OCSPRequestDataType, }; -pub use cancel_reservation_request::CancelReservationRequest; +pub use cancel_reservation::CancelReservationRequest; pub use cancel_reservation_response::CancelReservationResponse; pub use certificate_signed::{ CertificateSignedRequest, CertificateSignedResponse, CertificateSignedStatusEnumType, From 0167b94cc29d9727eeb882946cda11a3a31009c5 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 14:20:58 +0100 Subject: [PATCH 041/249] Add grid_even_fault --- src/v2_1/enumerations/grid_event_fault.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/v2_1/enumerations/grid_event_fault.rs diff --git a/src/v2_1/enumerations/grid_event_fault.rs b/src/v2_1/enumerations/grid_event_fault.rs new file mode 100644 index 00000000..09cee904 --- /dev/null +++ b/src/v2_1/enumerations/grid_event_fault.rs @@ -0,0 +1,15 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +pub enum GridEventFaultEnumType { + #[default] + CurrentImbalance, + LocalEmergency, + LowInputPower, + OverCurrent, + OverFrequency, + OverVoltage, + PhaseRotation, + RemoteEmergency, + UnderFrequency, + UnderVoltage, + VoltageImbalance, +} From 317c98fda1369efbeb907f7a6c97171251d0edbe Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 14:26:56 +0100 Subject: [PATCH 042/249] Fix imports --- src/v2_1/messages/cancel_reservation.rs | 3 +-- src/v2_1/messages/mod.rs | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/v2_1/messages/cancel_reservation.rs b/src/v2_1/messages/cancel_reservation.rs index 834e4670..9a6d0188 100644 --- a/src/v2_1/messages/cancel_reservation.rs +++ b/src/v2_1/messages/cancel_reservation.rs @@ -12,9 +12,8 @@ pub struct CancelReservationRequest { pub custom_data: Option, } -use super::super::datatypes::{CustomDataType, StatusInfoType}; +use super::super::datatypes::StatusInfoType; use super::super::enumerations::CancelReservationStatusEnumType; -use serde::{Deserialize, Serialize}; /// Response to a CancelReservationRequest. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] diff --git a/src/v2_1/messages/mod.rs b/src/v2_1/messages/mod.rs index a98990eb..b74d0565 100644 --- a/src/v2_1/messages/mod.rs +++ b/src/v2_1/messages/mod.rs @@ -1,14 +1,13 @@ mod authorize; mod boot_notification; mod cancel_reservation; -mod cancel_reservation_response; mod certificate_signed; +pub use crate::v2_1::messages::cancel_reservation::CancelReservationResponse; pub use authorize::{ AuthorizeRequest, AuthorizeResponse, HashAlgorithmEnumType, OCSPRequestDataType, }; pub use cancel_reservation::CancelReservationRequest; -pub use cancel_reservation_response::CancelReservationResponse; pub use certificate_signed::{ CertificateSignedRequest, CertificateSignedResponse, CertificateSignedStatusEnumType, }; From 95c75c9bb500febc7ea2fee2ccac4031b6ea7dca Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Thu, 13 Feb 2025 16:59:32 +0100 Subject: [PATCH 043/249] Add more types --- src/v2_1/datatypes/absolute_price_schedule.rs | 31 +++ src/v2_1/datatypes/ac_charging_parameters.rs | 31 +++ .../datatypes/additional_selected_services.rs | 16 ++ src/v2_1/datatypes/address.rs | 30 +++ src/v2_1/datatypes/apn.rs | 51 ++++ src/v2_1/datatypes/authorization_data.rs | 19 ++ src/v2_1/datatypes/battery_data.rs | 27 ++ src/v2_1/datatypes/certificate_hash_data.rs | 26 ++ .../datatypes/certificate_hash_data_chain.rs | 23 ++ src/v2_1/datatypes/certificate_status.rs | 25 ++ .../certificate_status_request_info.rs | 22 ++ src/v2_1/datatypes/charging_limit.rs | 24 ++ src/v2_1/datatypes/charging_needs.rs | 33 +++ src/v2_1/datatypes/charging_period.rs | 28 ++ src/v2_1/datatypes/charging_profile.rs | 57 ++++ .../datatypes/charging_profile_criterion.rs | 27 ++ src/v2_1/datatypes/charging_schedule.rs | 37 +++ .../datatypes/charging_schedule_period.rs | 47 ++++ .../datatypes/charging_schedule_update.rs | 27 ++ src/v2_1/datatypes/charging_station.rs | 36 +++ src/v2_1/datatypes/clear_charging_profile.rs | 28 ++ src/v2_1/datatypes/clear_monitoring_result.rs | 26 ++ src/v2_1/datatypes/clear_tariffs_result.rs | 30 +++ src/v2_1/datatypes/component.rs | 24 ++ src/v2_1/datatypes/component_variable.rs | 19 ++ src/v2_1/datatypes/composite_schedule.rs | 32 +++ src/v2_1/datatypes/constant_stream_data.rs | 25 ++ src/v2_1/datatypes/consumption_cost.rs | 20 ++ src/v2_1/datatypes/cost.rs | 25 ++ src/v2_1/datatypes/cost_details.rs | 35 +++ src/v2_1/datatypes/cost_dimension.rs | 19 ++ src/v2_1/datatypes/custom_data.rs | 2 +- src/v2_1/datatypes/dc_charging_parameters.rs | 41 +++ src/v2_1/datatypes/der_charging_parameters.rs | 26 ++ src/v2_1/datatypes/der_curve.rs | 54 ++++ src/v2_1/datatypes/der_curve_get.rs | 30 +++ src/v2_1/datatypes/der_curve_points.rs | 21 ++ src/v2_1/datatypes/enter_service.rs | 38 +++ src/v2_1/datatypes/enter_service_get.rs | 20 ++ .../datatypes/ev_absolute_price_schedule.rs | 31 +++ .../ev_absolute_price_schedule_entry.rs | 19 ++ src/v2_1/datatypes/ev_energy_offer.rs | 22 ++ src/v2_1/datatypes/ev_power_schedule.rs | 21 ++ src/v2_1/datatypes/ev_power_schedule_entry.rs | 19 ++ src/v2_1/datatypes/ev_price_rule.rs | 19 ++ src/v2_1/datatypes/evse.rs | 20 ++ src/v2_1/datatypes/firmware.rs | 34 +++ src/v2_1/datatypes/fixed_pf.rs | 23 ++ src/v2_1/datatypes/fixed_pf_get.rs | 23 ++ src/v2_1/datatypes/fixed_var.rs | 22 ++ src/v2_1/datatypes/fixed_var_get.rs | 23 ++ src/v2_1/datatypes/freq_droop.rs | 29 +++ src/v2_1/datatypes/freq_droop_get.rs | 23 ++ src/v2_1/datatypes/get_variable_data.rs | 24 ++ src/v2_1/datatypes/get_variable_result.rs | 40 +++ src/v2_1/datatypes/gradient.rs | 20 ++ src/v2_1/datatypes/gradient_get.rs | 23 ++ src/v2_1/datatypes/hysteresis.rs | 16 ++ src/v2_1/datatypes/id_token.rs | 35 +-- src/v2_1/datatypes/id_token_info.rs | 54 ++++ src/v2_1/datatypes/limit_at_soc.rs | 23 ++ src/v2_1/datatypes/limit_max_discharge.rs | 20 ++ src/v2_1/datatypes/limit_max_discharge_get.rs | 23 ++ src/v2_1/datatypes/log_parameters.rs | 24 ++ src/v2_1/datatypes/message_content.rs | 25 ++ src/v2_1/datatypes/message_info.rs | 51 ++++ src/v2_1/datatypes/meter_value.rs | 22 ++ src/v2_1/datatypes/mod.rs | 244 +++++++++++++++++- src/v2_1/datatypes/modem.rs | 21 ++ src/v2_1/datatypes/monitoring_data.rs | 25 ++ .../datatypes/network_connection_profile.rs | 50 ++++ src/v2_1/datatypes/ocsp_request_data.rs | 33 +++ src/v2_1/datatypes/overstay_rule.rs | 21 ++ src/v2_1/datatypes/overstay_rule_list.rs | 17 ++ .../datatypes/periodic_event_stream_params.rs | 17 ++ src/v2_1/datatypes/price.rs | 25 ++ src/v2_1/datatypes/price_level_schedule.rs | 21 ++ .../datatypes/price_level_schedule_entry.rs | 21 ++ src/v2_1/datatypes/price_rule.rs | 41 +++ src/v2_1/datatypes/price_rule_stack.rs | 21 ++ src/v2_1/datatypes/rational_number.rs | 19 ++ src/v2_1/datatypes/reactive_power_params.rs | 19 ++ src/v2_1/datatypes/relative_time_interval.rs | 19 ++ src/v2_1/datatypes/report_data.rs | 29 +++ src/v2_1/datatypes/sales_tariff.rs | 30 +++ src/v2_1/datatypes/sales_tariff_entry.rs | 28 ++ src/v2_1/datatypes/sampled_value.rs | 39 +++ src/v2_1/datatypes/set_monitoring_data.rs | 30 +++ src/v2_1/datatypes/set_monitoring_result.rs | 34 +++ src/v2_1/datatypes/set_variable_data.rs | 28 ++ src/v2_1/datatypes/set_variable_result.rs | 35 +++ src/v2_1/datatypes/signed_meter_value.rs | 29 +++ src/v2_1/datatypes/status_info.rs | 22 +- src/v2_1/datatypes/stream_data_element.rs | 24 ++ src/v2_1/datatypes/tariff.rs | 50 ++++ src/v2_1/datatypes/tariff_assignment.rs | 24 ++ src/v2_1/datatypes/tariff_conditions.rs | 37 +++ src/v2_1/datatypes/tariff_conditions_fixed.rs | 24 ++ src/v2_1/datatypes/tariff_energy.rs | 24 ++ src/v2_1/datatypes/tariff_energy_price.rs | 24 ++ src/v2_1/datatypes/tariff_fixed.rs | 16 ++ src/v2_1/datatypes/tariff_fixed_price.rs | 24 ++ src/v2_1/datatypes/tariff_time.rs | 24 ++ src/v2_1/datatypes/tariff_time_price.rs | 24 ++ src/v2_1/datatypes/tax_rate.rs | 20 ++ src/v2_1/datatypes/tax_rule.rs | 26 ++ src/v2_1/datatypes/total_cost.rs | 59 +++++ src/v2_1/datatypes/total_price.rs | 24 ++ src/v2_1/datatypes/total_usage.rs | 24 ++ src/v2_1/datatypes/transaction.rs | 39 +++ src/v2_1/datatypes/transaction_limit.rs | 21 ++ src/v2_1/datatypes/unit_of_measure.rs | 25 ++ src/v2_1/datatypes/v2x_charging_parameters.rs | 34 +++ src/v2_1/datatypes/v2x_freq_watt_point.rs | 19 ++ src/v2_1/datatypes/v2x_signal_watt_point.rs | 20 ++ src/v2_1/datatypes/variable.rs | 26 +- src/v2_1/datatypes/variable_attribute.rs | 36 +++ .../datatypes/variable_characteristics.rs | 37 ++- src/v2_1/datatypes/variable_monitoring.rs | 27 ++ src/v2_1/datatypes/voltage_params.rs | 25 ++ src/v2_1/datatypes/vpn.rs | 33 +++ src/v2_1/enumerations/der_control.rs | 4 +- src/v2_1/enumerations/der_unit.rs | 4 +- src/v2_1/enumerations/mod.rs | 206 ++++++++------- src/v2_1/enumerations/tariff_cost.rs | 18 +- src/v2_1/messages/authorize.rs | 2 +- 126 files changed, 3620 insertions(+), 182 deletions(-) create mode 100644 src/v2_1/datatypes/absolute_price_schedule.rs create mode 100644 src/v2_1/datatypes/ac_charging_parameters.rs create mode 100644 src/v2_1/datatypes/additional_selected_services.rs create mode 100644 src/v2_1/datatypes/address.rs create mode 100644 src/v2_1/datatypes/apn.rs create mode 100644 src/v2_1/datatypes/authorization_data.rs create mode 100644 src/v2_1/datatypes/battery_data.rs create mode 100644 src/v2_1/datatypes/certificate_hash_data.rs create mode 100644 src/v2_1/datatypes/certificate_hash_data_chain.rs create mode 100644 src/v2_1/datatypes/certificate_status.rs create mode 100644 src/v2_1/datatypes/certificate_status_request_info.rs create mode 100644 src/v2_1/datatypes/charging_limit.rs create mode 100644 src/v2_1/datatypes/charging_needs.rs create mode 100644 src/v2_1/datatypes/charging_period.rs create mode 100644 src/v2_1/datatypes/charging_profile.rs create mode 100644 src/v2_1/datatypes/charging_profile_criterion.rs create mode 100644 src/v2_1/datatypes/charging_schedule.rs create mode 100644 src/v2_1/datatypes/charging_schedule_period.rs create mode 100644 src/v2_1/datatypes/charging_schedule_update.rs create mode 100644 src/v2_1/datatypes/charging_station.rs create mode 100644 src/v2_1/datatypes/clear_charging_profile.rs create mode 100644 src/v2_1/datatypes/clear_monitoring_result.rs create mode 100644 src/v2_1/datatypes/clear_tariffs_result.rs create mode 100644 src/v2_1/datatypes/component.rs create mode 100644 src/v2_1/datatypes/component_variable.rs create mode 100644 src/v2_1/datatypes/composite_schedule.rs create mode 100644 src/v2_1/datatypes/constant_stream_data.rs create mode 100644 src/v2_1/datatypes/consumption_cost.rs create mode 100644 src/v2_1/datatypes/cost.rs create mode 100644 src/v2_1/datatypes/cost_details.rs create mode 100644 src/v2_1/datatypes/cost_dimension.rs create mode 100644 src/v2_1/datatypes/dc_charging_parameters.rs create mode 100644 src/v2_1/datatypes/der_charging_parameters.rs create mode 100644 src/v2_1/datatypes/der_curve.rs create mode 100644 src/v2_1/datatypes/der_curve_get.rs create mode 100644 src/v2_1/datatypes/der_curve_points.rs create mode 100644 src/v2_1/datatypes/enter_service.rs create mode 100644 src/v2_1/datatypes/enter_service_get.rs create mode 100644 src/v2_1/datatypes/ev_absolute_price_schedule.rs create mode 100644 src/v2_1/datatypes/ev_absolute_price_schedule_entry.rs create mode 100644 src/v2_1/datatypes/ev_energy_offer.rs create mode 100644 src/v2_1/datatypes/ev_power_schedule.rs create mode 100644 src/v2_1/datatypes/ev_power_schedule_entry.rs create mode 100644 src/v2_1/datatypes/ev_price_rule.rs create mode 100644 src/v2_1/datatypes/evse.rs create mode 100644 src/v2_1/datatypes/firmware.rs create mode 100644 src/v2_1/datatypes/fixed_pf.rs create mode 100644 src/v2_1/datatypes/fixed_pf_get.rs create mode 100644 src/v2_1/datatypes/fixed_var.rs create mode 100644 src/v2_1/datatypes/fixed_var_get.rs create mode 100644 src/v2_1/datatypes/freq_droop.rs create mode 100644 src/v2_1/datatypes/freq_droop_get.rs create mode 100644 src/v2_1/datatypes/get_variable_data.rs create mode 100644 src/v2_1/datatypes/get_variable_result.rs create mode 100644 src/v2_1/datatypes/gradient.rs create mode 100644 src/v2_1/datatypes/gradient_get.rs create mode 100644 src/v2_1/datatypes/hysteresis.rs create mode 100644 src/v2_1/datatypes/id_token_info.rs create mode 100644 src/v2_1/datatypes/limit_at_soc.rs create mode 100644 src/v2_1/datatypes/limit_max_discharge.rs create mode 100644 src/v2_1/datatypes/limit_max_discharge_get.rs create mode 100644 src/v2_1/datatypes/log_parameters.rs create mode 100644 src/v2_1/datatypes/message_content.rs create mode 100644 src/v2_1/datatypes/message_info.rs create mode 100644 src/v2_1/datatypes/meter_value.rs create mode 100644 src/v2_1/datatypes/modem.rs create mode 100644 src/v2_1/datatypes/monitoring_data.rs create mode 100644 src/v2_1/datatypes/network_connection_profile.rs create mode 100644 src/v2_1/datatypes/ocsp_request_data.rs create mode 100644 src/v2_1/datatypes/overstay_rule.rs create mode 100644 src/v2_1/datatypes/overstay_rule_list.rs create mode 100644 src/v2_1/datatypes/periodic_event_stream_params.rs create mode 100644 src/v2_1/datatypes/price.rs create mode 100644 src/v2_1/datatypes/price_level_schedule.rs create mode 100644 src/v2_1/datatypes/price_level_schedule_entry.rs create mode 100644 src/v2_1/datatypes/price_rule.rs create mode 100644 src/v2_1/datatypes/price_rule_stack.rs create mode 100644 src/v2_1/datatypes/rational_number.rs create mode 100644 src/v2_1/datatypes/reactive_power_params.rs create mode 100644 src/v2_1/datatypes/relative_time_interval.rs create mode 100644 src/v2_1/datatypes/report_data.rs create mode 100644 src/v2_1/datatypes/sales_tariff.rs create mode 100644 src/v2_1/datatypes/sales_tariff_entry.rs create mode 100644 src/v2_1/datatypes/sampled_value.rs create mode 100644 src/v2_1/datatypes/set_monitoring_data.rs create mode 100644 src/v2_1/datatypes/set_monitoring_result.rs create mode 100644 src/v2_1/datatypes/set_variable_data.rs create mode 100644 src/v2_1/datatypes/set_variable_result.rs create mode 100644 src/v2_1/datatypes/signed_meter_value.rs create mode 100644 src/v2_1/datatypes/stream_data_element.rs create mode 100644 src/v2_1/datatypes/tariff.rs create mode 100644 src/v2_1/datatypes/tariff_assignment.rs create mode 100644 src/v2_1/datatypes/tariff_conditions.rs create mode 100644 src/v2_1/datatypes/tariff_conditions_fixed.rs create mode 100644 src/v2_1/datatypes/tariff_energy.rs create mode 100644 src/v2_1/datatypes/tariff_energy_price.rs create mode 100644 src/v2_1/datatypes/tariff_fixed.rs create mode 100644 src/v2_1/datatypes/tariff_fixed_price.rs create mode 100644 src/v2_1/datatypes/tariff_time.rs create mode 100644 src/v2_1/datatypes/tariff_time_price.rs create mode 100644 src/v2_1/datatypes/tax_rate.rs create mode 100644 src/v2_1/datatypes/tax_rule.rs create mode 100644 src/v2_1/datatypes/total_cost.rs create mode 100644 src/v2_1/datatypes/total_price.rs create mode 100644 src/v2_1/datatypes/total_usage.rs create mode 100644 src/v2_1/datatypes/transaction.rs create mode 100644 src/v2_1/datatypes/transaction_limit.rs create mode 100644 src/v2_1/datatypes/unit_of_measure.rs create mode 100644 src/v2_1/datatypes/v2x_charging_parameters.rs create mode 100644 src/v2_1/datatypes/v2x_freq_watt_point.rs create mode 100644 src/v2_1/datatypes/v2x_signal_watt_point.rs create mode 100644 src/v2_1/datatypes/variable_attribute.rs create mode 100644 src/v2_1/datatypes/variable_monitoring.rs create mode 100644 src/v2_1/datatypes/voltage_params.rs create mode 100644 src/v2_1/datatypes/vpn.rs diff --git a/src/v2_1/datatypes/absolute_price_schedule.rs b/src/v2_1/datatypes/absolute_price_schedule.rs new file mode 100644 index 00000000..4d84480f --- /dev/null +++ b/src/v2_1/datatypes/absolute_price_schedule.rs @@ -0,0 +1,31 @@ +use crate::v2_1::datatypes::custom_data::CustomDataType; +use serde::{Deserialize, Serialize}; + +/// The AbsolutePriceScheduleType is modeled after the same type that is defined in ISO 15118-20, +/// such that if it is supplied by an EMSP as a signed EXI message, the conversion from EXI to JSON +/// (in OCPP) and back to EXI (for ISO 15118-20) does not change the digest and therefore does not +/// invalidate the signature. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct AbsolutePriceScheduleType { + /// Starting point of price schedule. + pub time_anchor: String, // date-time format + + /// Unique ID of price schedule + #[serde(rename = "priceScheduleID")] + pub price_schedule_id: i32, + + /// Description of the price schedule. + #[serde(rename = "priceScheduleDescription")] + pub price_schedule_description: Option, + + /// Currency according to ISO 4217. + pub currency: Option, + + /// String that indicates what language is used for the human readable strings in the price schedule. + /// Based on ISO 639. + pub language: Option, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/ac_charging_parameters.rs b/src/v2_1/datatypes/ac_charging_parameters.rs new file mode 100644 index 00000000..20b9585c --- /dev/null +++ b/src/v2_1/datatypes/ac_charging_parameters.rs @@ -0,0 +1,31 @@ +use crate::v2_1::datatypes::custom_data::CustomDataType; +use serde::{Deserialize, Serialize}; + +/// EV AC charging parameters for ISO 15118-2 +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct ACChargingParametersType { + /// Amount of energy requested (in Wh). This includes energy required for preconditioning. + /// Relates to: + /// *ISO 15118-2*: AC_EVChargeParameterType: EAmount + /// *ISO 15118-20*: Dynamic/Scheduled_SEReqControlModeType: EVTargetEnergyRequest + pub energy_amount: f64, + + /// Minimum current (amps) supported by the electric vehicle (per phase). + /// Relates to: + /// *ISO 15118-2*: AC_EVChargeParameterType: EVMinCurrent + pub ev_min_current: f64, + + /// Maximum current (amps) supported by the electric vehicle (per phase). Includes cable capacity. + /// Relates to: + /// *ISO 15118-2*: AC_EVChargeParameterType: EVMaxCurrent + pub ev_max_current: f64, + + /// Maximum voltage supported by the electric vehicle. + /// Relates to: + /// *ISO 15118-2*: AC_EVChargeParameterType: EVMaxVoltage + pub ev_max_voltage: f64, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/additional_selected_services.rs b/src/v2_1/datatypes/additional_selected_services.rs new file mode 100644 index 00000000..9f9ff035 --- /dev/null +++ b/src/v2_1/datatypes/additional_selected_services.rs @@ -0,0 +1,16 @@ +use crate::v2_1::datatypes::{custom_data::CustomDataType, rational_number::RationalNumberType}; +use serde::{Deserialize, Serialize}; + +/// Part of ISO 15118-20 price schedule. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct AdditionalSelectedServicesType { + /// Service fee + pub service_fee: RationalNumberType, + + /// Human-readable string to identify this service. + pub service_name: String, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/address.rs b/src/v2_1/datatypes/address.rs new file mode 100644 index 00000000..dafa47f2 --- /dev/null +++ b/src/v2_1/datatypes/address.rs @@ -0,0 +1,30 @@ +use crate::v2_1::datatypes::custom_data::CustomDataType; +use serde::{Deserialize, Serialize}; + +/// A generic address format. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct AddressType { + /// Name of person/company + pub name: String, + + /// Address line 1 + pub address1: String, + + /// Address line 2 + #[serde(skip_serializing_if = "Option::is_none")] + pub address2: Option, + + /// City + pub city: String, + + /// Postal code + #[serde(skip_serializing_if = "Option::is_none")] + pub postal_code: Option, + + /// Country name + pub country: String, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/apn.rs b/src/v2_1/datatypes/apn.rs new file mode 100644 index 00000000..b51eeb3f --- /dev/null +++ b/src/v2_1/datatypes/apn.rs @@ -0,0 +1,51 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; +use crate::v2_1::enumerations::APNAuthenticationEnumType; + +/// Collection of configuration data needed to make a data-connection over a cellular network. +/// +/// NOTE: When asking a GSM modem to dial in, it is possible to specify which mobile operator should be used. +/// This can be done with the mobile country code (MCC) in combination with a mobile network code (MNC). +/// Example: If your preferred network is Vodafone Netherlands, the MCC=204 and the MNC=04 which means +/// the key PreferredNetwork = 20404 Some modems allows to specify a preferred network, which means, +/// if this network is not available, a different network is used. If you specify UseOnlyPreferredNetwork +/// and this network is not available, the modem will not dial in. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct APNType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The Access Point Name as an URL. + #[validate(length(max = 2000))] + pub apn: String, + + /// APN username. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 50))] + pub apn_user_name: Option, + + /// APN Password. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 64))] + pub apn_password: Option, + + /// SIM card pin code. + #[serde(skip_serializing_if = "Option::is_none")] + pub sim_pin: Option, + + /// Preferred network, written as MCC and MNC concatenated. See note. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 6))] + pub preferred_network: Option, + + /// Default: false. Use only the preferred Network, do not dial in when not available. See Note. + #[serde(skip_serializing_if = "Option::is_none")] + pub use_only_preferred_network: Option, + + /// Required. Authentication method. + pub apn_authentication: APNAuthenticationEnumType, +} diff --git a/src/v2_1/datatypes/authorization_data.rs b/src/v2_1/datatypes/authorization_data.rs new file mode 100644 index 00000000..c91bbaea --- /dev/null +++ b/src/v2_1/datatypes/authorization_data.rs @@ -0,0 +1,19 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, id_token::IdTokenType, id_token_info::IdTokenInfoType}; + +/// Contains the identifier to use for authorization. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct AuthorizationData { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The identifier to be authorized. + pub id_token: IdTokenType, + + /// Required. Status information about the identifier. + pub id_token_info: IdTokenInfoType, +} diff --git a/src/v2_1/datatypes/battery_data.rs b/src/v2_1/datatypes/battery_data.rs new file mode 100644 index 00000000..77fb0bc5 --- /dev/null +++ b/src/v2_1/datatypes/battery_data.rs @@ -0,0 +1,27 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Contains EV battery parameters. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct BatteryDataType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Battery level at the start of charging as percentage of the battery capacity. + #[validate(range(min = 0.0, max = 100.0))] + pub charging_start_soc: f64, + + /// Required. Battery level at the end of charging as percentage of the battery capacity. + #[validate(range(min = 0.0, max = 100.0))] + pub charging_end_soc: f64, + + /// Required. Battery capacity in kWh. + pub battery_capacity: f64, + + /// Required. Battery energy capacity that can be recharged, in kWh. + pub rechargeable_energy_capacity: f64, +} diff --git a/src/v2_1/datatypes/certificate_hash_data.rs b/src/v2_1/datatypes/certificate_hash_data.rs new file mode 100644 index 00000000..79ad8c2d --- /dev/null +++ b/src/v2_1/datatypes/certificate_hash_data.rs @@ -0,0 +1,26 @@ +use crate::v2_1::datatypes::custom_data::CustomDataType; +use crate::v2_1::enumerations::HashAlgorithmEnumType; +use serde::{Deserialize, Serialize}; + +/// Certificate hash data for validating certificates through OCSP. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct CertificateHashDataType { + /// Used algorithms for the hashes provided. + pub hash_algorithm: HashAlgorithmEnumType, + + /// The hash of the issuer's distinguished name (DN), that must be calculated over the DER + /// encoding of the issuer's name field in the certificate being checked. + pub issuer_name_hash: String, + + /// The hash of the DER encoded public key: the value (excluding tag and length) of the subject + /// public key field in the issuer's certificate. + pub issuer_key_hash: String, + + /// The string representation of the hexadecimal value of the serial number without the + /// prefix "0x" and without leading zeroes. + pub serial_number: String, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/certificate_hash_data_chain.rs b/src/v2_1/datatypes/certificate_hash_data_chain.rs new file mode 100644 index 00000000..20cc440d --- /dev/null +++ b/src/v2_1/datatypes/certificate_hash_data_chain.rs @@ -0,0 +1,23 @@ +use crate::v2_1::datatypes::{ + certificate_hash_data::CertificateHashDataType, custom_data::CustomDataType, +}; +use crate::v2_1::enumerations::get_certificate_id_use::GetCertificateIdUseEnumType; +use serde::{Deserialize, Serialize}; + +/// Certificate hash data chain for validating certificates through OCSP. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct CertificateHashDataChainType { + /// Information to identify a certificate + pub certificate_hash_data: CertificateHashDataType, + + /// Indicates the type of the requested certificate(s). + pub certificate_type: GetCertificateIdUseEnumType, + + /// Information to identify the child certificate(s). + #[serde(skip_serializing_if = "Option::is_none")] + pub child_certificate_hash_data: Option>, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/certificate_status.rs b/src/v2_1/datatypes/certificate_status.rs new file mode 100644 index 00000000..69500d4b --- /dev/null +++ b/src/v2_1/datatypes/certificate_status.rs @@ -0,0 +1,25 @@ +use crate::v2_1::datatypes::{ + certificate_hash_data::CertificateHashDataType, custom_data::CustomDataType, +}; +use crate::v2_1::enumerations::{CertificateStatusEnumType, CertificateStatusSourceEnumType}; +use serde::{Deserialize, Serialize}; + +/// Revocation status of certificate +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct CertificateStatusType { + /// Certificate hash data needed for validating certificates through OCSP. + pub certificate_hash_data: CertificateHashDataType, + + /// Source of status: OCSP, CRL + pub source: CertificateStatusSourceEnumType, + + /// Status of certificate: good, revoked or unknown. + pub status: CertificateStatusEnumType, + + /// The date and time at which the next update of the certificate status MAY be expected. + pub next_update: String, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/certificate_status_request_info.rs b/src/v2_1/datatypes/certificate_status_request_info.rs new file mode 100644 index 00000000..eaba4ab9 --- /dev/null +++ b/src/v2_1/datatypes/certificate_status_request_info.rs @@ -0,0 +1,22 @@ +use crate::v2_1::datatypes::{ + certificate_hash_data::CertificateHashDataType, custom_data::CustomDataType, +}; +use crate::v2_1::enumerations::CertificateStatusSourceEnumType; +use serde::{Deserialize, Serialize}; + +/// Data necessary to request the revocation status of a certificate. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct CertificateStatusRequestInfoType { + /// Certificate hash data needed for validating certificates through OCSP. + pub certificate_hash_data: CertificateHashDataType, + + /// Source of status: OCSP, CRL + pub source: CertificateStatusSourceEnumType, + + /// URL(s) of _source_. + pub urls: Vec, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/charging_limit.rs b/src/v2_1/datatypes/charging_limit.rs new file mode 100644 index 00000000..10273305 --- /dev/null +++ b/src/v2_1/datatypes/charging_limit.rs @@ -0,0 +1,24 @@ +use crate::v2_1::{ + datatypes::custom_data::CustomDataType, enumerations::ChargingLimitSourceEnumType, +}; +use serde::{Deserialize, Serialize}; + +/// Represents a charging limit for a charging session. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct ChargingLimitType { + /// Represents the source of the charging limit. + pub charging_limit_source: ChargingLimitSourceEnumType, + + /// True when the reported limit concerns local generation that is providing extra capacity, instead of a limitation. + #[serde(skip_serializing_if = "Option::is_none")] + pub is_local_generation: Option, + + /// Indicates whether the charging limit is critical for the grid. + #[serde(skip_serializing_if = "Option::is_none")] + pub is_grid_critical: Option, + + /// Custom data specific to this charging limit. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/charging_needs.rs b/src/v2_1/datatypes/charging_needs.rs new file mode 100644 index 00000000..68362e90 --- /dev/null +++ b/src/v2_1/datatypes/charging_needs.rs @@ -0,0 +1,33 @@ +use crate::v2_1::{ + datatypes::{ + ac_charging_parameters::ACChargingParametersType, custom_data::CustomDataType, + dc_charging_parameters::DCChargingParametersType, + }, + enumerations::EnergyTransferModeEnumType, +}; +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; + +/// Represents the charging needs of an EV. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct ChargingNeedsType { + /// Mode of energy transfer requested by the EV. + pub requested_energy_transfer: EnergyTransferModeEnumType, + + /// Estimated departure time of the EV. + #[serde(skip_serializing_if = "Option::is_none")] + pub departure_time: Option>, + + /// EV AC charging parameters. + #[serde(skip_serializing_if = "Option::is_none")] + pub ac_charging_parameters: Option, + + /// EV DC charging parameters + #[serde(skip_serializing_if = "Option::is_none")] + pub dc_charging_parameters: Option, + + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/charging_period.rs b/src/v2_1/datatypes/charging_period.rs new file mode 100644 index 00000000..1a97b309 --- /dev/null +++ b/src/v2_1/datatypes/charging_period.rs @@ -0,0 +1,28 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{cost_dimension::CostDimensionType, custom_data::CustomDataType}; + +/// A ChargingPeriodType consists of a start time, and a list of possible values that influence this period, +/// for example: amount of energy charged this period, maximum current during this period etc. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ChargingPeriodType { + /// Start timestamp of charging period. A period ends when the next period starts. + /// The last period ends when the session ends. + pub start_period: DateTime, + + /// List of dimensions that influence this period. + pub dimensions: Vec, + + /// Unique identifier of the Tariff that was used to calculate cost. + /// If not provided, then cost was calculated by some other means. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 60))] + pub tariff_id: Option, + + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/charging_profile.rs b/src/v2_1/datatypes/charging_profile.rs new file mode 100644 index 00000000..9ed1c884 --- /dev/null +++ b/src/v2_1/datatypes/charging_profile.rs @@ -0,0 +1,57 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{charging_schedule::ChargingScheduleType, CustomDataType}, + enumerations::{ + ChargingProfileKindEnumType, ChargingProfilePurposeEnumType, RecurrencyKindEnumType, + }, +}; + +/// A ChargingProfile consists of 1 to 3 ChargingSchedules with a list of ChargingSchedulePeriods, +/// describing the amount of power or current that can be delivered per time interval. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ChargingProfileType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Id of ChargingProfile. Unique within charging station. Id can have a negative value. + /// This is useful to distinguish charging profiles from an external actor (external constraints) + /// from charging profiles received from CSMS. + pub id: i32, + + /// Value determining level in hierarchy stack of profiles. Higher values have precedence over lower values. + /// Lowest level is 0. + pub stack_level: i32, + + /// Defines the purpose of the schedule transferred by this profile + pub charging_profile_purpose: ChargingProfilePurposeEnumType, + + /// Indicates the kind of schedule. + pub charging_profile_kind: ChargingProfileKindEnumType, + + /// Indicates the start point of a recurrence. + #[serde(skip_serializing_if = "Option::is_none")] + pub recurrency_kind: Option, + + /// Point in time at which the profile starts to be valid. + /// If absent, the profile is valid as soon as it is received by the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub valid_from: Option>, + + /// Point in time at which the profile stops to be valid. + /// If absent, the profile is valid until it is replaced by another profile. + #[serde(skip_serializing_if = "Option::is_none")] + pub valid_to: Option>, + + /// Contains limits for the available power or current over time. + pub charging_schedule: Vec, + + /// SHALL only be included if ChargingProfilePurpose is set to TxProfile. + /// The transactionId is used to match the profile to a specific transaction. + #[serde(skip_serializing_if = "Option::is_none")] + pub transaction_id: Option, +} diff --git a/src/v2_1/datatypes/charging_profile_criterion.rs b/src/v2_1/datatypes/charging_profile_criterion.rs new file mode 100644 index 00000000..084d90d6 --- /dev/null +++ b/src/v2_1/datatypes/charging_profile_criterion.rs @@ -0,0 +1,27 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{datatypes::CustomDataType, enumerations::ChargingProfilePurposeEnumType}; + +/// A ChargingProfileCriterionType is a filter for charging profiles to be selected by a GetChargingProfilesRequest. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ChargingProfileCriterionType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Defines the purpose of the schedule transferred by this profile + #[serde(skip_serializing_if = "Option::is_none")] + pub charging_profile_purpose: Option, + + /// Value determining level in hierarchy stack of profiles. Higher values have precedence over lower values. Lowest level is 0. + #[serde(skip_serializing_if = "Option::is_none")] + pub stack_level: Option, + + /// List of all the chargingProfileIds requested. Any ChargingProfile that matches one of these profiles will be reported. + /// If omitted, the Charging Station SHALL not filter on chargingProfileId. + /// This field SHALL NOT contain more ids than set in ChargingProfileEntries.maxLimit + #[serde(skip_serializing_if = "Option::is_none")] + pub charging_profile_id: Option>, +} diff --git a/src/v2_1/datatypes/charging_schedule.rs b/src/v2_1/datatypes/charging_schedule.rs new file mode 100644 index 00000000..f17c1fd0 --- /dev/null +++ b/src/v2_1/datatypes/charging_schedule.rs @@ -0,0 +1,37 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{charging_schedule_period::ChargingSchedulePeriodType, CustomDataType}, + enumerations::ChargingRateUnitEnumType, +}; + +/// Charging schedule structure defines a list of charging periods, as used in: NotifyEVChargingScheduleRequest and ChargingProfileType. +/// When used in a NotifyEVChargingScheduleRequest only duration and chargingSchedulePeriod are relevant and chargingRateUnit must be 'W'. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ChargingScheduleType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Identifies the ChargingSchedule. + pub id: i32, + + /// Starting point of an absolute schedule or recurring schedule. + #[serde(skip_serializing_if = "Option::is_none")] + pub start_schedule: Option>, + + /// Duration of the charging schedule in seconds. + /// If the duration is left empty, the last period will continue indefinitely or until end of the transaction + /// in case startSchedule is absent. + #[serde(skip_serializing_if = "Option::is_none")] + pub duration: Option, + + /// The unit of measure in which limits and setpoints are expressed. + pub charging_rate_unit: ChargingRateUnitEnumType, + + /// List of charging periods describing the amount of power or current that can be delivered per time interval. + pub charging_schedule_period: Vec, +} diff --git a/src/v2_1/datatypes/charging_schedule_period.rs b/src/v2_1/datatypes/charging_schedule_period.rs new file mode 100644 index 00000000..17e21370 --- /dev/null +++ b/src/v2_1/datatypes/charging_schedule_period.rs @@ -0,0 +1,47 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::CustomDataType; + +/// Charging schedule period structure defines a time period in a charging schedule. +/// It is used in: CompositeScheduleType and in ChargingScheduleType. +/// When used in a NotifyEVChargingScheduleRequest only startPeriod, limit, limit_L2, limit_L3 are relevant. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ChargingSchedulePeriodType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Start of the period, in seconds from the start of schedule. + /// The value of StartPeriod also defines the stop time of the previous period. + pub start_period: i32, + + /// Optional only when not required by the operationMode, as in CentralSetpoint, ExternalSetpoint, + /// ExternalLimits, LocalFrequency, LocalLoadBalancing. + /// Charging rate limit during the schedule period, in the applicable chargingRateUnit. + /// This SHOULD be a non-negative value; a negative value is only supported for backwards compatibility + /// with older systems that use a negative value to specify a discharging limit. + /// When using chargingRateUnit = 'W', this field represents the sum of the power of all phases, + /// unless values are provided for L2 and L3, in which case this field represents phase L1. + pub limit: f64, + + /// Charging rate limit on phase L2 in the applicable chargingRateUnit. + #[serde(skip_serializing_if = "Option::is_none")] + pub limit_l2: Option, + + /// Charging rate limit on phase L3 in the applicable chargingRateUnit. + #[serde(skip_serializing_if = "Option::is_none")] + pub limit_l3: Option, + + /// The number of phases that can be used for charging. + /// If a number of phases is needed, numberPhases=3 will be assumed unless another number is given. + #[serde(skip_serializing_if = "Option::is_none")] + pub number_phases: Option, + + /// Values: 1..3, Used if numberPhases=1 and if the EVSE is capable of switching the phase connected to the EV, + /// i.e. ACPhaseSwitchingSupported is defined and true. It's not allowed unless both conditions above are true. + /// If both conditions are true, and phaseToUse is omitted, the Charging Station / EVSE will make the selection on its own. + #[serde(skip_serializing_if = "Option::is_none")] + pub phase_to_use: Option, +} diff --git a/src/v2_1/datatypes/charging_schedule_update.rs b/src/v2_1/datatypes/charging_schedule_update.rs new file mode 100644 index 00000000..71842ef6 --- /dev/null +++ b/src/v2_1/datatypes/charging_schedule_update.rs @@ -0,0 +1,27 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Updates to a ChargingSchedulePeriodType for dynamic charging profiles. +#[derive(Clone, Debug, Deserialize, Hash, PartialEq, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ChargingScheduleUpdateType { + /// Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + /// Optional only when not required by the _operationMode_, as in CentralSetpoint, ExternalSetpoint, ExternalLimits, LocalFrequency, LocalLoadBalancing. + /// Charging rate limit during the schedule period, in the applicable _chargingRateUnit_. + /// This SHOULD be a non-negative value; a negative value is only supported for backwards compatibility with older systems that use a negative value to specify a discharging limit. + /// For AC this field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1. + #[serde(skip_serializing_if = "Option::is_none")] + pub limit: Option, + + /// *(2.1)* Charging rate limit on phase L2 in the applicable _chargingRateUnit_. + #[serde(skip_serializing_if = "Option::is_none")] + pub limit_l2: Option, + + /// *(2.1)* Charging rate limit on phase L3 in the applicable _chargingRateUnit_. + #[serde(skip_serializing_if = "Option::is_none")] + pub limit_l3: Option, +} diff --git a/src/v2_1/datatypes/charging_station.rs b/src/v2_1/datatypes/charging_station.rs new file mode 100644 index 00000000..87eca7d5 --- /dev/null +++ b/src/v2_1/datatypes/charging_station.rs @@ -0,0 +1,36 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; +use super::modem::ModemType; + +/// The physical system where an Electrical Vehicle (EV) can be charged. +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ChargingStationType { + /// Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Vendor-specific device identifier. + #[validate(length(max = 25))] + #[serde(skip_serializing_if = "Option::is_none")] + pub serial_number: Option, + + /// Required. Defines the model of the device. + #[validate(length(max = 20))] + pub model: String, + + /// Required. Identifies the vendor (not necessarily in a unique manner). + #[validate(length(max = 50))] + pub vendor_name: String, + + /// This contains the firmware version of the Charging Station. + #[validate(length(max = 50))] + #[serde(skip_serializing_if = "Option::is_none")] + pub firmware_version: Option, + + /// Defines parameters required for initiating and maintaining wireless communication with other devices. + #[serde(skip_serializing_if = "Option::is_none")] + pub modem: Option, +} diff --git a/src/v2_1/datatypes/clear_charging_profile.rs b/src/v2_1/datatypes/clear_charging_profile.rs new file mode 100644 index 00000000..17bae9d6 --- /dev/null +++ b/src/v2_1/datatypes/clear_charging_profile.rs @@ -0,0 +1,28 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; +use crate::v2_1::enumerations::ChargingProfilePurposeEnumType; + +/// A ClearChargingProfileType is a filter for charging profiles to be cleared by ClearChargingProfileRequest. +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearChargingProfileType { + /// Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Specifies the id of the EVSE for which to clear charging profiles. An evseId of zero (0) specifies the charging profile for the overall Charging Station. Absence of this parameter means the clearing applies to all charging profiles that match the other criteria in the request. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub evse_id: Option, + + /// Specifies to purpose of the charging profiles that will be cleared, if they meet the other criteria in the request. + #[serde(skip_serializing_if = "Option::is_none")] + pub charging_profile_purpose: Option, + + /// Specifies the stackLevel for which charging profiles will be cleared, if they meet the other criteria in the request. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub stack_level: Option, +} diff --git a/src/v2_1/datatypes/clear_monitoring_result.rs b/src/v2_1/datatypes/clear_monitoring_result.rs new file mode 100644 index 00000000..12c1d7b5 --- /dev/null +++ b/src/v2_1/datatypes/clear_monitoring_result.rs @@ -0,0 +1,26 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; +use super::status_info::StatusInfoType; +use crate::v2_1::enumerations::ClearMonitoringStatusEnumType; + +/// Result of the clear request for this monitor, identified by its Id. +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearMonitoringResultType { + /// Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Result of the clear request for this monitor, identified by its Id. + pub status: ClearMonitoringStatusEnumType, + + /// Required. Id of the monitor of which a clear was requested. + #[validate(range(min = 0))] + pub id: i32, + + /// Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/datatypes/clear_tariffs_result.rs b/src/v2_1/datatypes/clear_tariffs_result.rs new file mode 100644 index 00000000..51b17e28 --- /dev/null +++ b/src/v2_1/datatypes/clear_tariffs_result.rs @@ -0,0 +1,30 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, status_info::StatusInfoType}; + +/// Status of operation +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)] +pub enum TariffClearStatusEnumType { + Accepted, + Rejected, + NoTariff, +} + +/// Result of clearing a tariff. +#[derive(Debug, Clone, Serialize, Deserialize, Validate, PartialEq)] +pub struct ClearTariffsResultType { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 60))] + /// Id of tariff for which _status_ is reported. If no tariffs were found, then this field is absent, and _status_ will be `NoTariff`. + pub tariff_id: Option, + + /// Status indicating whether the tariff was cleared. + pub status: TariffClearStatusEnumType, +} diff --git a/src/v2_1/datatypes/component.rs b/src/v2_1/datatypes/component.rs new file mode 100644 index 00000000..d86fa45f --- /dev/null +++ b/src/v2_1/datatypes/component.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, evse::EVSEType}; + +/// A physical or logical component +#[derive(Debug, Clone, Serialize, Deserialize, Validate, PartialEq)] +pub struct ComponentType { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + #[serde(skip_serializing_if = "Option::is_none")] + pub evse: Option, + + #[validate(length(max = 50))] + /// Name of the component. Name should be taken from the list of standardized component names whenever possible. + /// Case Insensitive. strongly advised to use Camel Case. + pub name: String, + + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 50))] + /// Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case. + pub instance: Option, +} diff --git a/src/v2_1/datatypes/component_variable.rs b/src/v2_1/datatypes/component_variable.rs new file mode 100644 index 00000000..5e7279bb --- /dev/null +++ b/src/v2_1/datatypes/component_variable.rs @@ -0,0 +1,19 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{component::ComponentType, custom_data::CustomDataType, variable::VariableType}; + +/// Class to report components, variables and variable attributes and characteristics. +#[derive(Debug, Clone, Serialize, Deserialize, Validate, PartialEq)] +pub struct ComponentVariableType { + /// Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Component for which a report of Variable is requested. + pub component: ComponentType, + + /// Optional. Variable(s) for which the report is requested. + #[serde(skip_serializing_if = "Option::is_none")] + pub variable: Option, +} diff --git a/src/v2_1/datatypes/composite_schedule.rs b/src/v2_1/datatypes/composite_schedule.rs new file mode 100644 index 00000000..50d3aacb --- /dev/null +++ b/src/v2_1/datatypes/composite_schedule.rs @@ -0,0 +1,32 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{charging_schedule_period::ChargingSchedulePeriodType, custom_data::CustomDataType}; +use crate::v2_1::enumerations::ChargingRateUnitEnumType; + +/// Composite Schedule structure defines a list of charging periods. +#[derive(Debug, Clone, Serialize, Deserialize, Validate, PartialEq)] +pub struct CompositeScheduleType { + /// Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// The ID of the EVSE for which the schedule is requested. + /// When evseid=0, the Charging Station calculated the expected consumption for the grid connection. + #[validate(range(min = 0))] + pub evse_id: i32, + + /// Duration of the schedule in seconds. + pub duration: i32, + + /// Date and time at which the schedule becomes active. + /// All time measurements within the schedule are relative to this timestamp. + pub schedule_start: DateTime, + + /// The unit of measure in which limits and setpoints are expressed. + pub charging_rate_unit: ChargingRateUnitEnumType, + + /// List of charging periods describing the amount of power or current that can be delivered per time interval. + pub charging_schedule_period: Vec, +} diff --git a/src/v2_1/datatypes/constant_stream_data.rs b/src/v2_1/datatypes/constant_stream_data.rs new file mode 100644 index 00000000..5790f09c --- /dev/null +++ b/src/v2_1/datatypes/constant_stream_data.rs @@ -0,0 +1,25 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{ + custom_data::CustomDataType, periodic_event_stream_params::PeriodicEventStreamParamsType, +}; + +/// Constant stream data type for periodic event streams. +#[derive(Debug, Clone, Serialize, Deserialize, Validate, PartialEq)] +pub struct ConstantStreamDataType { + /// Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Uniquely identifies the stream. + #[validate(range(min = 0))] + pub id: i32, + + /// Parameters for the periodic event stream. + pub params: PeriodicEventStreamParamsType, + + /// Id of monitor used to report this event. It can be a preconfigured or hardwired monitor. + #[validate(range(min = 0))] + pub variable_monitoring_id: i32, +} diff --git a/src/v2_1/datatypes/consumption_cost.rs b/src/v2_1/datatypes/consumption_cost.rs new file mode 100644 index 00000000..7602da75 --- /dev/null +++ b/src/v2_1/datatypes/consumption_cost.rs @@ -0,0 +1,20 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{cost::CostType, custom_data::CustomDataType}; + +/// Consumption cost type for consumption blocks. +#[derive(Debug, Clone, Serialize, Deserialize, Validate, PartialEq)] +pub struct ConsumptionCostType { + /// Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// The lowest level of consumption that defines the starting point of this consumption block. + /// The block interval extends to the start of the next interval. + pub start_value: f64, + + /// List of costs associated with this consumption block. + #[validate(length(min = 1, max = 3))] + pub cost: Vec, +} diff --git a/src/v2_1/datatypes/cost.rs b/src/v2_1/datatypes/cost.rs new file mode 100644 index 00000000..4511a6a2 --- /dev/null +++ b/src/v2_1/datatypes/cost.rs @@ -0,0 +1,25 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; +use crate::v2_1::enumerations::CostKindEnumType; + +/// Cost type for consumption costs. +#[derive(Debug, Clone, Serialize, Deserialize, Validate, PartialEq)] +pub struct CostType { + /// Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// The kind of cost referred to in the message element amount. + pub cost_kind: CostKindEnumType, + + /// The estimated or actual cost per kWh. + pub amount: i32, + + /// Values: -3..3, The amountMultiplier defines the exponent to base 10 (dec). + /// The final value is determined by: amount * 10 ^ amountMultiplier. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = -3, max = 3))] + pub amount_multiplier: Option, +} diff --git a/src/v2_1/datatypes/cost_details.rs b/src/v2_1/datatypes/cost_details.rs new file mode 100644 index 00000000..bd598a9f --- /dev/null +++ b/src/v2_1/datatypes/cost_details.rs @@ -0,0 +1,35 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{ + charging_period::ChargingPeriodType, custom_data::CustomDataType, total_cost::TotalCostType, + total_usage::TotalUsageType, +}; + +/// CostDetailsType contains the cost as calculated by Charging Station based on provided TariffType. +/// NOTE: Reservation is not shown as a chargingPeriod, because it took place outside of the transaction. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct CostDetailsType { + /// List of charging periods that make up this transaction. + pub charging_periods: Vec, + + /// Total cost of this transaction, including taxes. + pub total_cost: TotalCostType, + + /// Total usage of energy and time during this transaction. + pub total_usage: TotalUsageType, + + /// If set to true, then Charging Station has failed to calculate the cost. + #[serde(skip_serializing_if = "Option::is_none")] + pub failure_to_calculate: Option, + + /// Optional human-readable reason text in case of failure to calculate. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 500))] + pub failure_reason: Option, + + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/cost_dimension.rs b/src/v2_1/datatypes/cost_dimension.rs new file mode 100644 index 00000000..9df395b3 --- /dev/null +++ b/src/v2_1/datatypes/cost_dimension.rs @@ -0,0 +1,19 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{datatypes::CustomDataType, enumerations::CostDimensionEnumType}; + +/// Volume consumed of cost dimension. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct CostDimensionType { + /// Type of cost dimension: energy, power, time, etc. + pub r#type: CostDimensionEnumType, + + /// Volume of the dimension consumed, measured according to the dimension type. + pub volume: f64, + + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/custom_data.rs b/src/v2_1/datatypes/custom_data.rs index fefd058b..b15f6f43 100644 --- a/src/v2_1/datatypes/custom_data.rs +++ b/src/v2_1/datatypes/custom_data.rs @@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize}; /// This class does not get 'AdditionalProperties = false' in the schema generation, /// so it can be extended with arbitrary JSON properties to allow adding custom data. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)] pub struct CustomDataType { /// Vendor-specific identifier pub vendor_id: String, diff --git a/src/v2_1/datatypes/dc_charging_parameters.rs b/src/v2_1/datatypes/dc_charging_parameters.rs new file mode 100644 index 00000000..0ca53a64 --- /dev/null +++ b/src/v2_1/datatypes/dc_charging_parameters.rs @@ -0,0 +1,41 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::CustomDataType; + +/// EV DC charging parameters for ISO 15118-2 +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct DCChargingParametersType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Maximum current (in A) supported by the electric vehicle. Includes cable capacity. + /// Relates to: + /// *ISO 15118-2*: DC_EVChargeParameterType:EVMaximumCurrentLimit + pub ev_max_current: f64, + + /// Maximum voltage supported by the electric vehicle. + /// Relates to: + /// *ISO 15118-2*: DC_EVChargeParameterType: EVMaximumVoltageLimit + pub ev_max_voltage: f64, + + /// Maximum power (in W) supported by the electric vehicle. Required for DC charging. + /// Relates to: + /// *ISO 15118-2*: DC_EVChargeParameterType: EVMaximumPowerLimit + #[serde(skip_serializing_if = "Option::is_none")] + pub ev_max_power: Option, + + /// Capacity of the electric vehicle battery (in Wh). + /// Relates to: + /// *ISO 15118-2*: DC_EVChargeParameterType: EVEnergyCapacity + #[serde(skip_serializing_if = "Option::is_none")] + pub ev_energy_capacity: Option, + + /// Amount of energy requested (in Wh). This includes energy required for preconditioning. + /// Relates to: + /// *ISO 15118-2*: DC_EVChargeParameterType: EVEnergyRequest + #[serde(skip_serializing_if = "Option::is_none")] + pub energy_amount: Option, +} diff --git a/src/v2_1/datatypes/der_charging_parameters.rs b/src/v2_1/datatypes/der_charging_parameters.rs new file mode 100644 index 00000000..df2b7738 --- /dev/null +++ b/src/v2_1/datatypes/der_charging_parameters.rs @@ -0,0 +1,26 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; +use crate::v2_1::enumerations::der_control::DERControlEnumType; + +/// DERChargingParametersType is used in ChargingNeedsType during an ISO 15118-20 session for AC_BPT_DER +/// to report the inverter settings related to DER control that were agreed between EVSE and EV. +/// +/// Fields starting with "ev" contain values from the EV. +/// Other fields contain a value that is supported by both EV and EVSE. +/// +/// DERChargingParametersType type is only relevant in case of an ISO 15118-20 AC_BPT_DER/AC_DER charging session. +/// +/// NOTE: All these fields have values greater or equal to zero (i.e. are non-negative) +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct DERChargingParametersType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// DER control functions supported by EV. + /// ISO 15118-20: DER_BPT_AC_CPDReqEnergyTransferModeType:DERControlFunctions (bitmap) + pub ev_supported_der_control: Vec, +} diff --git a/src/v2_1/datatypes/der_curve.rs b/src/v2_1/datatypes/der_curve.rs new file mode 100644 index 00000000..acec4152 --- /dev/null +++ b/src/v2_1/datatypes/der_curve.rs @@ -0,0 +1,54 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{ + custom_data::CustomDataType, der_curve_points::DERCurvePointsType, hysteresis::HysteresisType, + reactive_power_params::ReactivePowerParamsType, voltage_params::VoltageParamsType, +}; +use crate::v2_1::enumerations::der_unit::DERUnitEnumType; + +/// DER curve type for various DER control modes. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct DERCurveType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// List of curve points defining this curve. + #[validate(length(min = 1, max = 10))] + pub curve_data: Vec, + + /// Hysteresis parameters for this curve. + #[serde(skip_serializing_if = "Option::is_none")] + pub hysteresis: Option, + + /// Priority of curve (0=highest) + #[validate(range(min = 0))] + pub priority: i32, + + /// Reactive power parameters for this curve. + #[serde(skip_serializing_if = "Option::is_none")] + pub reactive_power_params: Option, + + /// Voltage parameters for this curve. + #[serde(skip_serializing_if = "Option::is_none")] + pub voltage_params: Option, + + /// Unit of the Y-axis values. + pub y_unit: DERUnitEnumType, + + /// Open loop response time, the time to ramp up to 90% of the new target in response to the change in voltage, in seconds. + /// A value of 0 is used to mean no limit. When not present, the device should follow its default behavior. + #[serde(skip_serializing_if = "Option::is_none")] + pub response_time: Option, + + /// Point in time when this curve will become activated. Only absent when default is true. + #[serde(skip_serializing_if = "Option::is_none")] + pub start_time: Option>, + + /// Duration in seconds that this curve will be active. Only absent when default is true. + #[serde(skip_serializing_if = "Option::is_none")] + pub duration: Option, +} diff --git a/src/v2_1/datatypes/der_curve_get.rs b/src/v2_1/datatypes/der_curve_get.rs new file mode 100644 index 00000000..e247ac6b --- /dev/null +++ b/src/v2_1/datatypes/der_curve_get.rs @@ -0,0 +1,30 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, der_curve::DERCurveType}; +use crate::v2_1::enumerations::der_control::DERControlEnumType; + +/// DER curve get type for retrieving DER curve information. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct DERCurveGetType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// The DER curve. + pub curve: DERCurveType, + + /// Id of DER curve. + #[validate(length(max = 36))] + pub id: String, + + /// Type of DER curve. + pub curve_type: DERControlEnumType, + + /// True if this is a default curve. + pub is_default: bool, + + /// True if this setting is superseded by a higher priority setting (i.e. lower value of priority). + pub is_superseded: bool, +} diff --git a/src/v2_1/datatypes/der_curve_points.rs b/src/v2_1/datatypes/der_curve_points.rs new file mode 100644 index 00000000..94b91dc5 --- /dev/null +++ b/src/v2_1/datatypes/der_curve_points.rs @@ -0,0 +1,21 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Points defining a DER curve. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct DERCurvePointsType { + /// The data value of the X-axis (independent) variable, depending on the curve type. + pub x: f64, + + /// The data value of the Y-axis (dependent) variable, depending on the DERUnitEnumType of the curve. + /// If y is power factor, then a positive value means DER is absorbing reactive power (under-excited), + /// a negative value when DER is injecting reactive power (over-excited). + pub y: f64, + + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/enter_service.rs b/src/v2_1/datatypes/enter_service.rs new file mode 100644 index 00000000..cf7d1c5e --- /dev/null +++ b/src/v2_1/datatypes/enter_service.rs @@ -0,0 +1,38 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Parameters for the EnterService DER control function. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct EnterServiceType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Priority of setting (0=highest) + #[validate(range(min = 0))] + pub priority: i32, + + /// Enter service voltage high + pub high_voltage: f64, + + /// Enter service voltage low + pub low_voltage: f64, + + /// Enter service frequency high + pub high_freq: f64, + + /// Enter service frequency low + pub low_freq: f64, + + /// Enter service delay + pub delay: f64, + + /// Enter service randomized delay + pub random_delay: f64, + + /// Enter service ramp rate in seconds + pub ramp_rate: f64, +} diff --git a/src/v2_1/datatypes/enter_service_get.rs b/src/v2_1/datatypes/enter_service_get.rs new file mode 100644 index 00000000..e38aede1 --- /dev/null +++ b/src/v2_1/datatypes/enter_service_get.rs @@ -0,0 +1,20 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, enter_service::EnterServiceType}; + +/// Type for getting EnterService DER control function parameters. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct EnterServiceGetType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// The EnterService parameters. + pub enter_service: EnterServiceType, + + /// Id of setting. + #[validate(length(max = 36))] + pub id: String, +} diff --git a/src/v2_1/datatypes/ev_absolute_price_schedule.rs b/src/v2_1/datatypes/ev_absolute_price_schedule.rs new file mode 100644 index 00000000..9b5b0b29 --- /dev/null +++ b/src/v2_1/datatypes/ev_absolute_price_schedule.rs @@ -0,0 +1,31 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{ + custom_data::CustomDataType, ev_absolute_price_schedule_entry::EVAbsolutePriceScheduleEntryType, +}; + +/// Price schedule of EV energy offer. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct EVAbsolutePriceScheduleType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Starting point in time of the EVEnergyOffer. + pub time_anchor: DateTime, + + /// Currency code according to ISO 4217. + #[validate(length(max = 3))] + pub currency: String, + + /// ISO 15118-20 URN of price algorithm: Power, PeakPower, StackedEnergy. + #[validate(length(max = 2000))] + pub price_algorithm: String, + + /// List of price schedule entries. + #[validate(length(min = 1, max = 1024))] + pub ev_absolute_price_schedule_entries: Vec, +} diff --git a/src/v2_1/datatypes/ev_absolute_price_schedule_entry.rs b/src/v2_1/datatypes/ev_absolute_price_schedule_entry.rs new file mode 100644 index 00000000..5e289b7d --- /dev/null +++ b/src/v2_1/datatypes/ev_absolute_price_schedule_entry.rs @@ -0,0 +1,19 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Entry in the EVAbsolutePriceSchedule. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct EVAbsolutePriceScheduleEntryType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Duration of the schedule entry in seconds. + pub duration: i32, + + /// Price per power unit. + pub price: f64, +} diff --git a/src/v2_1/datatypes/ev_energy_offer.rs b/src/v2_1/datatypes/ev_energy_offer.rs new file mode 100644 index 00000000..b5f148f6 --- /dev/null +++ b/src/v2_1/datatypes/ev_energy_offer.rs @@ -0,0 +1,22 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{ + custom_data::CustomDataType, ev_absolute_price_schedule::EVAbsolutePriceScheduleType, + ev_power_schedule::EVPowerScheduleType, +}; + +/// Energy offer from EV to EVSE. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct EVEnergyOfferType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Power schedule of EV energy offer. + pub ev_power_schedule: EVPowerScheduleType, + + /// Price schedule of EV energy offer. + pub ev_absolute_price_schedule: EVAbsolutePriceScheduleType, +} diff --git a/src/v2_1/datatypes/ev_power_schedule.rs b/src/v2_1/datatypes/ev_power_schedule.rs new file mode 100644 index 00000000..7bc83836 --- /dev/null +++ b/src/v2_1/datatypes/ev_power_schedule.rs @@ -0,0 +1,21 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, ev_power_schedule_entry::EVPowerScheduleEntryType}; + +/// Power schedule of EV energy offer. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct EVPowerScheduleType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Starting point in time of the EVEnergyOffer. + pub time_anchor: DateTime, + + /// List of power schedule entries. + #[validate(length(min = 1, max = 1024))] + pub ev_power_schedule_entries: Vec, +} diff --git a/src/v2_1/datatypes/ev_power_schedule_entry.rs b/src/v2_1/datatypes/ev_power_schedule_entry.rs new file mode 100644 index 00000000..73279618 --- /dev/null +++ b/src/v2_1/datatypes/ev_power_schedule_entry.rs @@ -0,0 +1,19 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Entry in the EVPowerSchedule. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct EVPowerScheduleEntryType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Duration of the schedule entry in seconds. + pub duration: i32, + + /// Power in Watts (W). + pub power: f64, +} diff --git a/src/v2_1/datatypes/ev_price_rule.rs b/src/v2_1/datatypes/ev_price_rule.rs new file mode 100644 index 00000000..93c80d7d --- /dev/null +++ b/src/v2_1/datatypes/ev_price_rule.rs @@ -0,0 +1,19 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Price rule for a power range. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct EVPriceRuleType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Energy fee in the currency specified in EVAbsolutePriceSchedule. + pub energy_fee: f64, + + /// Start of the power range in Watts (W). + pub power_range_start: f64, +} diff --git a/src/v2_1/datatypes/evse.rs b/src/v2_1/datatypes/evse.rs new file mode 100644 index 00000000..d865f102 --- /dev/null +++ b/src/v2_1/datatypes/evse.rs @@ -0,0 +1,20 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// EVSE object with properties common to OCPP 2.0.1 and OCPP 2.1.0. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct EVSEType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Identified Object. MRID. Numeric ID of the EVSE within the Charging Station. + pub id: i32, + + /// An id to designate a specific connector (on an EVSE) by connector index number. + #[serde(skip_serializing_if = "Option::is_none")] + pub connector_id: Option, +} diff --git a/src/v2_1/datatypes/firmware.rs b/src/v2_1/datatypes/firmware.rs new file mode 100644 index 00000000..aed41885 --- /dev/null +++ b/src/v2_1/datatypes/firmware.rs @@ -0,0 +1,34 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Contains information about a specific firmware version. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct FirmwareType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// URL from which the firmware can be downloaded. + #[validate(length(max = 512))] + pub location: String, + + /// Date and time at which the firmware shall be retrieved. + #[serde(skip_serializing_if = "Option::is_none")] + pub retrieve_date: Option, + + /// Date and time at which the firmware shall be installed. + #[serde(skip_serializing_if = "Option::is_none")] + pub install_date: Option, + + /// Firmware version. + #[validate(length(max = 50))] + pub signature: String, + + /// MD5 checksum over the entire firmware file as a hexadecimal string of length 32. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(equal = 32))] + pub signing_certificate: Option, +} diff --git a/src/v2_1/datatypes/fixed_pf.rs b/src/v2_1/datatypes/fixed_pf.rs new file mode 100644 index 00000000..8b020f43 --- /dev/null +++ b/src/v2_1/datatypes/fixed_pf.rs @@ -0,0 +1,23 @@ + +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Fixed power factor settings. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct FixedPFType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Priority of setting (0=highest) + #[validate(range(min = 0))] + pub priority: i32, + + /// Fixed power factor value. + /// A positive value means DER is absorbing reactive power (under-excited), + /// a negative value means DER is injecting reactive power (over-excited). + pub power_factor: f64, +} diff --git a/src/v2_1/datatypes/fixed_pf_get.rs b/src/v2_1/datatypes/fixed_pf_get.rs new file mode 100644 index 00000000..d7edcfe3 --- /dev/null +++ b/src/v2_1/datatypes/fixed_pf_get.rs @@ -0,0 +1,23 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, fixed_pf::FixedPFType}; + +/// Fixed power factor get type for retrieving fixed power factor settings. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct FixedPFGetType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// The fixed power factor settings. + pub fixed_pf: FixedPFType, + + /// Id of the setting. + #[validate(length(max = 36))] + pub id: String, + + /// True if this setting is superseded by a higher priority setting (i.e. lower value of priority). + pub is_superseded: bool, +} diff --git a/src/v2_1/datatypes/fixed_var.rs b/src/v2_1/datatypes/fixed_var.rs new file mode 100644 index 00000000..781d599c --- /dev/null +++ b/src/v2_1/datatypes/fixed_var.rs @@ -0,0 +1,22 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Fixed VAr settings. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct FixedVarType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Priority of setting (0=highest) + #[validate(range(min = 0))] + pub priority: i32, + + /// Fixed VAr value in VAr. + /// A positive value means DER is absorbing reactive power (under-excited), + /// a negative value means DER is injecting reactive power (over-excited). + pub var: f64, +} diff --git a/src/v2_1/datatypes/fixed_var_get.rs b/src/v2_1/datatypes/fixed_var_get.rs new file mode 100644 index 00000000..dcbc9e06 --- /dev/null +++ b/src/v2_1/datatypes/fixed_var_get.rs @@ -0,0 +1,23 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, fixed_var::FixedVarType}; + +/// Fixed VAr get type for retrieving fixed VAr settings. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct FixedVarGetType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// The fixed VAr settings. + pub fixed_var: FixedVarType, + + /// Id of the setting. + #[validate(length(max = 36))] + pub id: String, + + /// True if this setting is superseded by a higher priority setting (i.e. lower value of priority). + pub is_superseded: bool, +} diff --git a/src/v2_1/datatypes/freq_droop.rs b/src/v2_1/datatypes/freq_droop.rs new file mode 100644 index 00000000..cb83dc51 --- /dev/null +++ b/src/v2_1/datatypes/freq_droop.rs @@ -0,0 +1,29 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Frequency droop settings. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct FreqDroopType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Priority of setting (0=highest) + #[validate(range(min = 0))] + pub priority: i32, + + /// Frequency droop slope in percent active power per Hz. + pub droop: f64, + + /// Frequency offset in Hz. + pub offset: f64, + + /// Frequency deadband in Hz. + pub deadband: f64, + + /// Response time in seconds. + pub response_time: f64, +} diff --git a/src/v2_1/datatypes/freq_droop_get.rs b/src/v2_1/datatypes/freq_droop_get.rs new file mode 100644 index 00000000..58f65a22 --- /dev/null +++ b/src/v2_1/datatypes/freq_droop_get.rs @@ -0,0 +1,23 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, freq_droop::FreqDroopType}; + +/// Frequency droop get type for retrieving frequency droop settings. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct FreqDroopGetType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// The frequency droop settings. + pub freq_droop: FreqDroopType, + + /// Id of the setting. + #[validate(length(max = 36))] + pub id: String, + + /// True if this setting is superseded by a higher priority setting (i.e. lower value of priority). + pub is_superseded: bool, +} diff --git a/src/v2_1/datatypes/get_variable_data.rs b/src/v2_1/datatypes/get_variable_data.rs new file mode 100644 index 00000000..1a4d24b7 --- /dev/null +++ b/src/v2_1/datatypes/get_variable_data.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{component::ComponentType, custom_data::CustomDataType, variable::VariableType}; + +/// Class to hold parameters for GetVariables request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetVariableDataType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Component for which the Variable is requested. + pub component: ComponentType, + + /// Required. Variable for which the attribute value is requested. + pub variable: VariableType, + + /// Optional. If the variable is attribute-based, this field specifies the attribute type for which the value is requested. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 50))] + pub attribute_type: Option, +} diff --git a/src/v2_1/datatypes/get_variable_result.rs b/src/v2_1/datatypes/get_variable_result.rs new file mode 100644 index 00000000..cf2c9cc1 --- /dev/null +++ b/src/v2_1/datatypes/get_variable_result.rs @@ -0,0 +1,40 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{ + component::ComponentType, custom_data::CustomDataType, status_info::StatusInfoType, + variable::VariableType, +}; +use crate::v2_1::enumerations::GetVariableStatusEnumType; + +/// Class to hold results of GetVariables request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetVariableResultType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Component for which the Variable is requested. + pub component: ComponentType, + + /// Required. Variable for which the attribute value is requested. + pub variable: VariableType, + + /// Optional. If the variable is attribute-based, this field specifies the attribute type for which the value is requested. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 50))] + pub attribute_type: Option, + + /// Optional. Value of the requested attribute if status is Accepted. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 2500))] + pub attribute_value: Option, + + /// Required. Result status of getting the variable. + pub attribute_status: GetVariableStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub attribute_status_info: Option, +} diff --git a/src/v2_1/datatypes/gradient.rs b/src/v2_1/datatypes/gradient.rs new file mode 100644 index 00000000..f3626893 --- /dev/null +++ b/src/v2_1/datatypes/gradient.rs @@ -0,0 +1,20 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Gradient settings. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GradientType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Priority of setting (0=highest) + #[validate(range(min = 0))] + pub priority: i32, + + /// Maximum rate of change in percent per second. + pub rate: f64, +} diff --git a/src/v2_1/datatypes/gradient_get.rs b/src/v2_1/datatypes/gradient_get.rs new file mode 100644 index 00000000..d9e41f3a --- /dev/null +++ b/src/v2_1/datatypes/gradient_get.rs @@ -0,0 +1,23 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, gradient::GradientType}; + +/// Gradient get type for retrieving gradient settings. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GradientGetType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// The gradient settings. + pub gradient: GradientType, + + /// Id of the setting. + #[validate(length(max = 36))] + pub id: String, + + /// True if this setting is superseded by a higher priority setting (i.e. lower value of priority). + pub is_superseded: bool, +} diff --git a/src/v2_1/datatypes/hysteresis.rs b/src/v2_1/datatypes/hysteresis.rs new file mode 100644 index 00000000..7296236a --- /dev/null +++ b/src/v2_1/datatypes/hysteresis.rs @@ -0,0 +1,16 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Hysteresis parameters for DER control functions. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct HysteresisType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Hysteresis offset. + pub offset: f64, +} diff --git a/src/v2_1/datatypes/id_token.rs b/src/v2_1/datatypes/id_token.rs index 43f2f846..9ad450d8 100644 --- a/src/v2_1/datatypes/id_token.rs +++ b/src/v2_1/datatypes/id_token.rs @@ -1,25 +1,26 @@ -use super::additional_info::AdditionalInfoType; -use super::custom_data::CustomDataType; use serde::{Deserialize, Serialize}; +use validator::Validate; -/// Contains a case insensitive identifier to use for the authorization and the type of authorization -/// to support multiple forms of identifiers. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] -pub struct IdTokenType { - /// IdToken is case insensitive. Might hold the hidden id of an RFID tag, - /// but can for example also contain a UUID. - pub id_token: String, +use crate::v2_0_1::enumerations::id_token_enum_type::IdTokenEnumType; - /// Enumeration of possible idToken types. - /// Values defined in Appendix as IdTokenEnumStringType. - #[serde(rename = "type")] - pub type_: String, +use super::{additional_info::AdditionalInfoType, custom_data::CustomDataType}; - /// Optional list of additional information about the identifier +/// Contains identifier to use for authorization. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct IdTokenType { + /// Custom data from the Charging Station. #[serde(skip_serializing_if = "Option::is_none")] - pub additional_info: Option>, + pub custom_data: Option, - /// Optional custom data + /// Required. Type of the identifier. + pub r#type: IdTokenEnumType, + + /// Required. The identifier to use for authorization. + #[validate(length(max = 36))] + pub id_token: String, + + /// Optional. Additional information about the identifier. #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, + pub additional_info: Option>, } diff --git a/src/v2_1/datatypes/id_token_info.rs b/src/v2_1/datatypes/id_token_info.rs new file mode 100644 index 00000000..f090c361 --- /dev/null +++ b/src/v2_1/datatypes/id_token_info.rs @@ -0,0 +1,54 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, status_info::StatusInfoType}; +use crate::v2_1::enumerations::AuthorizationStatusEnumType; + +/// Contains status information about an identifier. +/// It is advised to not stop charging if the status is Accepted or ConcurrentTx. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct IdTokenInfoType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. This contains whether the identifier is allowed for charging. + pub status: AuthorizationStatusEnumType, + + /// Optional. Only filled in when the status is ConcurrentTx. + #[serde(skip_serializing_if = "Option::is_none")] + pub cache_expiry_date_time: Option>, + + /// Optional. Priority from a business point of view. + /// Default priority is 0, The range is from -9 to 9. + /// Higher values indicate a higher priority. + /// The chargingPriority in a ChargingProfile SHALL overrule this priority range. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = -9, max = 9))] + pub charging_priority: Option, + + /// Optional. Contains information about authorization status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. A case insensitive identifier to use for the authorization and the load profile. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 36))] + pub group_id_token: Option, + + /// Optional. Contains the date at which idToken should be removed from the Authorization Cache. + #[serde(skip_serializing_if = "Option::is_none")] + pub expiry_date: Option>, + + /// Optional. This contains the identifier to use for charging. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 36))] + pub parent_id_token: Option, + + /// Optional. Contains a case insensitive identifier to use for the user profile. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 36))] + pub personal_message: Option, +} diff --git a/src/v2_1/datatypes/limit_at_soc.rs b/src/v2_1/datatypes/limit_at_soc.rs new file mode 100644 index 00000000..031b96af --- /dev/null +++ b/src/v2_1/datatypes/limit_at_soc.rs @@ -0,0 +1,23 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Limit at State of Charge settings. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct LimitAtSoCType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Priority of setting (0=highest) + #[validate(range(min = 0))] + pub priority: i32, + + /// State of Charge at which power limit becomes active. + pub soc: f64, + + /// Maximum power level when power limit is active. + pub power_limit: f64, +} diff --git a/src/v2_1/datatypes/limit_max_discharge.rs b/src/v2_1/datatypes/limit_max_discharge.rs new file mode 100644 index 00000000..d6c3e9ef --- /dev/null +++ b/src/v2_1/datatypes/limit_max_discharge.rs @@ -0,0 +1,20 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Limit max discharge settings. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct LimitMaxDischargeType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Priority of setting (0=highest) + #[validate(range(min = 0))] + pub priority: i32, + + /// Maximum discharge rate in percent of nominal discharge rate. + pub discharge_limit: f64, +} diff --git a/src/v2_1/datatypes/limit_max_discharge_get.rs b/src/v2_1/datatypes/limit_max_discharge_get.rs new file mode 100644 index 00000000..90807e8e --- /dev/null +++ b/src/v2_1/datatypes/limit_max_discharge_get.rs @@ -0,0 +1,23 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, limit_max_discharge::LimitMaxDischargeType}; + +/// Limit max discharge get type for retrieving limit max discharge settings. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct LimitMaxDischargeGetType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// The limit max discharge settings. + pub limit_max_discharge: LimitMaxDischargeType, + + /// Id of the setting. + #[validate(length(max = 36))] + pub id: String, + + /// True if this setting is superseded by a higher priority setting (i.e. lower value of priority). + pub is_superseded: bool, +} diff --git a/src/v2_1/datatypes/log_parameters.rs b/src/v2_1/datatypes/log_parameters.rs new file mode 100644 index 00000000..5fd0ebdd --- /dev/null +++ b/src/v2_1/datatypes/log_parameters.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Log parameters for GetLog request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct LogParametersType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The Id of this request. + #[validate(length(max = 36))] + pub remote_location: String, + + /// Required. The oldest log entry date/time to include in the response. + pub oldest_timestamp: String, + + /// Optional. The latest log entry date/time to include in the response. + #[serde(skip_serializing_if = "Option::is_none")] + pub latest_timestamp: Option, +} diff --git a/src/v2_1/datatypes/message_content.rs b/src/v2_1/datatypes/message_content.rs new file mode 100644 index 00000000..25cd411b --- /dev/null +++ b/src/v2_1/datatypes/message_content.rs @@ -0,0 +1,25 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; +use crate::v2_1::enumerations::MessageFormatEnumType; + +/// Contains message details, for a message to be displayed on a Charging Station. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct MessageContentType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Message contents. + #[validate(length(max = 512))] + pub content: String, + + /// Required. Format of the message. + pub format: MessageFormatEnumType, + + /// Required. Language identifier of the message content. + #[validate(length(max = 8))] + pub language: String, +} diff --git a/src/v2_1/datatypes/message_info.rs b/src/v2_1/datatypes/message_info.rs new file mode 100644 index 00000000..239a9195 --- /dev/null +++ b/src/v2_1/datatypes/message_info.rs @@ -0,0 +1,51 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, id_token::IdTokenType}; +use crate::v2_1::enumerations::{ + DisplayMessageStatusEnumType, MessagePriorityEnumType, MessageStateEnumType, +}; + +/// Contains message details, for a message to be displayed on a Charging Station. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct MessageInfoType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The identifier that identifies this message. + #[validate(length(max = 50))] + pub id: String, + + /// Required. Priority with which this message should be shown. + pub priority: MessagePriorityEnumType, + + /// Required. Current state of this message. + pub state: MessageStateEnumType, + + /// Required. Date and time at which this message was received. + pub start_timestamp: DateTime, + + /// Optional. Date and time at which this message should be removed from the display. + #[serde(skip_serializing_if = "Option::is_none")] + pub end_timestamp: Option>, + + /// Optional. Transaction Id for which this message is intended. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 36))] + pub transaction_id: Option, + + /// Optional. Message details for a specific user. + #[serde(skip_serializing_if = "Option::is_none")] + pub message: Option, + + /// Optional. Display style of the message. + #[serde(skip_serializing_if = "Option::is_none")] + pub display: Option, + + /// Optional. Identification of the token for which this message is intended. + #[serde(skip_serializing_if = "Option::is_none")] + pub id_token: Option, +} diff --git a/src/v2_1/datatypes/meter_value.rs b/src/v2_1/datatypes/meter_value.rs new file mode 100644 index 00000000..040f6f69 --- /dev/null +++ b/src/v2_1/datatypes/meter_value.rs @@ -0,0 +1,22 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, sampled_value::SampledValueType}; + +/// Collection of one or more sampled values in MeterValuesRequest and StopTransactionRequest. +/// All sampled values in a MeterValue are sampled at the same point in time. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct MeterValueType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Timestamp for measured value(s). + pub timestamp: DateTime, + + /// Required. One or more measured values. + #[validate(length(min = 1))] + pub sampled_value: Vec, +} diff --git a/src/v2_1/datatypes/mod.rs b/src/v2_1/datatypes/mod.rs index 005abeb6..d228ee00 100644 --- a/src/v2_1/datatypes/mod.rs +++ b/src/v2_1/datatypes/mod.rs @@ -1,13 +1,243 @@ -mod additional_info; -mod custom_data; -mod id_token; -mod status_info; -mod variable; -mod variable_characteristics; +pub mod absolute_price_schedule; +pub mod ac_charging_parameters; +pub mod additional_info; +pub mod additional_selected_services; +pub mod address; +pub mod apn; +pub mod authorization_data; +pub mod battery_data; +pub mod certificate_hash_data; +pub mod certificate_hash_data_chain; +pub mod certificate_status; +pub mod certificate_status_request_info; +pub mod charging_limit; +pub mod charging_needs; +pub mod charging_period; +pub mod charging_profile; +pub mod charging_profile_criterion; +pub mod charging_schedule; +pub mod charging_schedule_period; +pub mod charging_schedule_update; +pub mod charging_station; +pub mod clear_charging_profile; +pub mod clear_monitoring_result; +pub mod clear_tariffs_result; +pub mod component; +pub mod component_variable; +pub mod composite_schedule; +pub mod constant_stream_data; +pub mod consumption_cost; +pub mod cost; +pub mod cost_details; +pub mod cost_dimension; +pub mod custom_data; +pub mod dc_charging_parameters; +pub mod der_charging_parameters; +pub mod der_curve; +pub mod der_curve_get; +pub mod der_curve_points; +pub mod enter_service; +pub mod enter_service_get; +pub mod ev_absolute_price_schedule; +pub mod ev_absolute_price_schedule_entry; +pub mod ev_energy_offer; +pub mod ev_power_schedule; +pub mod ev_power_schedule_entry; +pub mod ev_price_rule; +pub mod evse; +pub mod firmware; +pub mod fixed_pf; +pub mod fixed_pf_get; +pub mod fixed_var; +pub mod fixed_var_get; +pub mod freq_droop; +pub mod freq_droop_get; +pub mod get_variable_data; +pub mod get_variable_result; +pub mod gradient; +pub mod gradient_get; +pub mod hysteresis; +pub mod id_token; +pub mod id_token_info; +pub mod limit_at_soc; +pub mod limit_max_discharge; +pub mod limit_max_discharge_get; +pub mod log_parameters; +pub mod message_content; +pub mod message_info; +pub mod meter_value; +pub mod modem; +pub mod monitoring_data; +pub mod network_connection_profile; +pub mod ocsp_request_data; +pub mod overstay_rule; +pub mod overstay_rule_list; +pub mod periodic_event_stream_params; +pub mod price; +pub mod price_level_schedule; +pub mod price_level_schedule_entry; +pub mod price_rule; +pub mod price_rule_stack; +pub mod rational_number; +pub mod reactive_power_params; +pub mod relative_time_interval; +pub mod report_data; +pub mod sales_tariff; +pub mod sales_tariff_entry; +pub mod sampled_value; +pub mod set_monitoring_data; +pub mod set_monitoring_result; +pub mod set_variable_data; +pub mod set_variable_result; +pub mod signed_meter_value; +pub mod status_info; +pub mod stream_data_element; +pub mod tariff; +pub mod tariff_assignment; +pub mod tariff_conditions; +pub mod tariff_conditions_fixed; +pub mod tariff_energy; +pub mod tariff_energy_price; +pub mod tariff_fixed; +pub mod tariff_fixed_price; +pub mod tariff_time; +pub mod tariff_time_price; +pub mod tax_rate; +pub mod tax_rule; +pub mod total_cost; +pub mod total_price; +pub mod total_usage; +pub mod transaction; +pub mod transaction_limit; +pub mod unit_of_measure; +pub mod v2x_charging_parameters; +pub mod v2x_freq_watt_point; +pub mod v2x_signal_watt_point; +pub mod variable; +pub mod variable_attribute; +pub mod variable_characteristics; +pub mod variable_monitoring; +pub mod voltage_params; +pub mod vpn; +pub use absolute_price_schedule::AbsolutePriceScheduleType; +pub use ac_charging_parameters::ACChargingParametersType; pub use additional_info::AdditionalInfoType; +pub use additional_selected_services::AdditionalSelectedServicesType; +pub use address::AddressType; +pub use apn::APNType; +pub use authorization_data::AuthorizationData; +pub use battery_data::BatteryDataType; +pub use certificate_hash_data::CertificateHashDataType; +pub use certificate_hash_data_chain::CertificateHashDataChainType; +pub use certificate_status::CertificateStatusType; +pub use certificate_status_request_info::CertificateStatusRequestInfoType; +pub use charging_limit::ChargingLimitType; +pub use charging_needs::ChargingNeedsType; +pub use charging_period::ChargingPeriodType; +pub use charging_profile::ChargingProfileType; +pub use charging_profile_criterion::ChargingProfileCriterionType; +pub use charging_schedule::ChargingScheduleType; +pub use charging_schedule_period::ChargingSchedulePeriodType; +pub use charging_schedule_update::ChargingScheduleUpdateType; +pub use charging_station::ChargingStationType; +pub use clear_charging_profile::ClearChargingProfileType; +pub use clear_monitoring_result::ClearMonitoringResultType; +pub use clear_tariffs_result::{ClearTariffsResultType, TariffClearStatusEnumType}; +pub use component::ComponentType; +pub use component_variable::ComponentVariableType; +pub use composite_schedule::CompositeScheduleType; +pub use constant_stream_data::ConstantStreamDataType; +pub use consumption_cost::ConsumptionCostType; +pub use cost::CostType; +pub use cost_details::CostDetailsType; +pub use cost_dimension::CostDimensionType; pub use custom_data::CustomDataType; +pub use dc_charging_parameters::DCChargingParametersType; +pub use der_charging_parameters::DERChargingParametersType; +pub use der_curve::DERCurveType; +pub use der_curve_get::DERCurveGetType; +pub use der_curve_points::DERCurvePointsType; +pub use enter_service::EnterServiceType; +pub use enter_service_get::EnterServiceGetType; +pub use ev_absolute_price_schedule::EVAbsolutePriceScheduleType; +pub use ev_absolute_price_schedule_entry::EVAbsolutePriceScheduleEntryType; +pub use ev_energy_offer::EVEnergyOfferType; +pub use ev_power_schedule::EVPowerScheduleType; +pub use ev_power_schedule_entry::EVPowerScheduleEntryType; +pub use ev_price_rule::EVPriceRuleType; +pub use evse::EVSEType; +pub use firmware::FirmwareType; +pub use fixed_pf::FixedPFType; +pub use fixed_pf_get::FixedPFGetType; +pub use fixed_var::FixedVarType; +pub use fixed_var_get::FixedVarGetType; +pub use freq_droop::FreqDroopType; +pub use freq_droop_get::FreqDroopGetType; +pub use get_variable_data::GetVariableDataType; +pub use get_variable_result::GetVariableResultType; +pub use gradient::GradientType; +pub use gradient_get::GradientGetType; +pub use hysteresis::HysteresisType; pub use id_token::IdTokenType; +pub use id_token_info::IdTokenInfoType; +pub use limit_at_soc::LimitAtSoCType; +pub use limit_max_discharge::LimitMaxDischargeType; +pub use limit_max_discharge_get::LimitMaxDischargeGetType; +pub use log_parameters::LogParametersType; +pub use message_content::MessageContentType; +pub use message_info::MessageInfoType; +pub use meter_value::MeterValueType; +pub use modem::ModemType; +pub use monitoring_data::MonitoringDataType; +pub use network_connection_profile::NetworkConnectionProfileType; +pub use ocsp_request_data::OCSPRequestDataType; +pub use overstay_rule::OverstayRuleType; +pub use overstay_rule_list::OverstayRuleListType; +pub use periodic_event_stream_params::PeriodicEventStreamParamsType; +pub use price::PriceType; +pub use price_level_schedule::PriceLevelScheduleType; +pub use price_level_schedule_entry::PriceLevelScheduleEntryType; +pub use price_rule::PriceRuleType; +pub use price_rule_stack::PriceRuleStackType; +pub use rational_number::RationalNumberType; +pub use reactive_power_params::ReactivePowerParamsType; +pub use relative_time_interval::RelativeTimeIntervalType; +pub use report_data::ReportDataType; +pub use sales_tariff::SalesTariffType; +pub use sales_tariff_entry::SalesTariffEntryType; +pub use sampled_value::SampledValueType; +pub use set_monitoring_data::SetMonitoringDataType; +pub use set_monitoring_result::SetMonitoringResultType; +pub use set_variable_data::SetVariableDataType; +pub use set_variable_result::SetVariableResultType; +pub use signed_meter_value::SignedMeterValueType; pub use status_info::StatusInfoType; +pub use stream_data_element::StreamDataElementType; +pub use tariff::TariffType; +pub use tariff_assignment::TariffAssignmentType; +pub use tariff_conditions::TariffConditionsType; +pub use tariff_conditions_fixed::TariffConditionsFixedType; +pub use tariff_energy::TariffEnergyType; +pub use tariff_energy_price::TariffEnergyPriceType; +pub use tariff_fixed::TariffFixedType; +pub use tariff_fixed_price::TariffFixedPriceType; +pub use tariff_time::TariffTimeType; +pub use tariff_time_price::TariffTimePriceType; +pub use tax_rate::TaxRateType; +pub use tax_rule::TaxRuleType; +pub use total_cost::TotalCostType; +pub use total_price::TotalPriceType; +pub use total_usage::TotalUsageType; +pub use transaction::TransactionType; +pub use transaction_limit::TransactionLimitType; +pub use unit_of_measure::UnitOfMeasureType; +pub use v2x_charging_parameters::V2XChargingParametersType; +pub use v2x_freq_watt_point::V2XFreqWattPointType; +pub use v2x_signal_watt_point::V2XSignalWattPointType; pub use variable::VariableType; -pub use variable_characteristics::{DataEnumType, VariableCharacteristicsType}; +pub use variable_attribute::VariableAttributeType; +pub use variable_characteristics::VariableCharacteristicsType; +pub use variable_monitoring::VariableMonitoringType; +pub use voltage_params::VoltageParamsType; +pub use vpn::VPNType; diff --git a/src/v2_1/datatypes/modem.rs b/src/v2_1/datatypes/modem.rs new file mode 100644 index 00000000..78356127 --- /dev/null +++ b/src/v2_1/datatypes/modem.rs @@ -0,0 +1,21 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Defines parameters required for initiating and maintaining wireless communication with other devices. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ModemType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. This contains the ICCID of the modem's SIM card. + #[validate(length(max = 20))] + pub iccid: String, + + /// Required. This contains the IMSI of the modem's SIM card. + #[validate(length(max = 20))] + pub imsi: String, +} diff --git a/src/v2_1/datatypes/monitoring_data.rs b/src/v2_1/datatypes/monitoring_data.rs new file mode 100644 index 00000000..a88c50da --- /dev/null +++ b/src/v2_1/datatypes/monitoring_data.rs @@ -0,0 +1,25 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{ + component::ComponentType, custom_data::CustomDataType, variable::VariableType, + variable_monitoring::VariableMonitoringType, +}; + +/// Class to hold parameters of SetVariableMonitoring request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct MonitoringDataType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Component for which a variable is monitored. + pub component: ComponentType, + + /// Required. Variable that is monitored. + pub variable: VariableType, + + /// Required. The type of this monitor, e.g. a threshold, delta or periodic monitor. + pub variable_monitoring: Vec, +} diff --git a/src/v2_1/datatypes/network_connection_profile.rs b/src/v2_1/datatypes/network_connection_profile.rs new file mode 100644 index 00000000..f97ee394 --- /dev/null +++ b/src/v2_1/datatypes/network_connection_profile.rs @@ -0,0 +1,50 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{apn::APNType, custom_data::CustomDataType, vpn::VPNType}; +use crate::v2_1::enumerations::{ + OCPPInterfaceEnumType, OCPPTransportEnumType, OCPPVersionEnumType, +}; + +/// The NetworkConnectionProfile defines the functional and technical parameters of a communication link. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NetworkConnectionProfileType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. APN configuration, when using GSM. + #[serde(skip_serializing_if = "Option::is_none")] + pub apn: Option, + + /// Required. VPN configuration, when using VPN. + #[serde(skip_serializing_if = "Option::is_none")] + pub vpn: Option, + + /// Required. Communication interface used by OCPP. + pub ocpp_interface: OCPPInterfaceEnumType, + + /// Required. Transport protocol used by OCPP. + pub ocpp_transport: OCPPTransportEnumType, + + /// Required. OCPP version used. + pub ocpp_version: OCPPVersionEnumType, + + /// Required. URL of the CSMS that this Charging Station should connect to. + #[validate(length(max = 512))] + pub csms_url: String, + + /// Required. The security profile used when connecting to the CSMS with this NetworkConnectionProfile. + #[validate(range(min = 0, max = 65535))] + pub message_timeout: i32, + + /// Required. The security profile used when connecting to the CSMS with this NetworkConnectionProfile. + #[validate(range(min = 0, max = 65535))] + pub security_profile: i32, + + /// Required. Duration in seconds before a message send by the Charging Station via this network connection times-out. + /// The best setting depends on the underlying network connection and the OCPP operations used. + #[validate(range(min = 1, max = 65535))] + pub ocpp_csms_port: i32, +} diff --git a/src/v2_1/datatypes/ocsp_request_data.rs b/src/v2_1/datatypes/ocsp_request_data.rs new file mode 100644 index 00000000..0be48b62 --- /dev/null +++ b/src/v2_1/datatypes/ocsp_request_data.rs @@ -0,0 +1,33 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; +use crate::v2_1::enumerations::HashAlgorithmEnumType; + +/// OCSP request data for a certificate. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct OCSPRequestDataType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The hash algorithm used to calculate HashValue. + pub hash_algorithm: HashAlgorithmEnumType, + + /// Required. The hash value of the Issuer DN (Distinguished Name). + #[validate(length(max = 128))] + pub issuer_name_hash: String, + + /// Required. The hash value of the Issuer Public Key. + #[validate(length(max = 128))] + pub issuer_key_hash: String, + + /// Required. The serial number of the certificate. + #[validate(length(max = 40))] + pub serial_number: String, + + /// Required. This contains the responder URL (Case insensitive). + #[validate(length(max = 512))] + pub responder_url: String, +} diff --git a/src/v2_1/datatypes/overstay_rule.rs b/src/v2_1/datatypes/overstay_rule.rs new file mode 100644 index 00000000..e523f145 --- /dev/null +++ b/src/v2_1/datatypes/overstay_rule.rs @@ -0,0 +1,21 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Rule that describes the pricing of overstaying. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct OverstayRuleType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Duration in seconds after which the overstay rule becomes active. + #[validate(range(min = 0, max = 86400))] + pub overstay_time_threshold: i32, + + /// Required. Factor by which the price is multiplied when the overstay rule is active. + #[validate(range(min = 0.0))] + pub overstay_fee_threshold: f32, +} diff --git a/src/v2_1/datatypes/overstay_rule_list.rs b/src/v2_1/datatypes/overstay_rule_list.rs new file mode 100644 index 00000000..e226a20f --- /dev/null +++ b/src/v2_1/datatypes/overstay_rule_list.rs @@ -0,0 +1,17 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, overstay_rule::OverstayRuleType}; + +/// List of overstay rules for a charging profile. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct OverstayRuleListType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. List of overstay rules. + #[validate(length(min = 1))] + pub overstay_rules: Vec, +} diff --git a/src/v2_1/datatypes/periodic_event_stream_params.rs b/src/v2_1/datatypes/periodic_event_stream_params.rs new file mode 100644 index 00000000..b122132d --- /dev/null +++ b/src/v2_1/datatypes/periodic_event_stream_params.rs @@ -0,0 +1,17 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Parameters for periodic event stream configuration. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct PeriodicEventStreamParamsType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The interval in seconds after which the Charging Station shall send the event information. + #[validate(range(min = 1, max = 86400))] + pub reporting_interval: i32, +} diff --git a/src/v2_1/datatypes/price.rs b/src/v2_1/datatypes/price.rs new file mode 100644 index 00000000..47881522 --- /dev/null +++ b/src/v2_1/datatypes/price.rs @@ -0,0 +1,25 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, tax_rate::TaxRateType}; + +/// Price with and without tax. At least one of exclTax, inclTax must be present. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct PriceType { + /// Price/cost excluding tax. Can be absent if inclTax is present. + #[serde(skip_serializing_if = "Option::is_none")] + pub excl_tax: Option, + + /// Price/cost including tax. Can be absent if exclTax is present. + #[serde(skip_serializing_if = "Option::is_none")] + pub incl_tax: Option, + + /// List of tax rates used to calculate tax. + #[serde(skip_serializing_if = "Option::is_none")] + pub tax_rates: Option>, + + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/datatypes/price_level_schedule.rs b/src/v2_1/datatypes/price_level_schedule.rs new file mode 100644 index 00000000..6a4d446b --- /dev/null +++ b/src/v2_1/datatypes/price_level_schedule.rs @@ -0,0 +1,21 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, price_level_schedule_entry::PriceLevelScheduleEntryType}; + +/// Price level schedule structure defines a list of time periods during which a specific price level applies. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct PriceLevelScheduleType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Point in time at which the schedule becomes active. + pub time_anchor: DateTime, + + /// Required. List of price level schedule entries. + #[validate(length(min = 1, max = 1024))] + pub price_level_schedule_entries: Vec, +} diff --git a/src/v2_1/datatypes/price_level_schedule_entry.rs b/src/v2_1/datatypes/price_level_schedule_entry.rs new file mode 100644 index 00000000..4be8f538 --- /dev/null +++ b/src/v2_1/datatypes/price_level_schedule_entry.rs @@ -0,0 +1,21 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Entry in the PriceLevelSchedule. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct PriceLevelScheduleEntryType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Duration of the schedule entry in seconds. + pub duration: i32, + + /// Required. Relative price level of this schedule entry. + /// Values between -9 and 9 are allowed. Higher values indicate a more expensive price level. + #[validate(range(min = -9, max = 9))] + pub price_level: i8, +} diff --git a/src/v2_1/datatypes/price_rule.rs b/src/v2_1/datatypes/price_rule.rs new file mode 100644 index 00000000..c6e953ac --- /dev/null +++ b/src/v2_1/datatypes/price_rule.rs @@ -0,0 +1,41 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; +use crate::v2_1::enumerations::EnergyTransferModeEnumType; + +/// Rule that describes the price of charging. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct PriceRuleType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Mode of energy transfer for which this price rule applies. + pub energy_transfer_mode: EnergyTransferModeEnumType, + + /// Required. Price per energy unit, excluding taxes, in the specified currency. + pub energy_fee: f64, + + /// Required. Price per time unit, excluding taxes, in the specified currency. + pub time_fee: f64, + + /// Required. Price for parking time, excluding taxes, in the specified currency. + /// Only applicable when the EV is not charging. + pub parking_fee: f64, + + /// Required. Minimum duration in seconds that a charging session SHALL last to benefit from this price rule. + #[validate(range(min = 0))] + pub minimum_duration: i32, + + /// Required. Maximum duration in seconds that a charging session can last under this price rule. + #[validate(range(min = 0))] + pub maximum_duration: i32, + + /// Required. Maximum power in kW that can be delivered under this price rule. + pub maximum_power: f64, + + /// Required. Minimum power in kW that must be delivered under this price rule. + pub minimum_power: f64, +} diff --git a/src/v2_1/datatypes/price_rule_stack.rs b/src/v2_1/datatypes/price_rule_stack.rs new file mode 100644 index 00000000..fe31782f --- /dev/null +++ b/src/v2_1/datatypes/price_rule_stack.rs @@ -0,0 +1,21 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, price_rule::PriceRuleType}; + +/// Stack of price rules, defining the price of charging. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct PriceRuleStackType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Duration in seconds after which the price rule becomes active. + #[validate(range(min = 0, max = 86400))] + pub duration: i32, + + /// Required. List of price rules that are part of the stack. + #[validate(length(min = 1))] + pub price_rules: Vec, +} diff --git a/src/v2_1/datatypes/rational_number.rs b/src/v2_1/datatypes/rational_number.rs new file mode 100644 index 00000000..0dad8ee0 --- /dev/null +++ b/src/v2_1/datatypes/rational_number.rs @@ -0,0 +1,19 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Part of ISO 15118-20 price schedule. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct RationalNumberType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The exponent to base 10 (dec). + pub exponent: i32, + + /// Required. Value which shall be multiplied. + pub value: i32, +} diff --git a/src/v2_1/datatypes/reactive_power_params.rs b/src/v2_1/datatypes/reactive_power_params.rs new file mode 100644 index 00000000..1c97bbb3 --- /dev/null +++ b/src/v2_1/datatypes/reactive_power_params.rs @@ -0,0 +1,19 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Parameters for reactive power control. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ReactivePowerParamsType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Maximum reactive power in VAr. + pub max_var: f64, + + /// Required. Minimum reactive power in VAr. + pub min_var: f64, +} diff --git a/src/v2_1/datatypes/relative_time_interval.rs b/src/v2_1/datatypes/relative_time_interval.rs new file mode 100644 index 00000000..96156f6b --- /dev/null +++ b/src/v2_1/datatypes/relative_time_interval.rs @@ -0,0 +1,19 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Time interval relative to a fixed point in time defined in the message that contains this type. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct RelativeTimeIntervalType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Start of the interval, in seconds from NOW. + pub start: i32, + + /// Required. Duration of the interval, in seconds. + pub duration: i32, +} diff --git a/src/v2_1/datatypes/report_data.rs b/src/v2_1/datatypes/report_data.rs new file mode 100644 index 00000000..84c70523 --- /dev/null +++ b/src/v2_1/datatypes/report_data.rs @@ -0,0 +1,29 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{component::ComponentType, custom_data::CustomDataType, variable::VariableType}; + +/// Class to report components, variables and variable attributes and characteristics. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ReportDataType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Component for which a report of Variable is requested. + pub component: ComponentType, + + /// Required. Variable for which a report is requested. + pub variable: VariableType, + + /// Optional. The actual value of the variable. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 2500))] + pub variable_value: Option, + + /// Optional. The attribute type for which a report of variable attribute value is requested. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 50))] + pub variable_attribute: Option, +} diff --git a/src/v2_1/datatypes/sales_tariff.rs b/src/v2_1/datatypes/sales_tariff.rs new file mode 100644 index 00000000..0dae8cfd --- /dev/null +++ b/src/v2_1/datatypes/sales_tariff.rs @@ -0,0 +1,30 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, sales_tariff_entry::SalesTariffEntryType}; + +/// Sales tariff structure defining pricing information. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SalesTariffType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Unique identifier used to identify one or more tariffs. + #[validate(length(max = 36))] + pub id: String, + + /// Optional. A human readable title/description of the sales tariff e.g. for HMI display purposes. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 32))] + pub sales_tariff_description: Option, + + /// Optional. The number of time intervals supported for this sales tariff. + #[serde(skip_serializing_if = "Option::is_none")] + pub num_e_price_levels: Option, + + /// Required. List of sales tariff entries. + #[validate(length(min = 1, max = 1024))] + pub sales_tariff_entry: Vec, +} diff --git a/src/v2_1/datatypes/sales_tariff_entry.rs b/src/v2_1/datatypes/sales_tariff_entry.rs new file mode 100644 index 00000000..6098790a --- /dev/null +++ b/src/v2_1/datatypes/sales_tariff_entry.rs @@ -0,0 +1,28 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{ + consumption_cost::ConsumptionCostType, custom_data::CustomDataType, + relative_time_interval::RelativeTimeIntervalType, +}; + +/// Sales tariff entry details. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SalesTariffEntryType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Time and date at which the tariff becomes valid. + pub relative_time_interval: RelativeTimeIntervalType, + + /// Optional. Consumption cost per time interval. + #[serde(skip_serializing_if = "Option::is_none")] + pub consumption_cost: Option>, + + /// Optional. A human readable tariff description. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 32))] + pub e_price_level: Option, +} diff --git a/src/v2_1/datatypes/sampled_value.rs b/src/v2_1/datatypes/sampled_value.rs new file mode 100644 index 00000000..af581cfd --- /dev/null +++ b/src/v2_1/datatypes/sampled_value.rs @@ -0,0 +1,39 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, signed_meter_value::SignedMeterValueType}; +use crate::v2_1::enumerations::{ + LocationEnumType, MeasurandEnumType, PhaseEnumType, ReadingContextEnumType, +}; + +/// Single sampled value in MeterValues. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SampledValueType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Value as a floating-point number. + pub value: f64, + + /// Optional. Type of detail value: start, end or sample. + #[serde(skip_serializing_if = "Option::is_none")] + pub context: Option, + + /// Optional. Type of measurement value. + #[serde(skip_serializing_if = "Option::is_none")] + pub measurand: Option, + + /// Optional. Phase as measured or assumed. + #[serde(skip_serializing_if = "Option::is_none")] + pub phase: Option, + + /// Optional. Location of measurement. + #[serde(skip_serializing_if = "Option::is_none")] + pub location: Option, + + /// Optional. Contains the signed version of the meter value. + #[serde(skip_serializing_if = "Option::is_none")] + pub signed_meter_value: Option, +} diff --git a/src/v2_1/datatypes/set_monitoring_data.rs b/src/v2_1/datatypes/set_monitoring_data.rs new file mode 100644 index 00000000..5e6665a5 --- /dev/null +++ b/src/v2_1/datatypes/set_monitoring_data.rs @@ -0,0 +1,30 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{ + component::ComponentType, custom_data::CustomDataType, variable::VariableType, + variable_monitoring::VariableMonitoringType, +}; + +/// Class to hold parameters of SetVariableMonitoring request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetMonitoringDataType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Component for which a variable is monitored. + pub component: ComponentType, + + /// Required. Variable that is monitored. + pub variable: VariableType, + + /// Required. The type of this monitor, e.g. a threshold, delta or periodic monitor. + #[validate(length(min = 1))] + pub variable_monitoring: Vec, + + /// Optional. The severity that will be assigned to an event that is triggered by this monitor. + #[serde(skip_serializing_if = "Option::is_none")] + pub severity: Option, +} diff --git a/src/v2_1/datatypes/set_monitoring_result.rs b/src/v2_1/datatypes/set_monitoring_result.rs new file mode 100644 index 00000000..a3e64a40 --- /dev/null +++ b/src/v2_1/datatypes/set_monitoring_result.rs @@ -0,0 +1,34 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{ + component::ComponentType, custom_data::CustomDataType, status_info::StatusInfoType, + variable::VariableType, +}; +use crate::v2_1::enumerations::SetMonitoringStatusEnumType; + +/// Class to hold result of SetVariableMonitoring request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetMonitoringResultType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Status indicating whether the Charging Station accepts the monitoring request. + pub status: SetMonitoringStatusEnumType, + + /// Required. Component for which the monitoring status is returned. + pub component: ComponentType, + + /// Required. Variable for which the monitoring status is returned. + pub variable: VariableType, + + /// Required. Id of the monitor that was set. + #[validate(range(min = 0))] + pub id: i32, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/datatypes/set_variable_data.rs b/src/v2_1/datatypes/set_variable_data.rs new file mode 100644 index 00000000..331cdab6 --- /dev/null +++ b/src/v2_1/datatypes/set_variable_data.rs @@ -0,0 +1,28 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{component::ComponentType, custom_data::CustomDataType, variable::VariableType}; + +/// Class to hold parameters of SetVariable request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetVariableDataType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Component for which the variable is set. + pub component: ComponentType, + + /// Required. Variable which holds the attribute value. + pub variable: VariableType, + + /// Required. Value to be assigned to attribute of variable. + #[validate(length(max = 1000))] + pub attribute_value: String, + + /// Optional. Type of attribute that is set. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 50))] + pub attribute_type: Option, +} diff --git a/src/v2_1/datatypes/set_variable_result.rs b/src/v2_1/datatypes/set_variable_result.rs new file mode 100644 index 00000000..74325c81 --- /dev/null +++ b/src/v2_1/datatypes/set_variable_result.rs @@ -0,0 +1,35 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{ + component::ComponentType, custom_data::CustomDataType, status_info::StatusInfoType, + variable::VariableType, +}; +use crate::v2_1::enumerations::SetVariableStatusEnumType; + +/// Class to hold results of SetVariables request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetVariableResultType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Component for which the result is returned. + pub component: ComponentType, + + /// Required. Variable for which the result is returned. + pub variable: VariableType, + + /// Optional. Type of attribute for which the result is returned. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 50))] + pub attribute_type: Option, + + /// Required. Result status of setting the variable. + pub attribute_status: SetVariableStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub attribute_status_info: Option, +} diff --git a/src/v2_1/datatypes/signed_meter_value.rs b/src/v2_1/datatypes/signed_meter_value.rs new file mode 100644 index 00000000..27094339 --- /dev/null +++ b/src/v2_1/datatypes/signed_meter_value.rs @@ -0,0 +1,29 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Signed meter value data. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SignedMeterValueType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Base64 encoded, contains the signed data that needs to be verified. + #[validate(length(max = 2500))] + pub signed_meter_data: String, + + /// Required. Base64 encoded, contains the signing method information used to create the signature. + #[validate(length(max = 2500))] + pub signing_method: String, + + /// Required. Base64 encoded, contains the encoded X.509 certificate used to create the signature. + #[validate(length(max = 5500))] + pub encoding_method: String, + + /// Required. Base64 encoded, contains the actual signature. + #[validate(length(max = 800))] + pub public_key: String, +} diff --git a/src/v2_1/datatypes/status_info.rs b/src/v2_1/datatypes/status_info.rs index 48c02995..7621ea64 100644 --- a/src/v2_1/datatypes/status_info.rs +++ b/src/v2_1/datatypes/status_info.rs @@ -1,18 +1,22 @@ -use super::custom_data::CustomDataType; use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; /// Element providing more information about the status. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] pub struct StatusInfoType { - /// A predefined code for the reason why the status is returned in this response. - /// The string is case-insensitive. + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. A predefined string value describing the error. + #[validate(length(max = 50))] pub reason_code: String, - /// Additional text to provide detailed information. + /// Optional. Additional text to provide detailed information. #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 500))] pub additional_info: Option, - - /// Optional custom data - #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, } diff --git a/src/v2_1/datatypes/stream_data_element.rs b/src/v2_1/datatypes/stream_data_element.rs new file mode 100644 index 00000000..857150bb --- /dev/null +++ b/src/v2_1/datatypes/stream_data_element.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, variable::VariableType}; + +/// Class to report components, variables and variable attributes and characteristics. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct StreamDataElementType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Variable for which the stream data is reported. + pub variable: VariableType, + + /// Required. The value for the variable. + #[validate(length(max = 2500))] + pub value: String, + + /// Required. Sequence number for stream data. + #[validate(range(min = 0))] + pub sequence_id: i32, +} diff --git a/src/v2_1/datatypes/tariff.rs b/src/v2_1/datatypes/tariff.rs new file mode 100644 index 00000000..6b2de32b --- /dev/null +++ b/src/v2_1/datatypes/tariff.rs @@ -0,0 +1,50 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{ + custom_data::CustomDataType, tariff_conditions::TariffConditionsType, + tariff_energy::TariffEnergyType, tariff_fixed::TariffFixedType, tariff_time::TariffTimeType, +}; + +/// A tariff defines price and price rules for charging sessions. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TariffType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Unique identifier used to identify one or more tariffs. + #[validate(length(max = 36))] + pub id: String, + + /// Optional. Currency of the price in ISO 4217 format. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 3))] + pub currency: Option, + + /// Optional. Language identifier of the language used in the description fields. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 8))] + pub language: Option, + + /// Optional. Display text of the tariff. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 100))] + pub display_text: Option, + + /// Required. Conditions under which this tariff applies. + pub conditions: TariffConditionsType, + + /// Optional. Fixed costs of the tariff. + #[serde(skip_serializing_if = "Option::is_none")] + pub fixed: Option, + + /// Optional. Energy costs of the tariff. + #[serde(skip_serializing_if = "Option::is_none")] + pub energy: Option, + + /// Optional. Time costs of the tariff. + #[serde(skip_serializing_if = "Option::is_none")] + pub time: Option, +} diff --git a/src/v2_1/datatypes/tariff_assignment.rs b/src/v2_1/datatypes/tariff_assignment.rs new file mode 100644 index 00000000..b557a1b5 --- /dev/null +++ b/src/v2_1/datatypes/tariff_assignment.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Tariff assignment to a charging profile. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TariffAssignmentType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Unique identifier used to identify one or more tariffs. + #[validate(length(max = 36))] + pub id: String, + + /// Required. Start date and time of the tariff assignment. + pub start: String, + + /// Optional. End date and time of the tariff assignment. + #[serde(skip_serializing_if = "Option::is_none")] + pub expiry_date: Option, +} diff --git a/src/v2_1/datatypes/tariff_conditions.rs b/src/v2_1/datatypes/tariff_conditions.rs new file mode 100644 index 00000000..26c8f3b3 --- /dev/null +++ b/src/v2_1/datatypes/tariff_conditions.rs @@ -0,0 +1,37 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, tariff_conditions_fixed::TariffConditionsFixedType}; +use crate::v2_1::enumerations::EnergyTransferModeEnumType; + +/// Conditions for a tariff. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TariffConditionsType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Mode of energy transfer for which this tariff applies. + pub energy_transfer_mode: EnergyTransferModeEnumType, + + /// Optional. Fixed conditions for this tariff. + #[serde(skip_serializing_if = "Option::is_none")] + pub fixed: Option, + + /// Optional. Maximum power in kW that can be delivered under this tariff. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_power: Option, + + /// Optional. Minimum power in kW that must be delivered under this tariff. + #[serde(skip_serializing_if = "Option::is_none")] + pub min_power: Option, + + /// Optional. Maximum duration in seconds that a charging session can last under this tariff. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_duration: Option, + + /// Optional. Minimum duration in seconds that a charging session must last under this tariff. + #[serde(skip_serializing_if = "Option::is_none")] + pub min_duration: Option, +} diff --git a/src/v2_1/datatypes/tariff_conditions_fixed.rs b/src/v2_1/datatypes/tariff_conditions_fixed.rs new file mode 100644 index 00000000..f4e03dee --- /dev/null +++ b/src/v2_1/datatypes/tariff_conditions_fixed.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Fixed conditions for a tariff. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TariffConditionsFixedType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Fixed price per charging session. + pub price: f64, + + /// Optional. Fixed price per charging session, excluding taxes. + #[serde(skip_serializing_if = "Option::is_none")] + pub price_excl_tax: Option, + + /// Optional. Fixed price per charging session, including taxes. + #[serde(skip_serializing_if = "Option::is_none")] + pub price_incl_tax: Option, +} diff --git a/src/v2_1/datatypes/tariff_energy.rs b/src/v2_1/datatypes/tariff_energy.rs new file mode 100644 index 00000000..81232336 --- /dev/null +++ b/src/v2_1/datatypes/tariff_energy.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, tariff_energy_price::TariffEnergyPriceType}; + +/// Energy tariff structure defining energy costs. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TariffEnergyType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Energy price per kWh. + pub energy_price: TariffEnergyPriceType, + + /// Optional. Maximum energy in kWh that can be charged under this tariff. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_energy: Option, + + /// Optional. Minimum energy in kWh that must be charged under this tariff. + #[serde(skip_serializing_if = "Option::is_none")] + pub min_energy: Option, +} diff --git a/src/v2_1/datatypes/tariff_energy_price.rs b/src/v2_1/datatypes/tariff_energy_price.rs new file mode 100644 index 00000000..91c800cd --- /dev/null +++ b/src/v2_1/datatypes/tariff_energy_price.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Energy price for a tariff. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TariffEnergyPriceType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Price per kWh. + pub price: f64, + + /// Optional. Price per kWh, excluding taxes. + #[serde(skip_serializing_if = "Option::is_none")] + pub price_excl_tax: Option, + + /// Optional. Price per kWh, including taxes. + #[serde(skip_serializing_if = "Option::is_none")] + pub price_incl_tax: Option, +} diff --git a/src/v2_1/datatypes/tariff_fixed.rs b/src/v2_1/datatypes/tariff_fixed.rs new file mode 100644 index 00000000..54a2eae9 --- /dev/null +++ b/src/v2_1/datatypes/tariff_fixed.rs @@ -0,0 +1,16 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, tariff_fixed_price::TariffFixedPriceType}; + +/// Fixed tariff structure defining fixed costs. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TariffFixedType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Fixed price per charging session. + pub fixed_price: TariffFixedPriceType, +} diff --git a/src/v2_1/datatypes/tariff_fixed_price.rs b/src/v2_1/datatypes/tariff_fixed_price.rs new file mode 100644 index 00000000..990e0456 --- /dev/null +++ b/src/v2_1/datatypes/tariff_fixed_price.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Fixed price component of a tariff. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TariffFixedPriceType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Fixed price per charging session. + pub price: f64, + + /// Optional. Fixed price per charging session, excluding taxes. + #[serde(skip_serializing_if = "Option::is_none")] + pub price_excl_tax: Option, + + /// Optional. Fixed price per charging session, including taxes. + #[serde(skip_serializing_if = "Option::is_none")] + pub price_incl_tax: Option, +} diff --git a/src/v2_1/datatypes/tariff_time.rs b/src/v2_1/datatypes/tariff_time.rs new file mode 100644 index 00000000..f2cee7c5 --- /dev/null +++ b/src/v2_1/datatypes/tariff_time.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, tariff_time_price::TariffTimePriceType}; + +/// Time tariff structure defining time-based costs. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TariffTimeType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Time-based price per hour. + pub time_price: TariffTimePriceType, + + /// Optional. Maximum duration in seconds that can be charged under this tariff. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_duration: Option, + + /// Optional. Minimum duration in seconds that must be charged under this tariff. + #[serde(skip_serializing_if = "Option::is_none")] + pub min_duration: Option, +} diff --git a/src/v2_1/datatypes/tariff_time_price.rs b/src/v2_1/datatypes/tariff_time_price.rs new file mode 100644 index 00000000..dbddc500 --- /dev/null +++ b/src/v2_1/datatypes/tariff_time_price.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Time-based price for a tariff. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TariffTimePriceType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Price per hour in the currency specified. + pub price: f64, + + /// Optional. Price per hour in the currency specified, excluding taxes. + #[serde(skip_serializing_if = "Option::is_none")] + pub price_excl_tax: Option, + + /// Optional. Price per hour in the currency specified, including taxes. + #[serde(skip_serializing_if = "Option::is_none")] + pub price_incl_tax: Option, +} diff --git a/src/v2_1/datatypes/tax_rate.rs b/src/v2_1/datatypes/tax_rate.rs new file mode 100644 index 00000000..77b54a67 --- /dev/null +++ b/src/v2_1/datatypes/tax_rate.rs @@ -0,0 +1,20 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Tax rate structure defining tax rate details. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TaxRateType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Tax rate in percent. + pub tax_rate: f64, + + /// Required. Tax rate name. + #[validate(length(max = 20))] + pub tax_rate_name: String, +} diff --git a/src/v2_1/datatypes/tax_rule.rs b/src/v2_1/datatypes/tax_rule.rs new file mode 100644 index 00000000..b0f359e9 --- /dev/null +++ b/src/v2_1/datatypes/tax_rule.rs @@ -0,0 +1,26 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, tax_rate::TaxRateType}; + +/// Tax rule structure defining tax rules for a tariff. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TaxRuleType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Tax rate for this tax rule. + pub tax_rate: TaxRateType, + + /// Optional. Type of energy for which this tax rule applies. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 50))] + pub energy_source_type: Option, + + /// Optional. Type of consumption for which this tax rule applies. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 50))] + pub consumption_type: Option, +} diff --git a/src/v2_1/datatypes/total_cost.rs b/src/v2_1/datatypes/total_cost.rs new file mode 100644 index 00000000..7d4c230d --- /dev/null +++ b/src/v2_1/datatypes/total_cost.rs @@ -0,0 +1,59 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, price::PriceType, total_price::TotalPriceType}; +use crate::v2_1::enumerations::TariffCostEnumType; + +/// Structure to report costs. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TotalCostType { + /// Currency of the costs in ISO 4217 Code. + #[validate(length(max = 3))] + pub currency: String, + + /// Type of cost: normal or the minimum or maximum cost. + pub type_of_cost: TariffCostEnumType, + + /// Fixed costs per transaction. + #[serde(skip_serializing_if = "Option::is_none")] + pub fixed: Option, + + /// Energy costs per transaction. + #[serde(skip_serializing_if = "Option::is_none")] + pub energy: Option, + + /// Time cost per transaction. + #[serde(skip_serializing_if = "Option::is_none")] + pub charging_time: Option, + + /// Idle time cost per transaction. + #[serde(skip_serializing_if = "Option::is_none")] + pub idle_time: Option, + + /// Reservation time cost per transaction. + #[serde(skip_serializing_if = "Option::is_none")] + pub reservation_time: Option, + + /// Fixed reservation costs per transaction. + #[serde(skip_serializing_if = "Option::is_none")] + pub reservation_fixed: Option, + + /// Total cost including and/or excluding tax. + pub total: TotalPriceType, + + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The total cost (including taxes) of the transaction in the specified currency. + pub cost: f64, + + /// Optional. The total cost (excluding taxes) of the transaction in the specified currency. + #[serde(skip_serializing_if = "Option::is_none")] + pub cost_excl_tax: Option, + + /// Optional. The total cost (including taxes) of the transaction in the specified currency. + #[serde(skip_serializing_if = "Option::is_none")] + pub cost_incl_tax: Option, +} diff --git a/src/v2_1/datatypes/total_price.rs b/src/v2_1/datatypes/total_price.rs new file mode 100644 index 00000000..35ff6018 --- /dev/null +++ b/src/v2_1/datatypes/total_price.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Structure to report total price. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TotalPriceType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The total price (including taxes) in the specified currency. + pub price: f64, + + /// Optional. The total price (excluding taxes) in the specified currency. + #[serde(skip_serializing_if = "Option::is_none")] + pub price_excl_tax: Option, + + /// Optional. The total price (including taxes) in the specified currency. + #[serde(skip_serializing_if = "Option::is_none")] + pub price_incl_tax: Option, +} diff --git a/src/v2_1/datatypes/total_usage.rs b/src/v2_1/datatypes/total_usage.rs new file mode 100644 index 00000000..a3cf70cc --- /dev/null +++ b/src/v2_1/datatypes/total_usage.rs @@ -0,0 +1,24 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Structure to report total usage of a resource. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TotalUsageType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The total usage of the resource. + pub usage: f64, + + /// Optional. The total usage of the resource, excluding taxes. + #[serde(skip_serializing_if = "Option::is_none")] + pub usage_excl_tax: Option, + + /// Optional. The total usage of the resource, including taxes. + #[serde(skip_serializing_if = "Option::is_none")] + pub usage_incl_tax: Option, +} diff --git a/src/v2_1/datatypes/transaction.rs b/src/v2_1/datatypes/transaction.rs new file mode 100644 index 00000000..eda7a567 --- /dev/null +++ b/src/v2_1/datatypes/transaction.rs @@ -0,0 +1,39 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::{custom_data::CustomDataType, id_token::IdTokenType}; +use crate::v2_1::enumerations::ChargingStateEnumType; + +/// A transaction for charging an EV. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TransactionType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. This contains the identifier by which the Charging Station and the CSMS identify the transaction. + #[validate(length(max = 36))] + pub transaction_id: String, + + /// Optional. The identifier that identifies the current charging state of the charging session. + #[serde(skip_serializing_if = "Option::is_none")] + pub charging_state: Option, + + /// Optional. The time when the transaction was started. + #[serde(skip_serializing_if = "Option::is_none")] + pub time_start: Option>, + + /// Optional. The time when the transaction was stopped. + #[serde(skip_serializing_if = "Option::is_none")] + pub time_end: Option>, + + /// Optional. This contains the identifier by which the user that started the transaction can be identified. + #[serde(skip_serializing_if = "Option::is_none")] + pub id_token: Option, + + /// Optional. This contains the identifier by which the user that stopped the transaction can be identified. + #[serde(skip_serializing_if = "Option::is_none")] + pub stop_id_token: Option, +} diff --git a/src/v2_1/datatypes/transaction_limit.rs b/src/v2_1/datatypes/transaction_limit.rs new file mode 100644 index 00000000..82cb1f8f --- /dev/null +++ b/src/v2_1/datatypes/transaction_limit.rs @@ -0,0 +1,21 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Transaction limits for a charging session. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TransactionLimitType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Optional. Maximum amount of energy in kWh that may be delivered to an EV. + #[serde(skip_serializing_if = "Option::is_none")] + pub energy_limit: Option, + + /// Optional. Maximum duration in seconds that a transaction may last. + #[serde(skip_serializing_if = "Option::is_none")] + pub time_limit: Option, +} diff --git a/src/v2_1/datatypes/unit_of_measure.rs b/src/v2_1/datatypes/unit_of_measure.rs new file mode 100644 index 00000000..77c7fec0 --- /dev/null +++ b/src/v2_1/datatypes/unit_of_measure.rs @@ -0,0 +1,25 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Represents a UnitOfMeasure with a multiplier. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct UnitOfMeasureType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Unit of the value. Default = "Wh" if the (default) measurand is an "Energy" type. + /// This field SHALL use a value from the list Standardized Units of Measurements in Part 2 Appendices. + /// If an applicable unit is available in that list, otherwise a "custom" unit might be used. + #[validate(length(max = 20))] + pub unit: String, + + /// Optional. Multiplier, this value represents the exponent to base 10. I.e. multiplier 3 means 10 raised to the third power. + /// Default is 0. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = -9, max = 9))] + pub multiplier: Option, +} diff --git a/src/v2_1/datatypes/v2x_charging_parameters.rs b/src/v2_1/datatypes/v2x_charging_parameters.rs new file mode 100644 index 00000000..e992fd93 --- /dev/null +++ b/src/v2_1/datatypes/v2x_charging_parameters.rs @@ -0,0 +1,34 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// V2X charging parameters for an ISO 15118-20 session. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct V2XChargingParametersType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Maximum discharge power in W (DC) or VA (AC). + pub ev_max_discharge_power: f64, + + /// Required. Maximum discharge current in A. + pub ev_max_discharge_current: f64, + + /// Required. Maximum voltage at which the EV can discharge. + pub ev_max_voltage: f64, + + /// Optional. Minimum voltage at which the EV can discharge. + #[serde(skip_serializing_if = "Option::is_none")] + pub ev_min_voltage: Option, + + /// Optional. Minimum discharge current that the EV needs. + #[serde(skip_serializing_if = "Option::is_none")] + pub ev_min_discharge_current: Option, + + /// Optional. Minimum discharge power that the EV needs, in W (DC) or VA (AC). + #[serde(skip_serializing_if = "Option::is_none")] + pub ev_min_discharge_power: Option, +} diff --git a/src/v2_1/datatypes/v2x_freq_watt_point.rs b/src/v2_1/datatypes/v2x_freq_watt_point.rs new file mode 100644 index 00000000..76d67324 --- /dev/null +++ b/src/v2_1/datatypes/v2x_freq_watt_point.rs @@ -0,0 +1,19 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Point in a frequency-watt curve for V2X. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct V2XFreqWattPointType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Frequency in Hz. + pub freq: f64, + + /// Required. Power in percent of maximum power. Negative values indicate power being discharged from the EV. + pub power: f64, +} diff --git a/src/v2_1/datatypes/v2x_signal_watt_point.rs b/src/v2_1/datatypes/v2x_signal_watt_point.rs new file mode 100644 index 00000000..18725f08 --- /dev/null +++ b/src/v2_1/datatypes/v2x_signal_watt_point.rs @@ -0,0 +1,20 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Point in a signal-watt curve for V2X. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct V2XSignalWattPointType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Signal value between 0 and 100 percent. + #[validate(range(min = 0.0, max = 100.0))] + pub signal: f64, + + /// Required. Power in percent of maximum power. Negative values indicate power being discharged from the EV. + pub power: f64, +} diff --git a/src/v2_1/datatypes/variable.rs b/src/v2_1/datatypes/variable.rs index e670702b..4e52f9fd 100644 --- a/src/v2_1/datatypes/variable.rs +++ b/src/v2_1/datatypes/variable.rs @@ -1,19 +1,21 @@ -use super::custom_data::CustomDataType; use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; /// Reference key to a component-variable. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] pub struct VariableType { - /// Name of the variable. Name should be taken from the list of standardized variable names whenever possible. - /// Case Insensitive. Strongly advised to use Camel Case. - pub name: String, - - /// Name of instance in case the variable exists as multiple instances. - /// Case Insensitive. Strongly advised to use Camel Case. - #[serde(skip_serializing_if = "Option::is_none")] - pub instance: Option, - - /// Optional custom data + /// Custom data from the Charging Station. #[serde(skip_serializing_if = "Option::is_none")] pub custom_data: Option, + + /// Required. Name of the variable. Name should be taken from the list of standardized variable names whenever possible. + #[validate(length(max = 50))] + pub name: String, + + /// Required. Name of instance in case the variable exists as multiple instances. + #[validate(length(max = 50))] + pub instance: String, } diff --git a/src/v2_1/datatypes/variable_attribute.rs b/src/v2_1/datatypes/variable_attribute.rs new file mode 100644 index 00000000..826d2776 --- /dev/null +++ b/src/v2_1/datatypes/variable_attribute.rs @@ -0,0 +1,36 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; +use crate::v2_1::enumerations::MutabilityEnumType; + +/// Attribute data of a variable. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct VariableAttributeType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Type of attribute: Actual, Target, MinSet, MaxSet, etc. + /// This value refers to the attribute name from the list of attributes provided in the Variable class from the OCPP 2.0 Part 2 Appendices. + #[validate(length(max = 50))] + pub r#type: String, + + /// Required. Value of the attribute. May only be omitted when mutability is set to 'WriteOnly'. + /// The Configuration Variable ConfigurationValueSize can be used to limit the size of this field. + #[validate(length(max = 1000))] + pub value: String, + + /// Required. Defines the mutability of this attribute. + /// Default = ReadWrite when omitted. + pub mutability: MutabilityEnumType, + + /// Optional. Boolean indicating if this variable is persistent between sessions. + #[serde(skip_serializing_if = "Option::is_none")] + pub persistent: Option, + + /// Optional. Boolean indicating if this variable is constant. + #[serde(skip_serializing_if = "Option::is_none")] + pub constant: Option, +} diff --git a/src/v2_1/datatypes/variable_characteristics.rs b/src/v2_1/datatypes/variable_characteristics.rs index c8ca3b03..32ed74a3 100644 --- a/src/v2_1/datatypes/variable_characteristics.rs +++ b/src/v2_1/datatypes/variable_characteristics.rs @@ -1,5 +1,6 @@ use super::custom_data::CustomDataType; use serde::{Deserialize, Serialize}; +use validator::Validate; /// Defines the datatype of the variable. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] @@ -23,30 +24,28 @@ pub enum DataEnumType { } /// Fixed read-only parameters of a variable. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] pub struct VariableCharacteristicsType { - /// Unit of the variable. When the transmitted value has a unit, this field SHALL be included. + /// Custom data from the Charging Station. #[serde(skip_serializing_if = "Option::is_none")] - pub unit: Option, + pub custom_data: Option, + + /// Required. Unit of the variable. When the variable represents a measurand from the measurand enumeration, this field SHALL contain the unit of the measurand as used in the signedMeterValue field defined in Part 2. + #[validate(length(max = 16))] + pub unit: String, - /// Data type of this variable. + /// Required. Data type of this variable. pub data_type: DataEnumType, - /// Minimum possible value of this variable. - #[serde(skip_serializing_if = "Option::is_none")] - pub min_limit: Option, + /// Required. Minimum possible value of this variable. + #[validate(length(max = 1000))] + pub min_limit: String, - /// Maximum possible value of this variable. - /// When the datatype is String, OptionList, SequenceList or MemberList, - /// this field defines the maximum length of the (CSV) string. - #[serde(skip_serializing_if = "Option::is_none")] - pub max_limit: Option, + /// Required. Maximum possible value of this variable. + #[validate(length(max = 1000))] + pub max_limit: String, - /// Maximum number of elements from valuesList that are supported as attributeValue. - #[serde(skip_serializing_if = "Option::is_none")] - pub max_elements: Option, - - /// Optional custom data - #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, + /// Required. When true, value from the Charging Station may not be set to null. + pub supports_monitoring: bool, } diff --git a/src/v2_1/datatypes/variable_monitoring.rs b/src/v2_1/datatypes/variable_monitoring.rs new file mode 100644 index 00000000..0db93aa2 --- /dev/null +++ b/src/v2_1/datatypes/variable_monitoring.rs @@ -0,0 +1,27 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; +use crate::v2_1::enumerations::MonitorEnumType; + +/// A monitoring setting for a variable. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct VariableMonitoringType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. ID of the monitor. + pub id: i32, + + /// Required. Monitor type of the variable. + pub r#type: MonitorEnumType, + + /// Required. Value for threshold or delta of the monitor. + pub value: f64, + + /// Optional. The severity that will be assigned to an event that is triggered by this monitor. + #[serde(skip_serializing_if = "Option::is_none")] + pub severity: Option, +} diff --git a/src/v2_1/datatypes/voltage_params.rs b/src/v2_1/datatypes/voltage_params.rs new file mode 100644 index 00000000..0e3ec80f --- /dev/null +++ b/src/v2_1/datatypes/voltage_params.rs @@ -0,0 +1,25 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// Parameters for voltage-based control. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct VoltageParamsType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Voltage at which to start charging, in Volts. + pub voltage_start: f64, + + /// Required. Voltage at which to stop charging, in Volts. + pub voltage_stop: f64, + + /// Required. Voltage at which to start discharging, in Volts. + pub voltage_discharge_start: f64, + + /// Required. Voltage at which to stop discharging, in Volts. + pub voltage_discharge_stop: f64, +} diff --git a/src/v2_1/datatypes/vpn.rs b/src/v2_1/datatypes/vpn.rs new file mode 100644 index 00000000..fed687c5 --- /dev/null +++ b/src/v2_1/datatypes/vpn.rs @@ -0,0 +1,33 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use super::custom_data::CustomDataType; + +/// VPN Configuration settings. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct VPNType { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. VPN Server Address. + #[validate(length(max = 512))] + pub server: String, + + /// Required. VPN User. + #[validate(length(max = 20))] + pub user: String, + + /// Required. VPN Password. + #[validate(length(max = 20))] + pub password: String, + + /// Required. VPN Key. + #[validate(length(max = 255))] + pub key: String, + + /// Required. VPN Type. + #[validate(length(max = 32))] + pub r#type: String, +} diff --git a/src/v2_1/enumerations/der_control.rs b/src/v2_1/enumerations/der_control.rs index fe974e9f..cdd1e1c2 100644 --- a/src/v2_1/enumerations/der_control.rs +++ b/src/v2_1/enumerations/der_control.rs @@ -1,7 +1,7 @@ use serde::{Deserialize, Serialize}; -/// Type of DER control. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +/// Type of DER curve +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)] pub enum DERControlEnumType { #[serde(rename = "EnterService")] EnterService, diff --git a/src/v2_1/enumerations/der_unit.rs b/src/v2_1/enumerations/der_unit.rs index c93a12f8..33d96479 100644 --- a/src/v2_1/enumerations/der_unit.rs +++ b/src/v2_1/enumerations/der_unit.rs @@ -1,7 +1,7 @@ use serde::{Deserialize, Serialize}; -/// Unit of the setpoint. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +/// Unit of the Y-axis of DER curve +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)] pub enum DERUnitEnumType { #[serde(rename = "Not_Applicable")] NotApplicable, diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 0d19b8f1..5d3e5ef0 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -1,110 +1,109 @@ -mod apn_authentication; -mod attribute; -mod authorization_status; -mod authorize_certificate_status; -mod battery_swap_event; -mod boot_reason; -mod cancel_reservation_status; -mod certificate_action; -mod certificate_signed_status; -mod certificate_signing_use; -mod certificate_status; -mod certificate_status_source; -mod change_availability_status; -mod charging_limit_source; -mod charging_profile_kind; -mod charging_profile_purpose; -mod charging_profile_status; -mod charging_rate_unit; -mod charging_state; -mod clear_cache_status; -mod clear_charging_profile_status; -mod clear_message_status; -mod clear_monitoring_status; -mod component_criterion; -mod connector_status; -mod control_mode; -mod cost_dimension; -mod cost_kind; -mod customer_information_status; -mod data_transfer_status; -mod day_of_week; -mod delete_certificate_status; -mod der_control; -mod der_control_status; -mod der_unit; -mod display_message_status; -mod energy_transfer_mode; -mod event_notification; -mod event_trigger; -mod evse_kind; -mod firmware_status; -mod generic_device_model_status; -mod generic_status; -mod get_certificate_id_use; -mod get_certificate_status; -mod get_charging_profile_status; -mod get_display_messages_status; -mod get_installed_certificate_status; -mod get_variable_status; -mod grid_event_fault; -mod hash_algorithm; -mod install_certificate_status; -mod install_certificate_use; -mod islanding_detection; -mod iso15118ev_certificate_status; -mod location; -mod log; -mod log_status; -mod measurand; -mod message_format; -mod message_priority; -mod message_state; -mod message_trigger; -mod mobility_needs_mode; -mod monitor; -mod monitoring_base; -mod monitoring_criterion; -mod mutability; -mod notify_allowed_energy_transfer_status; -mod notify_ev_charging_needs_status; -mod ocpp_interface; -mod ocpp_transport; -mod ocpp_version; -mod operation_mode; -mod operational_status; -mod payment_status; -mod phase; -mod power_during_cessation; -mod preconditioning_status; -mod priority_charging_status; -mod publish_firmware_status; -mod reading_context; -mod reason; -mod recurrency_kind; -mod registration_status; -mod report_base; -mod request_start_stop_status; -mod reservation_update_status; -mod reserve_now_status; -mod reset; -mod reset_status; -mod send_local_list_status; -mod set_monitoring_status; -mod set_network_profile_status; -mod set_variable_status; -mod tariff_change_status; -mod tariff_clear_status; -mod tariff_cost; -mod tariff_get_status; -mod tariff_kind; -mod tariff_set_status; -mod transaction_event; +pub mod apn_authentication; +pub mod attribute; +pub mod authorization_status; +pub mod authorize_certificate_status; +pub mod battery_swap_event; +pub mod boot_reason; +pub mod cancel_reservation_status; +pub mod certificate_action; +pub mod certificate_signed_status; +pub mod certificate_signing_use; +pub mod certificate_status; +pub mod certificate_status_source; +pub mod change_availability_status; +pub mod charging_limit_source; +pub mod charging_profile_kind; +pub mod charging_profile_purpose; +pub mod charging_profile_status; +pub mod charging_rate_unit; +pub mod charging_state; +pub mod clear_cache_status; +pub mod clear_charging_profile_status; +pub mod clear_message_status; +pub mod clear_monitoring_status; +pub mod component_criterion; +pub mod connector_status; +pub mod control_mode; +pub mod cost_dimension; +pub mod cost_kind; +pub mod customer_information_status; +pub mod data_transfer_status; +pub mod day_of_week; +pub mod delete_certificate_status; +pub mod der_control; +pub mod der_unit; +pub mod display_message_status; +pub mod energy_transfer_mode; +pub mod event_notification; +pub mod event_trigger; +pub mod evse_kind; +pub mod firmware_status; +pub mod generic_device_model_status; +pub mod generic_status; +pub mod get_certificate_id_use; +pub mod get_certificate_status; +pub mod get_charging_profile_status; +pub mod get_display_messages_status; +pub mod get_installed_certificate_status; +pub mod get_variable_status; +pub mod grid_event_fault; +pub mod hash_algorithm; +pub mod install_certificate_status; +pub mod install_certificate_use; +pub mod islanding_detection; +pub mod iso15118ev_certificate_status; +pub mod location; +pub mod log; +pub mod log_status; +pub mod measurand; +pub mod message_format; +pub mod message_priority; +pub mod message_state; +pub mod message_trigger; +pub mod mobility_needs_mode; +pub mod monitor; +pub mod monitoring_base; +pub mod monitoring_criterion; +pub mod mutability; +pub mod notify_allowed_energy_transfer_status; +pub mod notify_ev_charging_needs_status; +pub mod ocpp_interface; +pub mod ocpp_transport; +pub mod ocpp_version; +pub mod operation_mode; +pub mod operational_status; +pub mod payment_status; +pub mod phase; +pub mod power_during_cessation; +pub mod preconditioning_status; +pub mod priority_charging_status; +pub mod publish_firmware_status; +pub mod reading_context; +pub mod reason; +pub mod recurrency_kind; +pub mod registration_status; +pub mod report_base; +pub mod request_start_stop_status; +pub mod reservation_update_status; +pub mod reserve_now_status; +pub mod reset; +pub mod reset_status; +pub mod send_local_list_status; +pub mod set_monitoring_status; +pub mod set_network_profile_status; +pub mod set_variable_status; +pub mod tariff_change_status; +pub mod tariff_clear_status; +pub mod tariff_cost; +pub mod tariff_get_status; +pub mod tariff_kind; +pub mod tariff_set_status; +pub mod transaction_event; pub mod unpublish_firmware_status; pub mod update; pub mod update_firmware_status; pub mod upload_log_status; -mod vpn; +pub mod vpn; pub use apn_authentication::APNAuthenticationEnumType; pub use attribute::AttributeEnumType; @@ -139,7 +138,6 @@ pub use data_transfer_status::DataTransferStatusEnumType; pub use day_of_week::DayOfWeekEnumType; pub use delete_certificate_status::DeleteCertificateStatusEnumType; pub use der_control::DERControlEnumType; -pub use der_control_status::DERControlStatusEnumType; pub use der_unit::DERUnitEnumType; pub use display_message_status::DisplayMessageStatusEnumType; pub use energy_transfer_mode::EnergyTransferModeEnumType; diff --git a/src/v2_1/enumerations/tariff_cost.rs b/src/v2_1/enumerations/tariff_cost.rs index 65a1be87..756f9908 100644 --- a/src/v2_1/enumerations/tariff_cost.rs +++ b/src/v2_1/enumerations/tariff_cost.rs @@ -1,10 +1,12 @@ -#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +use serde::{Deserialize, Serialize}; + +/// Type of cost: normal or the minimum or maximum cost. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)] pub enum TariffCostEnumType { - #[default] - #[serde(rename = "Relative")] - Relative, - #[serde(rename = "Absolute")] - Absolute, - #[serde(rename = "CarbonDioxideEmission")] - CarbonDioxideEmission, + #[serde(rename = "NormalCost")] + NormalCost, + #[serde(rename = "MinCost")] + MinCost, + #[serde(rename = "MaxCost")] + MaxCost, } diff --git a/src/v2_1/messages/authorize.rs b/src/v2_1/messages/authorize.rs index 69cb66f4..d56e28bc 100644 --- a/src/v2_1/messages/authorize.rs +++ b/src/v2_1/messages/authorize.rs @@ -1,4 +1,4 @@ -use super::super::datatypes::{CustomDataType, IdTokenInfoType, IdTokenType, TariffType}; +use super::super::datatypes::{CustomDataType, IdTokenType, TariffType}; use super::super::enumerations::{AuthorizeCertificateStatusEnumType, EnergyTransferModeEnumType}; use serde::{Deserialize, Serialize}; From 3d9c1f970e07021d3558613b7a5d6f1ae758743e Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Fri, 14 Feb 2025 12:35:30 +0100 Subject: [PATCH 044/249] refactor: Improve IslandingDetectionEnumType serialization and naming - Update import style for serde traits - Add serde rename attributes for UVP_OVP and UFP_OFP enum variants - Adjust enum variant names to follow Rust naming conventions --- src/v2_1/enumerations/islanding_detection.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/v2_1/enumerations/islanding_detection.rs b/src/v2_1/enumerations/islanding_detection.rs index 0eac2d7b..a175011b 100644 --- a/src/v2_1/enumerations/islanding_detection.rs +++ b/src/v2_1/enumerations/islanding_detection.rs @@ -1,10 +1,14 @@ -#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +use serde::{Deserialize, Serialize}; + +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] pub enum IslandingDetectionEnumType { #[default] NoAntiIslandingSupport, RoCoF, - UVP_OVP, - UFP_OFP, + #[serde(rename = "UVP_OVP")] + UvpOvp, + #[serde(rename = "UFP_OFP")] + UfpOfp, VoltageVectorShift, ZeroCrossingDetection, OtherPassive, From 22f4a4a5eeec39e38c7a94edd1321f1edd99baa1 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Fri, 14 Feb 2025 12:35:47 +0100 Subject: [PATCH 045/249] refactor: Remove Hash trait from ChargingScheduleUpdateType - Remove unnecessary Hash derive for ChargingScheduleUpdateType - Maintain other existing traits and serialization behavior --- src/v2_1/datatypes/charging_schedule_update.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/v2_1/datatypes/charging_schedule_update.rs b/src/v2_1/datatypes/charging_schedule_update.rs index 71842ef6..3da089f1 100644 --- a/src/v2_1/datatypes/charging_schedule_update.rs +++ b/src/v2_1/datatypes/charging_schedule_update.rs @@ -4,7 +4,7 @@ use validator::Validate; use super::custom_data::CustomDataType; /// Updates to a ChargingSchedulePeriodType for dynamic charging profiles. -#[derive(Clone, Debug, Deserialize, Hash, PartialEq, Serialize, Validate)] +#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, Validate)] #[serde(rename_all = "camelCase")] pub struct ChargingScheduleUpdateType { /// Custom data specific to this class. From 276222b61abe73985d783075ec5421bfc12f8975 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Fri, 14 Feb 2025 12:35:58 +0100 Subject: [PATCH 046/249] refactor: Update SalesTariffEntryType validation for e_price_level - Replace length validation with range validation for e_price_level - Modify validation constraint to allow zero and positive values --- src/v2_1/datatypes/sales_tariff_entry.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/v2_1/datatypes/sales_tariff_entry.rs b/src/v2_1/datatypes/sales_tariff_entry.rs index 6098790a..166954ce 100644 --- a/src/v2_1/datatypes/sales_tariff_entry.rs +++ b/src/v2_1/datatypes/sales_tariff_entry.rs @@ -23,6 +23,6 @@ pub struct SalesTariffEntryType { /// Optional. A human readable tariff description. #[serde(skip_serializing_if = "Option::is_none")] - #[validate(length(max = 32))] + #[validate(range(min = 0))] pub e_price_level: Option, } From 10fd4df798307dc60e8c247585c1a929dcb23994 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Fri, 14 Feb 2025 12:36:05 +0100 Subject: [PATCH 047/249] feat: Enhance IdTokenType validation and schema for OCPP v2.1 - Update IdTokenType to support comprehensive ID token validation - Modify type field to use string with predefined values - Increase max length for id_token to 255 characters - Add more detailed schema validation tests for ID token types --- src/tests/schema_validation/v2_1.rs | 115 ++++++++++++++++++++++++++++ src/v2_1/datatypes/id_token.rs | 26 ++++--- src/v2_1/messages/authorize.rs | 2 + 3 files changed, 131 insertions(+), 12 deletions(-) diff --git a/src/tests/schema_validation/v2_1.rs b/src/tests/schema_validation/v2_1.rs index ff2e05c6..e08890e4 100644 --- a/src/tests/schema_validation/v2_1.rs +++ b/src/tests/schema_validation/v2_1.rs @@ -136,4 +136,119 @@ fn test_valid_boot_notification_response_v2_1() -> Result<(), Box Result<(), Box> { + // Test with all optional fields + let instance = serde_json::json!({ + "idToken": { + "additionalInfo": [{ + "additionalIdToken": "TEST123", + "type": "someType" + }], + "idToken": "ABCD1234567890", + "type": "ISO14443", + "customData": { + "vendorId": "TestVendor" + } + } + }); + assert!(validate_schema_instance("AuthorizeRequest.json", instance)?); + + // Test with only required fields + let instance = serde_json::json!({ + "idToken": { + "idToken": "ABCD1234567890", + "type": "Central" + } + }); + assert!(validate_schema_instance("AuthorizeRequest.json", instance)?); + + // Test with maximum length strings + let instance = serde_json::json!({ + "idToken": { + "idToken": "A".repeat(255), + "type": "A".repeat(20) + } + }); + assert!(validate_schema_instance("AuthorizeRequest.json", instance)?); + + // Test all predefined values + for type_value in [ + "Central", + "DirectPayment", + "eMAID", + "EVCCID", + "ISO14443", + "ISO15693", + "KeyCode", + "Local", + "MacAddress", + "NoAuthorization", + "VIN", + ] { + let instance = serde_json::json!({ + "idToken": { + "idToken": "ABCD1234567890", + "type": type_value + } + }); + assert!(validate_schema_instance("AuthorizeRequest.json", instance)?); + } + + Ok(()) +} + +#[test] +fn test_invalid_id_token_type() -> Result<(), Box> { + // Test with missing required field + let instance = serde_json::json!({ + "idToken": { + "idToken": "ABCD1234567890" + // Missing required 'type' field + } + }); + assert!(!validate_schema_instance( + "AuthorizeRequest.json", + instance + )?); + + // Test with empty additionalInfo array (violates minItems: 1) + let instance = serde_json::json!({ + "idToken": { + "additionalInfo": [], + "idToken": "ABCD1234567890", + "type": "ISO14443" + } + }); + assert!(!validate_schema_instance( + "AuthorizeRequest.json", + instance + )?); + + // Test with too long strings + let instance = serde_json::json!({ + "idToken": { + "idToken": "A".repeat(256), + "type": "ISO14443" + } + }); + assert!(!validate_schema_instance( + "AuthorizeRequest.json", + instance + )?); + + let instance = serde_json::json!({ + "idToken": { + "idToken": "ABCD1234567890", + "type": "A".repeat(21) // Type string too long + } + }); + assert!(!validate_schema_instance( + "AuthorizeRequest.json", + instance + )?); + + Ok(()) +} + // We recommend installing an extension to run rust tests. diff --git a/src/v2_1/datatypes/id_token.rs b/src/v2_1/datatypes/id_token.rs index 9ad450d8..92ffd832 100644 --- a/src/v2_1/datatypes/id_token.rs +++ b/src/v2_1/datatypes/id_token.rs @@ -1,26 +1,28 @@ use serde::{Deserialize, Serialize}; use validator::Validate; -use crate::v2_0_1::enumerations::id_token_enum_type::IdTokenEnumType; - use super::{additional_info::AdditionalInfoType, custom_data::CustomDataType}; -/// Contains identifier to use for authorization. +/// Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers. #[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] #[serde(rename_all = "camelCase")] pub struct IdTokenType { - /// Custom data from the Charging Station. + /// Optional. Additional information about the identifier. #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, - - /// Required. Type of the identifier. - pub r#type: IdTokenEnumType, + #[validate(length(min = 1))] + pub additional_info: Option>, - /// Required. The identifier to use for authorization. - #[validate(length(max = 36))] + /// Required. IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID. + #[validate(length(max = 255))] pub id_token: String, - /// Optional. Additional information about the identifier. + /// Required. Type of identification used to authorize charging. + /// Allowed values: "Central", "DirectPayment", "eMAID", "EVCCID", "ISO14443", "ISO15693", + /// "KeyCode", "Local", "MacAddress", "NoAuthorization", "VIN" + #[validate(length(max = 20))] + pub r#type: String, + + /// Optional custom data #[serde(skip_serializing_if = "Option::is_none")] - pub additional_info: Option>, + pub custom_data: Option, } diff --git a/src/v2_1/messages/authorize.rs b/src/v2_1/messages/authorize.rs index d56e28bc..9d1effa4 100644 --- a/src/v2_1/messages/authorize.rs +++ b/src/v2_1/messages/authorize.rs @@ -1,3 +1,5 @@ +use crate::v2_1::datatypes::IdTokenInfoType; + use super::super::datatypes::{CustomDataType, IdTokenType, TariffType}; use super::super::enumerations::{AuthorizeCertificateStatusEnumType, EnergyTransferModeEnumType}; use serde::{Deserialize, Serialize}; From cb84a5a35c766913ef610a6d204104922149546c Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Sun, 16 Feb 2025 09:19:59 +0100 Subject: [PATCH 048/249] Add message types --- src/tests/schema_validation/v2_1.rs | 342 ++++++++++++++++++ .../messages/adjust_periodic_event_stream.rs | 56 +++ src/v2_1/messages/afrr_signal.rs | 39 ++ src/v2_1/messages/authorize.rs | 71 ++-- src/v2_1/messages/battery_swap.rs | 74 ++++ src/v2_1/messages/boot_notification.rs | 132 ++++--- src/v2_1/messages/cancel_reservation.rs | 18 +- src/v2_1/messages/certificate_signed.rs | 42 +-- src/v2_1/messages/change_availability.rs | 56 +++ .../messages/change_transaction_tariff.rs | 191 ++++++++++ src/v2_1/messages/clear_cache.rs | 30 ++ src/v2_1/messages/clear_charging_profile.rs | 68 ++++ src/v2_1/messages/clear_der_control.rs | 45 +++ src/v2_1/messages/clear_display_message.rs | 34 ++ src/v2_1/messages/clear_tariffs.rs | 60 +++ .../messages/clear_variable_monitoring.rs | 51 +++ src/v2_1/messages/cleared_charging_limit.rs | 33 ++ .../messages/close_periodic_event_stream.rs | 28 ++ src/v2_1/messages/cost_updated.rs | 33 ++ src/v2_1/messages/customer_information.rs | 60 +++ src/v2_1/messages/data_transfer.rs | 50 +++ src/v2_1/messages/delete_certificate.rs | 35 ++ .../messages/firmware_status_notification.rs | 35 ++ src/v2_1/messages/get_15118ev_certificate.rs | 72 ++++ src/v2_1/messages/get_base_report.rs | 39 ++ .../messages/get_certificate_chain_status.rs | 33 ++ src/v2_1/messages/get_certificate_status.rs | 41 +++ src/v2_1/messages/get_charging_profiles.rs | 48 +++ src/v2_1/messages/get_composite_schedule.rs | 49 +++ src/v2_1/messages/get_display_messages.rs | 52 +++ .../messages/get_installed_certificate_ids.rs | 43 +++ src/v2_1/messages/get_local_list_version.rs | 26 ++ src/v2_1/messages/get_log.rs | 60 +++ src/v2_1/messages/get_monitoring_report.rs | 45 +++ .../messages/get_periodic_event_stream.rs | 28 ++ src/v2_1/messages/get_report.rs | 45 +++ src/v2_1/messages/get_tariffs.rs | 39 ++ src/v2_1/messages/get_transaction_status.rs | 34 ++ src/v2_1/messages/get_variables.rs | 35 ++ src/v2_1/messages/heartbeat.rs | 26 ++ src/v2_1/messages/install_certificate.rs | 40 ++ src/v2_1/messages/log_status_notification.rs | 36 ++ src/v2_1/messages/meter_values.rs | 33 ++ src/v2_1/messages/mod.rs | 35 +- .../notify_allowed_energy_transfer.rs | 40 ++ src/v2_1/messages/notify_charging_limit.rs | 34 ++ .../messages/notify_customer_information.rs | 42 +++ src/v2_1/messages/notify_der_alarm.rs | 46 +++ src/v2_1/messages/notify_der_start_stop.rs | 38 ++ src/v2_1/messages/notify_display_messages.rs | 79 ++++ src/v2_1/messages/notify_ev_charging_needs.rs | 99 +++++ .../messages/notify_ev_charging_schedule.rs | 41 +++ src/v2_1/messages/notify_event.rs | 80 ++++ src/v2_1/messages/notify_monitoring_report.rs | 61 ++++ .../messages/notify_periodic_event_stream.rs | 54 +++ src/v2_1/messages/notify_priority_charging.rs | 29 ++ src/v2_1/messages/notify_report.rs | 1 + src/v2_1/messages/notify_settlement.rs | 76 ++++ .../messages/notify_web_payment_started.rs | 29 ++ .../messages/open_periodic_event_stream.rs | 33 ++ src/v2_1/messages/publish_firmware.rs | 45 +++ .../publish_firmware_status_notification.rs | 44 +++ .../messages/pull_dynamic_schedule_update.rs | 38 ++ src/v2_1/messages/report_charging_profiles.rs | 41 +++ src/v2_1/messages/report_der_control.rs | 73 ++++ src/v2_1/messages/request_battery_swap.rs | 35 ++ .../messages/request_start_transaction.rs | 56 +++ src/v2_1/messages/request_stop_transaction.rs | 33 ++ .../messages/reservation_status_update.rs | 39 ++ src/v2_1/messages/reserve_now.rs | 56 +++ src/v2_1/messages/reset.rs | 56 +++ .../messages/security_event_notification.rs | 37 ++ src/v2_1/messages/send_local_list.rs | 54 +++ src/v2_1/messages/set_charging_profile.rs | 43 +++ src/v2_1/messages/set_default_tariff.rs | 39 ++ src/v2_1/messages/set_monitoring_base.rs | 35 ++ src/v2_1/messages/set_monitoring_level.rs | 37 ++ src/v2_1/messages/set_network_profile.rs | 39 ++ src/v2_1/messages/set_variable_monitoring.rs | 133 +++++++ src/v2_1/messages/set_variables.rs | 111 ++++++ src/v2_1/messages/sign_certificate.rs | 63 ++++ src/v2_1/messages/status_notification.rs | 48 +++ src/v2_1/messages/transaction_event.rs | 90 +++++ src/v2_1/messages/unlock_connector.rs | 38 ++ src/v2_1/messages/unpublish_firmware.rs | 33 ++ src/v2_1/messages/update_firmware.rs | 44 +++ src/v2_1/messages/use_priority_charging.rs | 36 ++ src/v2_1/messages/vat_number_validation.rs | 47 +++ 88 files changed, 4545 insertions(+), 122 deletions(-) create mode 100644 src/v2_1/messages/adjust_periodic_event_stream.rs create mode 100644 src/v2_1/messages/afrr_signal.rs create mode 100644 src/v2_1/messages/battery_swap.rs create mode 100644 src/v2_1/messages/change_availability.rs create mode 100644 src/v2_1/messages/change_transaction_tariff.rs create mode 100644 src/v2_1/messages/clear_cache.rs create mode 100644 src/v2_1/messages/clear_charging_profile.rs create mode 100644 src/v2_1/messages/clear_der_control.rs create mode 100644 src/v2_1/messages/clear_display_message.rs create mode 100644 src/v2_1/messages/clear_tariffs.rs create mode 100644 src/v2_1/messages/clear_variable_monitoring.rs create mode 100644 src/v2_1/messages/cleared_charging_limit.rs create mode 100644 src/v2_1/messages/close_periodic_event_stream.rs create mode 100644 src/v2_1/messages/cost_updated.rs create mode 100644 src/v2_1/messages/customer_information.rs create mode 100644 src/v2_1/messages/data_transfer.rs create mode 100644 src/v2_1/messages/delete_certificate.rs create mode 100644 src/v2_1/messages/firmware_status_notification.rs create mode 100644 src/v2_1/messages/get_15118ev_certificate.rs create mode 100644 src/v2_1/messages/get_base_report.rs create mode 100644 src/v2_1/messages/get_certificate_chain_status.rs create mode 100644 src/v2_1/messages/get_certificate_status.rs create mode 100644 src/v2_1/messages/get_charging_profiles.rs create mode 100644 src/v2_1/messages/get_composite_schedule.rs create mode 100644 src/v2_1/messages/get_display_messages.rs create mode 100644 src/v2_1/messages/get_installed_certificate_ids.rs create mode 100644 src/v2_1/messages/get_local_list_version.rs create mode 100644 src/v2_1/messages/get_log.rs create mode 100644 src/v2_1/messages/get_monitoring_report.rs create mode 100644 src/v2_1/messages/get_periodic_event_stream.rs create mode 100644 src/v2_1/messages/get_report.rs create mode 100644 src/v2_1/messages/get_tariffs.rs create mode 100644 src/v2_1/messages/get_transaction_status.rs create mode 100644 src/v2_1/messages/get_variables.rs create mode 100644 src/v2_1/messages/heartbeat.rs create mode 100644 src/v2_1/messages/install_certificate.rs create mode 100644 src/v2_1/messages/log_status_notification.rs create mode 100644 src/v2_1/messages/meter_values.rs create mode 100644 src/v2_1/messages/notify_allowed_energy_transfer.rs create mode 100644 src/v2_1/messages/notify_charging_limit.rs create mode 100644 src/v2_1/messages/notify_customer_information.rs create mode 100644 src/v2_1/messages/notify_der_alarm.rs create mode 100644 src/v2_1/messages/notify_der_start_stop.rs create mode 100644 src/v2_1/messages/notify_display_messages.rs create mode 100644 src/v2_1/messages/notify_ev_charging_needs.rs create mode 100644 src/v2_1/messages/notify_ev_charging_schedule.rs create mode 100644 src/v2_1/messages/notify_event.rs create mode 100644 src/v2_1/messages/notify_monitoring_report.rs create mode 100644 src/v2_1/messages/notify_periodic_event_stream.rs create mode 100644 src/v2_1/messages/notify_priority_charging.rs create mode 100644 src/v2_1/messages/notify_report.rs create mode 100644 src/v2_1/messages/notify_settlement.rs create mode 100644 src/v2_1/messages/notify_web_payment_started.rs create mode 100644 src/v2_1/messages/open_periodic_event_stream.rs create mode 100644 src/v2_1/messages/publish_firmware.rs create mode 100644 src/v2_1/messages/publish_firmware_status_notification.rs create mode 100644 src/v2_1/messages/pull_dynamic_schedule_update.rs create mode 100644 src/v2_1/messages/report_charging_profiles.rs create mode 100644 src/v2_1/messages/report_der_control.rs create mode 100644 src/v2_1/messages/request_battery_swap.rs create mode 100644 src/v2_1/messages/request_start_transaction.rs create mode 100644 src/v2_1/messages/request_stop_transaction.rs create mode 100644 src/v2_1/messages/reservation_status_update.rs create mode 100644 src/v2_1/messages/reserve_now.rs create mode 100644 src/v2_1/messages/reset.rs create mode 100644 src/v2_1/messages/security_event_notification.rs create mode 100644 src/v2_1/messages/send_local_list.rs create mode 100644 src/v2_1/messages/set_charging_profile.rs create mode 100644 src/v2_1/messages/set_default_tariff.rs create mode 100644 src/v2_1/messages/set_monitoring_base.rs create mode 100644 src/v2_1/messages/set_monitoring_level.rs create mode 100644 src/v2_1/messages/set_network_profile.rs create mode 100644 src/v2_1/messages/set_variable_monitoring.rs create mode 100644 src/v2_1/messages/set_variables.rs create mode 100644 src/v2_1/messages/sign_certificate.rs create mode 100644 src/v2_1/messages/status_notification.rs create mode 100644 src/v2_1/messages/transaction_event.rs create mode 100644 src/v2_1/messages/unlock_connector.rs create mode 100644 src/v2_1/messages/unpublish_firmware.rs create mode 100644 src/v2_1/messages/update_firmware.rs create mode 100644 src/v2_1/messages/use_priority_charging.rs create mode 100644 src/v2_1/messages/vat_number_validation.rs diff --git a/src/tests/schema_validation/v2_1.rs b/src/tests/schema_validation/v2_1.rs index e08890e4..a575b269 100644 --- a/src/tests/schema_validation/v2_1.rs +++ b/src/tests/schema_validation/v2_1.rs @@ -1,3 +1,8 @@ +use crate::v2_1::datatypes::{CustomDataType, StatusInfoType}; +use crate::v2_1::enumerations::CancelReservationStatusEnumType; +use crate::v2_1::messages::cancel_reservation::{ + CancelReservationRequest, CancelReservationResponse, +}; use jsonschema::Validator; use serde_json::Value; @@ -251,4 +256,341 @@ fn test_invalid_id_token_type() -> Result<(), Box> { Ok(()) } +#[test] +fn test_valid_adjust_periodic_event_stream_request() -> Result<(), Box> { + let instance = serde_json::json!({ + "id": 42, + "params": { + "interval": 300, + "values": 5 + } + }); + + assert!(validate_schema_instance( + "AdjustPeriodicEventStreamRequest.json", + instance + )?); + Ok(()) +} + +#[test] +fn test_valid_adjust_periodic_event_stream_response() -> Result<(), Box> { + let instance = serde_json::json!({ + "status": "Accepted" + }); + + assert!(validate_schema_instance( + "AdjustPeriodicEventStreamResponse.json", + instance + )?); + + // Test with optional fields + let instance = serde_json::json!({ + "status": "Rejected", + "statusInfo": { + "reasonCode": "InvalidParameters", + "additionalInfo": "Values must be greater than 0" + } + }); + + assert!(validate_schema_instance( + "AdjustPeriodicEventStreamResponse.json", + instance + )?); + Ok(()) +} + +#[test] +fn test_invalid_adjust_periodic_event_stream_request() -> Result<(), Box> { + // Test with missing required field + let instance = serde_json::json!({ + "id": 42 + // Missing required params field + }); + + assert!(!validate_schema_instance( + "AdjustPeriodicEventStreamRequest.json", + instance + )?); + + // Test with negative values + let instance = serde_json::json!({ + "id": -1, // Must be >= 0 + "params": { + "interval": 300, + "values": 5 + } + }); + + assert!(!validate_schema_instance( + "AdjustPeriodicEventStreamRequest.json", + instance + )?); + Ok(()) +} + +#[test] +fn test_valid_afrr_signal_request() -> Result<(), Box> { + let instance = serde_json::json!({ + "signal": 100, + "timestamp": "2024-01-01T12:00:00Z" + }); + + assert!(validate_schema_instance( + "AFRRSignalRequest.json", + instance + )?); + + // Test with optional fields + let instance = serde_json::json!({ + "signal": 100, + "timestamp": "2024-01-01T12:00:00Z", + "customData": { + "vendorId": "TestVendor" + } + }); + + assert!(validate_schema_instance( + "AFRRSignalRequest.json", + instance + )?); + Ok(()) +} + +#[test] +fn test_valid_afrr_signal_response() -> Result<(), Box> { + let instance = serde_json::json!({ + "status": "Accepted" + }); + + assert!(validate_schema_instance( + "AFRRSignalResponse.json", + instance + )?); + + // Test with optional fields + let instance = serde_json::json!({ + "status": "Rejected", + "statusInfo": { + "reasonCode": "InvalidSignal", + "additionalInfo": "Signal value out of range" + } + }); + + assert!(validate_schema_instance( + "AFRRSignalResponse.json", + instance + )?); + Ok(()) +} + +#[test] +fn test_invalid_afrr_signal_request() -> Result<(), Box> { + // Test with missing required field + let instance = serde_json::json!({ + "signal": 100 + // Missing required timestamp field + }); + + assert!(!validate_schema_instance( + "AFRRSignalRequest.json", + instance + )?); + + // Test with invalid timestamp format + let instance = serde_json::json!({ + "signal": 100, + "timestamp": "invalid-date-time" + }); + + assert!(!validate_schema_instance( + "AFRRSignalRequest.json", + instance + )?); + Ok(()) +} + +#[test] +fn test_valid_battery_swap_request() -> Result<(), Box> { + let instance = serde_json::json!({ + "batteryData": [{ + "evseId": 1, + "serialNumber": "BATTERY123", + "soC": 80.5, + "soH": 95.0 + }], + "eventType": "BatteryIn", + "idToken": { + "idToken": "RFID123", + "type": "ISO14443" + }, + "requestId": 42 + }); + + assert!(validate_schema_instance( + "BatterySwapRequest.json", + instance + )?); + + // Test with all optional fields + let instance = serde_json::json!({ + "batteryData": [{ + "evseId": 1, + "serialNumber": "BATTERY123", + "soC": 80.5, + "soH": 95.0, + "productionDate": "2024-01-01T12:00:00Z", + "vendorInfo": "Manufacturer XYZ", + "customData": { + "vendorId": "TestVendor" + } + }], + "eventType": "BatteryIn", + "idToken": { + "idToken": "RFID123", + "type": "ISO14443" + }, + "requestId": 42, + "customData": { + "vendorId": "TestVendor" + } + }); + + assert!(validate_schema_instance( + "BatterySwapRequest.json", + instance + )?); + Ok(()) +} + +#[test] +fn test_valid_battery_swap_response() -> Result<(), Box> { + // Test empty response + let instance = serde_json::json!({}); + assert!(validate_schema_instance( + "BatterySwapResponse.json", + instance + )?); + + // Test with optional custom data + let instance = serde_json::json!({ + "customData": { + "vendorId": "TestVendor" + } + }); + assert!(validate_schema_instance( + "BatterySwapResponse.json", + instance + )?); + Ok(()) +} + +#[test] +fn test_invalid_battery_swap_request() -> Result<(), Box> { + // Test with missing required field + let instance = serde_json::json!({ + "eventType": "BatteryIn", + "idToken": { + "idToken": "RFID123", + "type": "ISO14443" + }, + "requestId": 42 + // Missing required batteryData field + }); + + assert!(!validate_schema_instance( + "BatterySwapRequest.json", + instance + )?); + + // Test with empty batteryData array + let instance = serde_json::json!({ + "batteryData": [], + "eventType": "BatteryIn", + "idToken": { + "idToken": "RFID123", + "type": "ISO14443" + }, + "requestId": 42 + }); + + assert!(!validate_schema_instance( + "BatterySwapRequest.json", + instance + )?); + + // Test with invalid SoC value + let instance = serde_json::json!({ + "batteryData": [{ + "evseId": 1, + "serialNumber": "BATTERY123", + "soC": 101.0, // Must be <= 100 + "soH": 95.0 + }], + "eventType": "BatteryIn", + "idToken": { + "idToken": "RFID123", + "type": "ISO14443" + }, + "requestId": 42 + }); + + assert!(!validate_schema_instance( + "BatterySwapRequest.json", + instance + )?); + Ok(()) +} + +#[test] +fn validate_cancel_reservation_request() { + let test = CancelReservationRequest { + reservation_id: 42, + custom_data: Some(CustomDataType { + vendor_id: "test_vendor".to_string(), + }), + }; + + let schema = include_str!("schemas/v2.1/CancelReservationRequest.json"); + let schema = serde_json::from_str(schema).unwrap(); + let instance = serde_json::to_value(test).unwrap(); + let compiled = Validator::new(&schema).expect("A valid schema"); + let result = compiled.validate(&instance); + if result.is_err() { + for error in compiled.iter_errors(&instance) { + println!("Validation error: {}", error); + println!("Instance path: {}", error.instance_path); + } + } + assert!(compiled.is_valid(&instance)); +} + +#[test] +fn validate_cancel_reservation_response() { + let test = CancelReservationResponse { + status: CancelReservationStatusEnumType::Accepted, + status_info: Some(StatusInfoType { + reason_code: "NoReservation".to_string(), + additional_info: Some("No active reservation found".to_string()), + custom_data: None, + }), + custom_data: Some(CustomDataType { + vendor_id: "test_vendor".to_string(), + }), + }; + + let schema = include_str!("schemas/v2.1/CancelReservationResponse.json"); + let schema = serde_json::from_str(schema).unwrap(); + let instance = serde_json::to_value(test).unwrap(); + let compiled = Validator::new(&schema).expect("A valid schema"); + let result = compiled.validate(&instance); + if result.is_err() { + for error in compiled.iter_errors(&instance) { + println!("Validation error: {}", error); + println!("Instance path: {}", error.instance_path); + } + } + assert!(compiled.is_valid(&instance)); +} + // We recommend installing an extension to run rust tests. diff --git a/src/v2_1/messages/adjust_periodic_event_stream.rs b/src/v2_1/messages/adjust_periodic_event_stream.rs new file mode 100644 index 00000000..162efe50 --- /dev/null +++ b/src/v2_1/messages/adjust_periodic_event_stream.rs @@ -0,0 +1,56 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, StatusInfoType}, + enumerations::GenericStatusEnumType, +}; + +/// Parameters for the periodic event stream. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct PeriodicEventStreamParamsType { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Time in seconds after which stream data is sent. + #[validate(range(min = 0))] + pub interval: i32, + + /// Number of items to be sent together in stream. + #[validate(range(min = 0))] + pub values: i32, +} + +/// Request body for the AdjustPeriodicEventStream request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct AdjustPeriodicEventStreamRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The identifier of the periodic event stream. + #[validate(range(min = 0))] + pub id: i32, + + /// Required. Parameters for the periodic event stream. + pub params: PeriodicEventStreamParamsType, +} + +/// Response body for the AdjustPeriodicEventStream response. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct AdjustPeriodicEventStreamResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Status indicating whether the Charging Station accepts the request. + pub status: GenericStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/afrr_signal.rs b/src/v2_1/messages/afrr_signal.rs new file mode 100644 index 00000000..9352e8c1 --- /dev/null +++ b/src/v2_1/messages/afrr_signal.rs @@ -0,0 +1,39 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, StatusInfoType}, + enumerations::GenericStatusEnumType, +}; + +/// Request body for the AFRRSignal request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct AFRRSignalRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Value of signal in v2xSignalWattCurve. + pub signal: i32, + + /// Required. Time when signal becomes active. + pub timestamp: DateTime, +} + +/// Response body for the AFRRSignal response. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct AFRRSignalResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Status indicating whether the Charging Station accepts the request. + pub status: GenericStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/authorize.rs b/src/v2_1/messages/authorize.rs index 9d1effa4..aa5302b5 100644 --- a/src/v2_1/messages/authorize.rs +++ b/src/v2_1/messages/authorize.rs @@ -1,58 +1,68 @@ -use crate::v2_1::datatypes::IdTokenInfoType; - -use super::super::datatypes::{CustomDataType, IdTokenType, TariffType}; -use super::super::enumerations::{AuthorizeCertificateStatusEnumType, EnergyTransferModeEnumType}; use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, IdTokenInfoType, IdTokenType, TariffType}, + enumerations::{AuthorizeCertificateStatusEnumType, EnergyTransferModeEnumType}, +}; /// Request to start a transaction with the given idToken. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] pub struct AuthorizeRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + /// The X.509 certificate chain presented by EV and encoded in PEM format. /// Order of certificates in chain is from leaf up to (but excluding) root certificate. /// Only needed in case of central contract validation when Charging Station cannot validate the contract certificate. #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 10000))] pub certificate: Option, - /// Contains the identifier that needs to be authorized. + /// Required. Contains the identifier that needs to be authorized. pub id_token: IdTokenType, /// Optional list of OCSP request data for certificates that need to be validated. #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1, max = 4))] pub iso15118_certificate_hash_data: Option>, - - /// Optional custom data - #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, } /// Information about a certificate for an OCSP check. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] pub struct OCSPRequestDataType { - /// Used algorithms for the hashes provided. + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Used algorithms for the hashes provided. pub hash_algorithm: HashAlgorithmEnumType, - /// The hash of the issuer's distinguished name (DN), that must be calculated over the DER + /// Required. The hash of the issuer's distinguished name (DN), that must be calculated over the DER /// encoding of the issuer's name field in the certificate being checked. + #[validate(length(max = 128))] pub issuer_name_hash: String, - /// The hash of the DER encoded public key: the value (excluding tag and length) of the subject + /// Required. The hash of the DER encoded public key: the value (excluding tag and length) of the subject /// public key field in the issuer's certificate. + #[validate(length(max = 128))] pub issuer_key_hash: String, - /// The string representation of the hexadecimal value of the serial number without the + /// Required. The string representation of the hexadecimal value of the serial number without the /// prefix "0x" and without leading zeroes. + #[validate(length(max = 40))] pub serial_number: String, - /// This contains the responder URL (Case insensitive). + /// Required. This contains the responder URL (Case insensitive). + #[validate(length(max = 2000))] pub responder_url: String, - - /// Optional custom data - #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, } /// Used algorithms for the hashes provided. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)] pub enum HashAlgorithmEnumType { #[serde(rename = "SHA256")] SHA256, @@ -63,26 +73,27 @@ pub enum HashAlgorithmEnumType { } /// Response to an AuthorizeRequest. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] pub struct AuthorizeResponse { - /// Contains information about authorization status, expiry and group id. + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Contains information about authorization status, expiry and group id. pub id_token_info: IdTokenInfoType, - /// Certificate status information. + /// Optional. Certificate status information. /// - if all certificates are valid: return 'Accepted'. /// - if one of the certificates was revoked, return 'CertificateRevoked'. #[serde(skip_serializing_if = "Option::is_none")] pub certificate_status: Option, - /// List of allowed energy transfer modes the EV can choose from. If omitted this defaults to charging only. + /// Optional. List of allowed energy transfer modes the EV can choose from. If omitted this defaults to charging only. #[serde(skip_serializing_if = "Option::is_none")] pub allowed_energy_transfer: Option>, - /// The tariff that is applied to this session. + /// Optional. The tariff that is applied to this session. #[serde(skip_serializing_if = "Option::is_none")] pub tariff: Option, - - /// Optional custom data - #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, } diff --git a/src/v2_1/messages/battery_swap.rs b/src/v2_1/messages/battery_swap.rs new file mode 100644 index 00000000..64658d9b --- /dev/null +++ b/src/v2_1/messages/battery_swap.rs @@ -0,0 +1,74 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, IdTokenType}, + enumerations::BatterySwapEventEnumType, +}; + +/// Battery data information. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct BatteryDataType { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Slot number where battery is inserted or removed. + #[validate(range(min = 0))] + pub evse_id: i32, + + /// Optional. Production date of battery. + #[serde(skip_serializing_if = "Option::is_none")] + pub production_date: Option>, + + /// Required. Serial number of battery. + #[validate(length(max = 50))] + pub serial_number: String, + + /// Required. State of charge. + #[validate(range(min = 0.0, max = 100.0))] + pub so_c: f64, + + /// Required. State of health. + #[validate(range(min = 0.0, max = 100.0))] + pub so_h: f64, + + /// Optional. Vendor-specific info from battery in undefined format. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 500))] + pub vendor_info: Option, +} + +/// Request body for the BatterySwap request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct BatterySwapRequest { + /// Required. Array of battery data. + #[validate(length(min = 1))] + pub battery_data: Vec, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Type of battery swap event. + pub event_type: BatterySwapEventEnumType, + + /// Required. Contains the identifier that needs to be authorized. + pub id_token: IdTokenType, + + /// Required. RequestId to correlate BatteryIn/Out events and optional RequestBatterySwapRequest. + pub request_id: i32, +} + +/// Response body for the BatterySwap response. +/// This is an empty response that just acknowledges receipt of the request. (The request cannot be rejected). +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct BatterySwapResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/boot_notification.rs b/src/v2_1/messages/boot_notification.rs index 6f53a54c..e2c7b0ce 100644 --- a/src/v2_1/messages/boot_notification.rs +++ b/src/v2_1/messages/boot_notification.rs @@ -1,9 +1,13 @@ +use chrono::{DateTime, Utc}; use lazy_static::lazy_static; use regex::Regex; use serde::{Deserialize, Serialize}; use validator::{Validate, ValidationError}; -use crate::v2_1::enumerations::{BootReasonEnumType, RegistrationStatusEnumType}; +use crate::v2_1::{ + datatypes::{CustomDataType, StatusInfoType}, + enumerations::{BootReasonEnumType, RegistrationStatusEnumType}, +}; lazy_static! { // This regex pattern validates ISO 8601 datetime strings in the format: @@ -42,85 +46,93 @@ fn validate_datetime(datetime: &str) -> Result<(), ValidationError> { } } -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] -#[serde(rename_all = "camelCase")] -pub struct CustomData { - #[validate(length(max = 255))] - pub vendor_id: String, -} - -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +/// Defines parameters required for initiating and maintaining wireless communication with other devices. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] #[serde(rename_all = "camelCase")] pub struct ModemType { - #[validate(length(max = 20))] + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Optional. This contains the ICCID of the modem's SIM card. #[serde(skip_serializing_if = "Option::is_none")] - pub iccid: Option, #[validate(length(max = 20))] + pub iccid: Option, + + /// Optional. This contains the IMSI of the modem's SIM card. #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 20))] pub imsi: Option, - #[validate(nested)] - #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, } -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +/// The physical system where an Electrical Vehicle (EV) can be charged. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] #[serde(rename_all = "camelCase")] -pub struct ChargingStation { - #[validate(length(max = 20))] - pub model: String, - #[validate(length(max = 50))] - pub vendor_name: String, - #[validate(length(max = 25))] +pub struct ChargingStationType { + /// Optional. Custom data from the Charging Station. #[serde(skip_serializing_if = "Option::is_none")] - pub serial_number: Option, - #[validate(length(max = 50))] + pub custom_data: Option, + + /// Optional. This contains the firmware version of the Charging Station. #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 50))] pub firmware_version: Option, - #[validate(nested)] + + /// Required. Defines the model of the device. + #[validate(length(max = 20))] + pub model: String, + + /// Optional. Defines parameters required for initiating and maintaining wireless communication with other devices. #[serde(skip_serializing_if = "Option::is_none")] pub modem: Option, - #[validate(nested)] + + /// Optional. Vendor-specific device identifier. #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, + #[validate(length(max = 25))] + pub serial_number: Option, + + /// Required. Identifies the vendor (not necessarily in a unique manner). + #[validate(length(max = 50))] + pub vendor_name: String, } -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +/// Request body for the BootNotification request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] #[serde(rename_all = "camelCase")] pub struct BootNotificationRequest { - pub reason: BootReasonEnumType, - #[validate(nested)] - pub charging_station: ChargingStation, - #[validate(nested)] - #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, -} + /// Required. The physical system where an Electrical Vehicle (EV) can be charged. + pub charging_station: ChargingStationType, -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] -#[serde(rename_all = "camelCase")] -pub struct StatusInfoType { - #[validate(length(max = 20))] - pub reason_code: String, - #[validate(length(max = 1024))] - #[serde(skip_serializing_if = "Option::is_none")] - pub additional_info: Option, - #[validate(nested)] + /// Optional. Custom data from the Charging Station. #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, + pub custom_data: Option, + + /// Required. This contains the reason for sending this message to the CSMS. + pub reason: BootReasonEnumType, } -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +/// Response body for the BootNotification response. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] #[serde(rename_all = "camelCase")] pub struct BootNotificationResponse { - #[validate(custom(function = "validate_datetime"))] - pub current_time: String, + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. This contains the CSMS's current time. + pub current_time: DateTime, + + /// Required. When Status is Accepted, this contains the heartbeat interval in seconds. + /// If the CSMS returns something other than Accepted, the value of the interval field + /// indicates the minimum wait time before sending a next BootNotification request. pub interval: i32, + + /// Required. This contains whether the Charging Station has been registered within the CSMS. pub status: RegistrationStatusEnumType, - #[validate(nested)] + + /// Optional. Detailed status information. #[serde(skip_serializing_if = "Option::is_none")] pub status_info: Option, - #[validate(nested)] - #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, } #[cfg(test)] @@ -132,7 +144,7 @@ mod tests { fn test_valid_boot_notification_request() { let request = BootNotificationRequest { reason: BootReasonEnumType::PowerUp, - charging_station: ChargingStation { + charging_station: ChargingStationType { model: "ModelX".into(), vendor_name: "VendorY".into(), serial_number: Some("123456".into()), @@ -173,7 +185,7 @@ mod tests { fn test_invalid_boot_notification_request() { let request = BootNotificationRequest { reason: BootReasonEnumType::PowerUp, - charging_station: ChargingStation { + charging_station: ChargingStationType { model: "This model name is way too long and should fail validation".into(), vendor_name: "VendorY".into(), serial_number: Some("This serial number is also too long to be valid".into()), @@ -191,7 +203,7 @@ mod tests { #[test] fn test_valid_boot_notification_response() { let response = BootNotificationResponse { - current_time: "2023-10-10T10:10:10Z".into(), + current_time: Utc::now(), interval: 300, status: RegistrationStatusEnumType::Accepted, status_info: Some(StatusInfoType { @@ -209,7 +221,7 @@ mod tests { assert_eq!( json, json!({ - "currentTime": "2023-10-10T10:10:10Z", + "currentTime": Utc::now().to_rfc3339(), "interval": 300, "status": "Accepted", "statusInfo": { @@ -223,7 +235,7 @@ mod tests { #[test] fn test_invalid_boot_notification_response() { let response = BootNotificationResponse { - current_time: "invalid-datetime".into(), + current_time: Utc::now(), interval: 300, status: RegistrationStatusEnumType::Accepted, status_info: Some(StatusInfoType { @@ -242,7 +254,7 @@ mod tests { fn test_boot_notification_request_with_custom_data() { let request = BootNotificationRequest { reason: BootReasonEnumType::PowerUp, - charging_station: ChargingStation { + charging_station: ChargingStationType { model: "ModelZ".into(), vendor_name: "VendorZ".into(), serial_number: Some("987654321".into()), @@ -250,15 +262,15 @@ mod tests { modem: Some(ModemType { iccid: Some("iccid12345".into()), imsi: Some("imsi54321".into()), - custom_data: Some(CustomData { + custom_data: Some(CustomDataType { vendor_id: "VendorZ".into(), }), }), - custom_data: Some(CustomData { + custom_data: Some(CustomDataType { vendor_id: "VendorZ".into(), }), }, - custom_data: Some(CustomData { + custom_data: Some(CustomDataType { vendor_id: "VendorZ".into(), }), }; diff --git a/src/v2_1/messages/cancel_reservation.rs b/src/v2_1/messages/cancel_reservation.rs index 9a6d0188..28f6ffbd 100644 --- a/src/v2_1/messages/cancel_reservation.rs +++ b/src/v2_1/messages/cancel_reservation.rs @@ -1,10 +1,16 @@ use super::super::datatypes::CustomDataType; +use super::super::datatypes::StatusInfoType; +use super::super::enumerations::CancelReservationStatusEnumType; use serde::{Deserialize, Serialize}; +use validator::Validate; /// Request to cancel a reservation. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +/// +/// This message is sent by the CSMS to the Charging Station to cancel an existing reservation. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] pub struct CancelReservationRequest { /// Id of the reservation to cancel. + #[validate(range(min = 0))] pub reservation_id: i32, /// Optional custom data @@ -12,16 +18,18 @@ pub struct CancelReservationRequest { pub custom_data: Option, } -use super::super::datatypes::StatusInfoType; -use super::super::enumerations::CancelReservationStatusEnumType; - /// Response to a CancelReservationRequest. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +/// +/// This message is sent by the Charging Station to the CSMS in response to a CancelReservationRequest. +/// It indicates whether the Charging Station was able to cancel the reservation. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] pub struct CancelReservationResponse { /// This indicates the success or failure of the canceling of a reservation by CSMS. pub status: CancelReservationStatusEnumType, /// Detailed status information. + /// + /// This field can be used to provide additional information about the status. #[serde(skip_serializing_if = "Option::is_none")] pub status_info: Option, diff --git a/src/v2_1/messages/certificate_signed.rs b/src/v2_1/messages/certificate_signed.rs index 38ba6d80..8cf113db 100644 --- a/src/v2_1/messages/certificate_signed.rs +++ b/src/v2_1/messages/certificate_signed.rs @@ -1,48 +1,44 @@ -use super::super::datatypes::{CustomDataType, StatusInfoType}; -use super::super::enumerations::CertificateSigningUseEnumType; use serde::{Deserialize, Serialize}; +use validator::Validate; -/// Request to inform the Charging Station about the signing of a certificate. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +use crate::v2_1::datatypes::{CustomDataType, StatusInfoType}; +use crate::v2_1::enumerations::{CertificateSignedStatusEnumType, CertificateSigningUseEnumType}; + +/// Request to inform the Charging Station about the result of a certificate signing operation. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] pub struct CertificateSignedRequest { - /// The signed PEM encoded X.509 certificate. This SHALL also contain the necessary sub CA certificates, - /// when applicable. The order of the bundle follows the certificate chain, starting from the leaf certificate. + /// The signed PEM encoded X.509 certificate. This SHALL also contain the necessary sub CA certificates, when applicable. + /// The order of the bundle follows the certificate chain, starting from the leaf certificate. + #[validate(length(max = 10000))] pub certificate_chain: String, - /// Indicates the type of the signed certificate that is returned. When omitted the certificate is used - /// for both the 15118 connection (if implemented) and the Charging Station to CSMS connection. + /// Optional. Indicates the type of the signed certificate that is returned. + /// When omitted the certificate is used for both the 15118 connection (if implemented) and the Charging Station to CSMS connection. #[serde(skip_serializing_if = "Option::is_none")] pub certificate_type: Option, - /// RequestId to correlate this message with the SignCertificateRequest. + /// Optional. RequestId to correlate this message with the SignCertificateRequest. #[serde(skip_serializing_if = "Option::is_none")] pub request_id: Option, - /// Optional custom data + /// Optional. Custom data from the Charging Station. #[serde(skip_serializing_if = "Option::is_none")] pub custom_data: Option, } -/// Enum indicating whether certificate signing has been accepted or rejected. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] -pub enum CertificateSignedStatusEnumType { - #[serde(rename = "Accepted")] - Accepted, - #[serde(rename = "Rejected")] - Rejected, -} - /// Response to a CertificateSignedRequest. -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] pub struct CertificateSignedResponse { - /// Returns whether certificate signing has been accepted, otherwise rejected. + /// Required. Returns whether certificate signing has been accepted, otherwise rejected. pub status: CertificateSignedStatusEnumType, - /// Detailed status information. + /// Optional. Detailed status information. #[serde(skip_serializing_if = "Option::is_none")] pub status_info: Option, - /// Optional custom data + /// Optional. Custom data from the Charging Station. #[serde(skip_serializing_if = "Option::is_none")] pub custom_data: Option, } diff --git a/src/v2_1/messages/change_availability.rs b/src/v2_1/messages/change_availability.rs new file mode 100644 index 00000000..a35fc7e6 --- /dev/null +++ b/src/v2_1/messages/change_availability.rs @@ -0,0 +1,56 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{CustomDataType, StatusInfoType}; +use crate::v2_1::enumerations::{ChangeAvailabilityStatusEnumType, OperationalStatusEnumType}; + +/// Electric Vehicle Supply Equipment +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct EVSEType { + /// EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station. + #[validate(range(min = 0))] + pub id: i32, + + /// Optional. An id to designate a specific connector (on an EVSE) by connector index number. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub connector_id: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Request to change the availability of a Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ChangeAvailabilityRequest { + /// Optional. Electric Vehicle Supply Equipment to change availability for. + /// If no EVSE is specified, the message refers to the entire Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub evse: Option, + + /// Required. This contains the type of availability change that the Charging Station should perform. + pub operational_status: OperationalStatusEnumType, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a ChangeAvailabilityRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ChangeAvailabilityResponse { + /// Required. This indicates whether the Charging Station is able to perform the availability change. + pub status: ChangeAvailabilityStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/change_transaction_tariff.rs b/src/v2_1/messages/change_transaction_tariff.rs new file mode 100644 index 00000000..283f3205 --- /dev/null +++ b/src/v2_1/messages/change_transaction_tariff.rs @@ -0,0 +1,191 @@ +use chrono::NaiveTime; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, MessageContentType, PriceType, StatusInfoType}, + enumerations::{DayOfWeekEnumType, EvseKindEnumType, TariffChangeStatusEnumType}, +}; + +/// These conditions describe if a FixedPrice applies at start of the transaction. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TariffConditionsFixedType { + /// Optional. Start time of day in local time. + /// Format as per RFC 3339: time-hour ":" time-minute + /// Must be in 24h format with leading zeros. Hour/Minute separator: ":" + #[serde(skip_serializing_if = "Option::is_none")] + pub start_time_of_day: Option, + + /// Optional. End time of day in local time. Same syntax as start_time_of_day. + /// If end time < start time then the period wraps around to the next day. + /// To stop at end of the day use: 00:00. + #[serde(skip_serializing_if = "Option::is_none")] + pub end_time_of_day: Option, + + /// Optional. Day(s) of the week this tariff applies. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1, max = 7))] + pub day_of_week: Option>, + + /// Optional. Start date in local time, for example: 2015-12-24. + /// Valid from this day (inclusive). + #[serde(skip_serializing_if = "Option::is_none")] + pub valid_from_date: Option, + + /// Optional. End date in local time, for example: 2015-12-27. + /// Valid until this day (exclusive). + #[serde(skip_serializing_if = "Option::is_none")] + pub valid_to_date: Option, + + /// Optional. Type of EVSE (AC, DC) this tariff applies to. + #[serde(skip_serializing_if = "Option::is_none")] + pub evse_kind: Option, + + /// Optional. For which payment brand this (adhoc) tariff applies. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 20))] + pub payment_brand: Option, + + /// Optional. Type of adhoc payment, e.g. CC, Debit. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 20))] + pub payment_recognition: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// These conditions describe if and when a TariffEnergyType or TariffTimeType applies during a transaction. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TariffConditionsType { + /// Optional. Start time of day in local time. + #[serde(skip_serializing_if = "Option::is_none")] + pub start_time_of_day: Option, + + /// Optional. End time of day in local time. + #[serde(skip_serializing_if = "Option::is_none")] + pub end_time_of_day: Option, + + /// Optional. Day(s) of the week this tariff applies. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1, max = 7))] + pub day_of_week: Option>, + + /// Optional. Start date in local time. + #[serde(skip_serializing_if = "Option::is_none")] + pub valid_from_date: Option, + + /// Optional. End date in local time. + #[serde(skip_serializing_if = "Option::is_none")] + pub valid_to_date: Option, + + /// Optional. Type of EVSE (AC, DC) this tariff applies to. + #[serde(skip_serializing_if = "Option::is_none")] + pub evse_kind: Option, + + /// Optional. Minimum consumed energy in Wh. + #[serde(skip_serializing_if = "Option::is_none")] + pub min_energy: Option, + + /// Optional. Maximum consumed energy in Wh. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_energy: Option, + + /// Optional. Minimum current in Amperes. + #[serde(skip_serializing_if = "Option::is_none")] + pub min_current: Option, + + /// Optional. Maximum current in Amperes. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_current: Option, + + /// Optional. Minimum power in W. + #[serde(skip_serializing_if = "Option::is_none")] + pub min_power: Option, + + /// Optional. Maximum power in W. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_power: Option, + + /// Optional. Minimum duration in seconds. + #[serde(skip_serializing_if = "Option::is_none")] + pub min_time: Option, + + /// Optional. Maximum duration in seconds. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_time: Option, + + /// Optional. Minimum charging duration in seconds. + #[serde(skip_serializing_if = "Option::is_none")] + pub min_charging_time: Option, + + /// Optional. Maximum charging duration in seconds. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_charging_time: Option, + + /// Optional. Minimum idle duration in seconds. + #[serde(skip_serializing_if = "Option::is_none")] + pub min_idle_time: Option, + + /// Optional. Maximum idle duration in seconds. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_idle_time: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Tariff with optional conditions for an energy price. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct TariffEnergyPriceType { + /// Required. Price per kWh (excl. tax) for this element. + pub price_kwh: f64, + + /// Optional. Conditions when this tariff element applies. + #[serde(skip_serializing_if = "Option::is_none")] + pub conditions: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Request to change the tariff for an ongoing transaction. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ChangeTransactionTariffRequest { + /// Required. Transaction Id for which the tariff needs to be changed. + pub transaction_id: String, + + /// Required. The new tariff that should be applied. + pub tariff_id: String, + + /// Optional. Message content to be displayed to the user. + #[serde(skip_serializing_if = "Option::is_none")] + pub message_content: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a ChangeTransactionTariffRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ChangeTransactionTariffResponse { + /// Required. Status indicating whether the Charging Station accepts the request. + pub status: TariffChangeStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/clear_cache.rs b/src/v2_1/messages/clear_cache.rs new file mode 100644 index 00000000..ae7d7cd9 --- /dev/null +++ b/src/v2_1/messages/clear_cache.rs @@ -0,0 +1,30 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{CustomDataType, StatusInfoType}; +use crate::v2_1::enumerations::ClearCacheStatusEnumType; + +/// Request to clear the charging station's cache. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearCacheRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a ClearCacheRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearCacheResponse { + /// Required. Accepted if the Charging Station has executed the request, otherwise rejected. + pub status: ClearCacheStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/clear_charging_profile.rs b/src/v2_1/messages/clear_charging_profile.rs new file mode 100644 index 00000000..8401100a --- /dev/null +++ b/src/v2_1/messages/clear_charging_profile.rs @@ -0,0 +1,68 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, StatusInfoType}, + enumerations::{ChargingProfilePurposeEnumType, ClearChargingProfileStatusEnumType}, +}; + +/// A ClearChargingProfileType is a filter for charging profiles to be cleared by ClearChargingProfileRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearChargingProfileType { + /// Optional. Specifies the id of the EVSE for which to clear charging profiles. + /// An evseId of zero (0) specifies the charging profile for the overall Charging Station. + /// Absence of this parameter means the clearing applies to all charging profiles that match + /// the other criteria in the request. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub evse_id: Option, + + /// Optional. Specifies to purpose of the charging profiles that will be cleared, + /// if they meet the other criteria in the request. + #[serde(skip_serializing_if = "Option::is_none")] + pub charging_profile_purpose: Option, + + /// Optional. Specifies the stackLevel for which charging profiles will be cleared, + /// if they meet the other criteria in the request. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub stack_level: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Request to clear charging profiles from a charging station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearChargingProfileRequest { + /// Optional. The Id of the charging profile to clear. + #[serde(skip_serializing_if = "Option::is_none")] + pub charging_profile_id: Option, + + /// Optional. Charging profile criteria to use for clearing profiles. + #[serde(skip_serializing_if = "Option::is_none")] + pub charging_profile_criteria: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a ClearChargingProfileRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearChargingProfileResponse { + /// Required. Indicates if the Charging Station was able to execute the request. + pub status: ClearChargingProfileStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/clear_der_control.rs b/src/v2_1/messages/clear_der_control.rs new file mode 100644 index 00000000..a894e8b4 --- /dev/null +++ b/src/v2_1/messages/clear_der_control.rs @@ -0,0 +1,45 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, StatusInfoType}, + enumerations::{DERControlEnumType, DERControlStatusEnumType}, +}; + +/// Request to clear DER control settings. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearDERControlRequest { + /// Required. True: clearing default DER controls. False: clearing scheduled controls. + pub is_default: bool, + + /// Optional. Name of control settings to clear. Not used when control_id is provided. + #[serde(skip_serializing_if = "Option::is_none")] + pub control_type: Option, + + /// Optional. Id of control setting to clear. + /// When omitted all settings for control_type are cleared. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 36))] + pub control_id: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a ClearDERControlRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearDERControlResponse { + /// Required. Result of the clear operation. + pub status: DERControlStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/clear_display_message.rs b/src/v2_1/messages/clear_display_message.rs new file mode 100644 index 00000000..117a9407 --- /dev/null +++ b/src/v2_1/messages/clear_display_message.rs @@ -0,0 +1,34 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{CustomDataType, StatusInfoType}; +use crate::v2_1::enumerations::ClearMessageStatusEnumType; + +/// Request to clear a message from the charging station's display. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearDisplayMessageRequest { + /// Required. Id of the message that SHALL be removed from the Charging Station. + #[validate(range(min = 0))] + pub id: i32, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a ClearDisplayMessageRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearDisplayMessageResponse { + /// Required. Returns whether the Charging Station has been able to remove the message. + pub status: ClearMessageStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/clear_tariffs.rs b/src/v2_1/messages/clear_tariffs.rs new file mode 100644 index 00000000..005a12d8 --- /dev/null +++ b/src/v2_1/messages/clear_tariffs.rs @@ -0,0 +1,60 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{CustomDataType, StatusInfoType}; +use crate::v2_1::enumerations::TariffClearStatusEnumType; + +/// Result of clearing a specific tariff. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearTariffsResultType { + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Id of tariff for which status is reported. + /// If no tariffs were found, then this field is absent, and status will be NoTariff. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 60))] + pub tariff_id: Option, + + /// Required. Status indicating whether the Charging Station was able to clear the tariff. + pub status: TariffClearStatusEnumType, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Request to clear tariffs from a charging station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearTariffsRequest { + /// Optional. List of tariff Ids to clear. + /// When absent clears all tariffs at evse_id. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1))] + pub tariff_ids: Option>, + + /// Optional. When present only clear tariffs matching tariff_ids at EVSE evse_id. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub evse_id: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a ClearTariffsRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearTariffsResponse { + /// Required. List of results for each tariff that was cleared or attempted to be cleared. + #[validate(length(min = 1))] + pub clear_tariffs_result: Vec, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/clear_variable_monitoring.rs b/src/v2_1/messages/clear_variable_monitoring.rs new file mode 100644 index 00000000..bbace278 --- /dev/null +++ b/src/v2_1/messages/clear_variable_monitoring.rs @@ -0,0 +1,51 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{CustomDataType, StatusInfoType}; +use crate::v2_1::enumerations::ClearMonitoringStatusEnumType; + +/// Result of clearing a specific monitor. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearMonitoringResultType { + /// Required. Result of the clear request for this monitor, identified by its Id. + pub status: ClearMonitoringStatusEnumType, + + /// Required. Id of the monitor of which a clear was requested. + #[validate(range(min = 0))] + pub id: i32, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Request to clear variable monitoring settings. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearVariableMonitoringRequest { + /// Required. List of the monitors to be cleared, identified by their Id. + #[validate(length(min = 1))] + pub id: Vec, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a ClearVariableMonitoringRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearVariableMonitoringResponse { + /// Required. List of results for each monitor that was cleared or attempted to be cleared. + #[validate(length(min = 1))] + pub clear_monitoring_result: Vec, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/cleared_charging_limit.rs b/src/v2_1/messages/cleared_charging_limit.rs new file mode 100644 index 00000000..2a2c8e34 --- /dev/null +++ b/src/v2_1/messages/cleared_charging_limit.rs @@ -0,0 +1,33 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::CustomDataType; +use crate::v2_1::enumerations::ChargingLimitSourceEnumType; + +/// Request to notify that a charging limit has been cleared. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearedChargingLimitRequest { + /// Required. Source of the charging limit. + pub charging_limit_source: ChargingLimitSourceEnumType, + + /// Optional. EVSE Identifier. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub evse_id: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a ClearedChargingLimitRequest. +/// This response contains no fields other than the optional customData field, +/// because the request cannot be denied by the CSMS. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClearedChargingLimitResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/close_periodic_event_stream.rs b/src/v2_1/messages/close_periodic_event_stream.rs new file mode 100644 index 00000000..a084a32d --- /dev/null +++ b/src/v2_1/messages/close_periodic_event_stream.rs @@ -0,0 +1,28 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::CustomDataType; + +/// Request to close a periodic event stream. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClosePeriodicEventStreamRequest { + /// Required. Id of stream to close. + #[validate(range(min = 0))] + pub id: i32, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a ClosePeriodicEventStreamRequest. +/// This response contains no fields other than the optional customData field, +/// because the request cannot be denied by the CSMS. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ClosePeriodicEventStreamResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/cost_updated.rs b/src/v2_1/messages/cost_updated.rs new file mode 100644 index 00000000..f63ce522 --- /dev/null +++ b/src/v2_1/messages/cost_updated.rs @@ -0,0 +1,33 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::CustomDataType; + +/// Request to notify the Charging Station about updated cost for the current transaction. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct CostUpdatedRequest { + /// Required. Current total cost, based on the information known by the CSMS, + /// of the transaction including taxes. In the currency configured with the + /// configuration Variable: Currency. + pub total_cost: f64, + + /// Required. Transaction Id of the transaction the current cost are asked for. + #[validate(length(max = 36))] + pub transaction_id: String, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a CostUpdatedRequest. +/// This response contains no fields other than the optional customData field, +/// because the request cannot be denied by the Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct CostUpdatedResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/customer_information.rs b/src/v2_1/messages/customer_information.rs new file mode 100644 index 00000000..aa2f7126 --- /dev/null +++ b/src/v2_1/messages/customer_information.rs @@ -0,0 +1,60 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CertificateHashDataType, CustomDataType, IdTokenType, StatusInfoType}, + enumerations::CustomerInformationStatusEnumType, +}; + +/// Request to get or clear customer information. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct CustomerInformationRequest { + /// Required. The Id of the request. + #[validate(range(min = 0))] + pub request_id: i32, + + /// Required. Flag indicating whether the Charging Station should return + /// NotifyCustomerInformationRequest messages containing information about + /// the customer referred to. + pub report: bool, + + /// Required. Flag indicating whether the Charging Station should clear + /// all information about the customer referred to. + pub clear: bool, + + /// Optional. A (e.g. vendor specific) identifier of the customer this request + /// refers to. This field contains a custom identifier other than IdToken and + /// Certificate. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 64))] + pub customer_identifier: Option, + + /// Optional. The customer certificate to get or clear information for. + #[serde(skip_serializing_if = "Option::is_none")] + pub customer_certificate: Option, + + /// Optional. The customer token to get or clear information for. + #[serde(skip_serializing_if = "Option::is_none")] + pub id_token: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a CustomerInformationRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct CustomerInformationResponse { + /// Required. Indicates whether the request was accepted. + pub status: CustomerInformationStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/data_transfer.rs b/src/v2_1/messages/data_transfer.rs new file mode 100644 index 00000000..0bebe321 --- /dev/null +++ b/src/v2_1/messages/data_transfer.rs @@ -0,0 +1,50 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, StatusInfoType}, + enumerations::DataTransferStatusEnumType, +}; + +/// Request to transfer vendor-specific data between Charging Station and CSMS. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct DataTransferRequest { + /// Required. This identifies the vendor specific implementation. + #[validate(length(max = 255))] + pub vendor_id: String, + + /// Optional. May be used to indicate a specific message or implementation. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 50))] + pub message_id: Option, + + /// Optional. Data without specified length or format. + /// This needs to be decided by both parties (Open to implementation). + #[serde(skip_serializing_if = "Option::is_none")] + pub data: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a DataTransferRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct DataTransferResponse { + /// Required. This indicates the success or failure of the data transfer. + pub status: DataTransferStatusEnumType, + + /// Optional. Data without specified length or format, in response to request. + #[serde(skip_serializing_if = "Option::is_none")] + pub data: Option, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/delete_certificate.rs b/src/v2_1/messages/delete_certificate.rs new file mode 100644 index 00000000..d56cb879 --- /dev/null +++ b/src/v2_1/messages/delete_certificate.rs @@ -0,0 +1,35 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CertificateHashDataType, CustomDataType, StatusInfoType}, + enumerations::DeleteCertificateStatusEnumType, +}; + +/// Request to delete a certificate from the charging station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct DeleteCertificateRequest { + /// Required. Certificate data to be deleted from the charging station. + pub certificate_hash_data: CertificateHashDataType, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a DeleteCertificateRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct DeleteCertificateResponse { + /// Required. Charging Station indicates if it can process the request. + pub status: DeleteCertificateStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/firmware_status_notification.rs b/src/v2_1/messages/firmware_status_notification.rs new file mode 100644 index 00000000..fcffd6dc --- /dev/null +++ b/src/v2_1/messages/firmware_status_notification.rs @@ -0,0 +1,35 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::CustomDataType; +use crate::v2_1::enumerations::FirmwareStatusEnumType; + +/// Request to notify the CSMS of the status of a firmware update. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct FirmwareStatusNotificationRequest { + /// Required. This contains the progress status of the firmware installation. + pub status: FirmwareStatusEnumType, + + /// Optional. The request id that was provided in the UpdateFirmwareRequest + /// that started this firmware update. This field is mandatory, unless the + /// message was triggered by a TriggerMessageRequest AND there is no firmware + /// update ongoing. + #[serde(skip_serializing_if = "Option::is_none")] + pub request_id: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a FirmwareStatusNotificationRequest. +/// This response contains no fields other than the optional customData field, +/// because the request cannot be denied by the CSMS. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct FirmwareStatusNotificationResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_15118ev_certificate.rs b/src/v2_1/messages/get_15118ev_certificate.rs new file mode 100644 index 00000000..a80a40a8 --- /dev/null +++ b/src/v2_1/messages/get_15118ev_certificate.rs @@ -0,0 +1,72 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, StatusInfoType}, + enumerations::{CertificateActionEnumType, Iso15118EVCertificateStatusEnumType}, +}; + +/// Request to get the ISO 15118 certificate for an EV. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct Get15118EVCertificateRequest { + /// Required. Schema version currently used for the 15118 session between EV and + /// Charging Station. Needed for parsing of the EXI stream by the CSMS. + #[validate(length(max = 50))] + pub iso_15118_schema_version: String, + + /// Required. Defines whether certificate needs to be installed or updated. + pub action: CertificateActionEnumType, + + /// Required. Raw CertificateInstallationReq request from EV, Base64 encoded. + /// Extended to support ISO 15118-20 certificates. The minimum supported length is 11000. + /// If a longer exiRequest is supported, then the supported length must be communicated + /// in variable OCPPCommCtrlr.FieldLength["Get15118EVCertificateRequest.exiRequest"]. + #[validate(length(max = 11000))] + pub exi_request: String, + + /// Optional. Absent during ISO 15118-2 session. Required during ISO 15118-20 session. + /// Maximum number of contracts that EV wants to install. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub maximum_contract_certificate_chains: Option, + + /// Optional. Absent during ISO 15118-2 session. Optional during ISO 15118-20 session. + /// List of EMAIDs for which contract certificates must be requested first, in case + /// there are more certificates than allowed by maximumContractCertificateChains. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1, max = 8))] + pub prioritized_emaids: Option>, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a Get15118EVCertificateRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct Get15118EVCertificateResponse { + /// Required. Indicates whether the message was processed properly. + pub status: Iso15118EVCertificateStatusEnumType, + + /// Required. Raw CertificateInstallationRes response for the EV, Base64 encoded. + /// Extended to support ISO 15118-20 certificates. The minimum supported length is 17000. + /// If a longer exiResponse is supported, then the supported length must be communicated + /// in variable OCPPCommCtrlr.FieldLength["Get15118EVCertificateResponse.exiResponse"]. + #[validate(length(max = 17000))] + pub exi_response: String, + + /// Optional. Number of contracts that can be retrieved with additional requests. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub remaining_contracts: Option, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_base_report.rs b/src/v2_1/messages/get_base_report.rs new file mode 100644 index 00000000..e9db8289 --- /dev/null +++ b/src/v2_1/messages/get_base_report.rs @@ -0,0 +1,39 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, StatusInfoType}, + enumerations::{GenericDeviceModelStatusEnumType, ReportBaseEnumType}, +}; + +/// Request to get a base report from the Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetBaseReportRequest { + /// Required. The Id of the request. + #[validate(range(min = 0))] + pub request_id: i32, + + /// Required. This field specifies the report base. + pub report_base: ReportBaseEnumType, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a GetBaseReportRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetBaseReportResponse { + /// Required. This indicates whether the Charging Station is able to accept this request. + pub status: GenericDeviceModelStatusEnumType, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_certificate_chain_status.rs b/src/v2_1/messages/get_certificate_chain_status.rs new file mode 100644 index 00000000..26dc92de --- /dev/null +++ b/src/v2_1/messages/get_certificate_chain_status.rs @@ -0,0 +1,33 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{ + CertificateHashDataType, CertificateStatusRequestInfoType, CertificateStatusType, + CustomDataType, +}; + +/// Request to get the status of a certificate chain. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetCertificateChainStatusRequest { + /// Required. Array of certificate status requests. + #[validate(length(min = 1, max = 4))] + pub certificate_status_requests: Vec, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a GetCertificateChainStatusRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetCertificateChainStatusResponse { + /// Required. Array of certificate status information. + #[validate(length(min = 1, max = 4))] + pub certificate_status: Vec, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_certificate_status.rs b/src/v2_1/messages/get_certificate_status.rs new file mode 100644 index 00000000..b92cae3b --- /dev/null +++ b/src/v2_1/messages/get_certificate_status.rs @@ -0,0 +1,41 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{CustomDataType, OCSPRequestDataType, StatusInfoType}; +use crate::v2_1::enumerations::GetCertificateStatusEnumType; + +/// Request to get the status of a certificate. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetCertificateStatusRequest { + /// Required. Information about the certificate for which the status is requested. + pub ocsp_request_data: OCSPRequestDataType, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a GetCertificateStatusRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetCertificateStatusResponse { + /// Required. This indicates whether the charging station was able to retrieve + /// the OCSP certificate status. + pub status: GetCertificateStatusEnumType, + + /// Optional. OCSPResponse class as defined in IETF RFC 6960. DER encoded + /// (as defined in IETF RFC 6960), and then base64 encoded. MAY only be + /// omitted when status is not Accepted. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 5500))] + pub ocsp_result: Option, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_charging_profiles.rs b/src/v2_1/messages/get_charging_profiles.rs new file mode 100644 index 00000000..844b6f0a --- /dev/null +++ b/src/v2_1/messages/get_charging_profiles.rs @@ -0,0 +1,48 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{ChargingProfileCriterionType, CustomDataType, StatusInfoType}, + enumerations::GetChargingProfileStatusEnumType, +}; + +/// Request to get the charging profiles installed on a Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetChargingProfilesRequest { + /// Required. Reference identification that is to be used by the Charging Station + /// in the ReportChargingProfilesRequest when provided. + pub request_id: i32, + + /// Required. Specifies the charging profile criteria to be used for selecting + /// charging profiles to report. + pub charging_profile: ChargingProfileCriterionType, + + /// Optional. For which EVSE installed charging profiles SHALL be reported. + /// If 0, only charging profiles installed on the Charging Station itself (the grid connection) + /// SHALL be reported. If omitted, all installed charging profiles SHALL be reported. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub evse_id: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a GetChargingProfilesRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetChargingProfilesResponse { + /// Required. This indicates whether the Charging Station is able to process this request + /// and will send ReportChargingProfilesRequest messages. + pub status: GetChargingProfileStatusEnumType, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_composite_schedule.rs b/src/v2_1/messages/get_composite_schedule.rs new file mode 100644 index 00000000..4dbe1201 --- /dev/null +++ b/src/v2_1/messages/get_composite_schedule.rs @@ -0,0 +1,49 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CompositeScheduleType, CustomDataType, StatusInfoType}, + enumerations::{ChargingRateUnitEnumType, GenericStatusEnumType}, +}; + +/// Request to get a composite charging schedule from a Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetCompositeScheduleRequest { + /// Required. Length of the requested schedule in seconds. + pub duration: i32, + + /// Required. The ID of the EVSE for which the schedule is requested. + /// When evseid=0, the Charging Station will calculate the expected consumption + /// for the grid connection. + #[validate(range(min = 0))] + pub evse_id: i32, + + /// Optional. Can be used to force a power or current profile. + #[serde(skip_serializing_if = "Option::is_none")] + pub charging_rate_unit: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a GetCompositeScheduleRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetCompositeScheduleResponse { + /// Required. The Charging Station will indicate if it was able to process the request. + pub status: GenericStatusEnumType, + + /// Optional. The composite schedule that applies to the selected EVSE. + #[serde(skip_serializing_if = "Option::is_none")] + pub schedule: Option, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_display_messages.rs b/src/v2_1/messages/get_display_messages.rs new file mode 100644 index 00000000..0b93984b --- /dev/null +++ b/src/v2_1/messages/get_display_messages.rs @@ -0,0 +1,52 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, StatusInfoType}, + enumerations::{ + GetDisplayMessagesStatusEnumType, MessagePriorityEnumType, MessageStateEnumType, + }, +}; + +/// Request to get the display messages from a Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetDisplayMessagesRequest { + /// Required. The Id of this request. + pub request_id: i32, + + /// Optional. If provided the Charging Station shall return Display Messages of the given ids. + /// This field SHALL NOT contain more ids than set in NumberOfDisplayMessages.maxLimit. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1))] + pub id: Option>, + + /// Optional. If provided the Charging Station shall return Display Messages with the given priority only. + #[serde(skip_serializing_if = "Option::is_none")] + pub priority: Option, + + /// Optional. If provided the Charging Station shall return Display Messages with the given state only. + #[serde(skip_serializing_if = "Option::is_none")] + pub state: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a GetDisplayMessagesRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetDisplayMessagesResponse { + /// Required. Indicates if the Charging Station has Display Messages that match + /// the request criteria in the GetDisplayMessagesRequest. + pub status: GetDisplayMessagesStatusEnumType, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_installed_certificate_ids.rs b/src/v2_1/messages/get_installed_certificate_ids.rs new file mode 100644 index 00000000..385f9382 --- /dev/null +++ b/src/v2_1/messages/get_installed_certificate_ids.rs @@ -0,0 +1,43 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CertificateHashDataChainType, CustomDataType, StatusInfoType}, + enumerations::{GetCertificateIdUseEnumType, GetInstalledCertificateStatusEnumType}, +}; + +/// Request to get the installed certificate IDs from a Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetInstalledCertificateIdsRequest { + /// Optional. Indicates the type of certificates requested. + /// When omitted, all certificate types are requested. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1))] + pub certificate_type: Option>, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a GetInstalledCertificateIdsRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetInstalledCertificateIdsResponse { + /// Required. Charging Station indicates if it can process the request. + pub status: GetInstalledCertificateStatusEnumType, + + /// Optional. Array of certificate hash data chains, each representing a certificate chain. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1))] + pub certificate_hash_data_chain: Option>, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_local_list_version.rs b/src/v2_1/messages/get_local_list_version.rs new file mode 100644 index 00000000..e7f61708 --- /dev/null +++ b/src/v2_1/messages/get_local_list_version.rs @@ -0,0 +1,26 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::CustomDataType; + +/// Request to get the version number of the local authorization list in the Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetLocalListVersionRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a GetLocalListVersionRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetLocalListVersionResponse { + /// Required. This contains the current version number of the local authorization list + /// in the Charging Station. + pub version_number: i32, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_log.rs b/src/v2_1/messages/get_log.rs new file mode 100644 index 00000000..11f365bd --- /dev/null +++ b/src/v2_1/messages/get_log.rs @@ -0,0 +1,60 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, LogParametersType, StatusInfoType}, + enumerations::LogEnumType, + enumerations::LogStatusEnumType, +}; + +/// Request to get logging information from a Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetLogRequest { + /// Required. This contains the type of log file that the Charging Station should send. + pub log_type: LogEnumType, + + /// Required. The Id of this request. + pub request_id: i32, + + /// Required. This field specifies the requested log and the location to which the log should be sent. + pub log: LogParametersType, + + /// Optional. This specifies how many times the Charging Station must retry to upload the log before giving up. + /// If this field is not present, it is left to Charging Station to decide how many times it wants to retry. + /// If the value is 0, it means: no retries. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub retries: Option, + + /// Optional. The interval in seconds after which a retry may be attempted. + /// If this field is not present, it is left to Charging Station to decide how long to wait between attempts. + #[serde(skip_serializing_if = "Option::is_none")] + pub retry_interval: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a GetLogRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetLogResponse { + /// Required. This field indicates whether the Charging Station was able to accept the request. + pub status: LogStatusEnumType, + + /// Optional. This contains the name of the log file that will be uploaded. + /// This field is not present when no logging information is available. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 255))] + pub filename: Option, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_monitoring_report.rs b/src/v2_1/messages/get_monitoring_report.rs new file mode 100644 index 00000000..29142d02 --- /dev/null +++ b/src/v2_1/messages/get_monitoring_report.rs @@ -0,0 +1,45 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{ComponentVariableType, CustomDataType, StatusInfoType}, + enumerations::{GenericDeviceModelStatusEnumType, MonitoringCriterionEnumType}, +}; + +/// Request to get a monitoring report from a Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetMonitoringReportRequest { + /// Required. The Id of the request. + pub request_id: i32, + + /// Optional. This field contains criteria for components for which a monitoring report is requested. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1, max = 3))] + pub monitoring_criteria: Option>, + + /// Optional. This field specifies the components and variables for which a monitoring report is requested. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1))] + pub component_variable: Option>, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a GetMonitoringReportRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetMonitoringReportResponse { + /// Required. This field indicates whether the Charging Station was able to accept the request. + pub status: GenericDeviceModelStatusEnumType, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_periodic_event_stream.rs b/src/v2_1/messages/get_periodic_event_stream.rs new file mode 100644 index 00000000..7569d4a9 --- /dev/null +++ b/src/v2_1/messages/get_periodic_event_stream.rs @@ -0,0 +1,28 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{ConstantStreamDataType, CustomDataType}; + +/// Request to get information about periodic event streams. +/// This message is empty except for the optional customData field. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetPeriodicEventStreamRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a GetPeriodicEventStreamRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetPeriodicEventStreamResponse { + /// Optional. List of constant stream data elements. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1))] + pub constant_stream_data: Option>, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_report.rs b/src/v2_1/messages/get_report.rs new file mode 100644 index 00000000..1f95c369 --- /dev/null +++ b/src/v2_1/messages/get_report.rs @@ -0,0 +1,45 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{ComponentVariableType, CustomDataType, StatusInfoType}, + enumerations::{ComponentCriterionEnumType, GenericDeviceModelStatusEnumType}, +}; + +/// Request to get a report from a Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetReportRequest { + /// Required. The Id of the request. + pub request_id: i32, + + /// Optional. This field contains criteria for components for which a report is requested. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1, max = 4))] + pub component_criteria: Option>, + + /// Optional. This field specifies the components and variables for which a report is requested. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1))] + pub component_variable: Option>, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a GetReportRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetReportResponse { + /// Required. This field indicates whether the Charging Station was able to accept the request. + pub status: GenericDeviceModelStatusEnumType, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_tariffs.rs b/src/v2_1/messages/get_tariffs.rs new file mode 100644 index 00000000..72163d5c --- /dev/null +++ b/src/v2_1/messages/get_tariffs.rs @@ -0,0 +1,39 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{CustomDataType, StatusInfoType, TariffAssignmentType}; +use crate::v2_1::enumerations::TariffGetStatusEnumType; + +/// Request to get tariff information from a Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetTariffsRequest { + /// Required. EVSE id to get tariff from. When evseId = 0, this gets tariffs from all EVSEs. + #[validate(range(min = 0))] + pub evse_id: i32, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a GetTariffsRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetTariffsResponse { + /// Required. Status indicating whether the Charging Station accepts the request. + pub status: TariffGetStatusEnumType, + + /// Optional. List of tariff assignments. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1))] + pub tariff_assignments: Option>, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_transaction_status.rs b/src/v2_1/messages/get_transaction_status.rs new file mode 100644 index 00000000..38b02307 --- /dev/null +++ b/src/v2_1/messages/get_transaction_status.rs @@ -0,0 +1,34 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::CustomDataType; + +/// Request to get the status of a transaction. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetTransactionStatusRequest { + /// Optional. The Id of the transaction for which the status is requested. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 36))] + pub transaction_id: Option, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a GetTransactionStatusRequest. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetTransactionStatusResponse { + /// Optional. Whether the transaction is still ongoing. + #[serde(skip_serializing_if = "Option::is_none")] + pub ongoing_indicator: Option, + + /// Required. Whether there are still messages to be delivered. + pub messages_in_queue: bool, + + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/get_variables.rs b/src/v2_1/messages/get_variables.rs new file mode 100644 index 00000000..ab679b2f --- /dev/null +++ b/src/v2_1/messages/get_variables.rs @@ -0,0 +1,35 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{ + custom_data::CustomDataType, get_variable_data::GetVariableDataType, + get_variable_result::GetVariableResultType, +}; + +/// GetVariablesRequest, sent by the CSMS to the Charging Station. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetVariablesRequest { + /// Custom data from the CSMS. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. List of requested variables. + #[validate] + #[validate(length(min = 1))] + pub get_variable_data: Vec, +} + +/// GetVariablesResponse, sent by the Charging Station to the CSMS in response to GetVariablesRequest. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct GetVariablesResponse { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. List of requested variables and their values. + #[validate] + #[validate(length(min = 1))] + pub get_variable_result: Vec, +} diff --git a/src/v2_1/messages/heartbeat.rs b/src/v2_1/messages/heartbeat.rs new file mode 100644 index 00000000..1130e53c --- /dev/null +++ b/src/v2_1/messages/heartbeat.rs @@ -0,0 +1,26 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::custom_data::CustomDataType; + +/// HeartbeatRequest, sent by the Charging Station to the CSMS. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct HeartbeatRequest { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// HeartbeatResponse, sent by the CSMS to the Charging Station in response to a HeartbeatRequest. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct HeartbeatResponse { + /// Custom data from the CSMS. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Contains the current time of the CSMS. + pub current_time: DateTime, +} diff --git a/src/v2_1/messages/install_certificate.rs b/src/v2_1/messages/install_certificate.rs new file mode 100644 index 00000000..2ee91a3e --- /dev/null +++ b/src/v2_1/messages/install_certificate.rs @@ -0,0 +1,40 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{custom_data::CustomDataType, status_info::StatusInfoType}; +use crate::v2_1::enumerations::{ + install_certificate_status::InstallCertificateStatusEnumType, + install_certificate_use::InstallCertificateUseEnumType, +}; + +/// Used by the CSMS to request installation of a certificate on a Charging Station. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct InstallCertificateRequest { + /// Custom data from the CSMS. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Indicates the certificate type that is sent. + pub certificate_type: InstallCertificateUseEnumType, + + /// Required. A PEM encoded X.509 certificate. + #[validate(length(max = 10000))] + pub certificate: String, +} + +/// The response to a InstallCertificateRequest, sent by the Charging Station to the CSMS. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct InstallCertificateResponse { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Charging Station indicates if installation was successful. + pub status: InstallCertificateStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/log_status_notification.rs b/src/v2_1/messages/log_status_notification.rs new file mode 100644 index 00000000..e670b080 --- /dev/null +++ b/src/v2_1/messages/log_status_notification.rs @@ -0,0 +1,36 @@ +//! LogStatusNotification +use crate::v2_1::datatypes::custom_data_type::CustomDataType; +use crate::v2_1::datatypes::status_info_type::StatusInfoType; +use crate::v2_1::enumerations::upload_log_status::UploadLogStatusEnumType; +use validator::Validate; + +/// LogStatusNotificationRequest, sent by the Charging Station to the CSMS. +#[derive(serde::Serialize, serde::Deserialize, Validate, Debug, Clone, PartialEq, Default)] +#[serde(rename_all = "camelCase")] +pub struct LogStatusNotificationRequest { + /// This contains the status of the log upload. + pub status: UploadLogStatusEnumType, + + /// The request id that was provided in GetLogRequest that started this log upload. + /// This field is mandatory, unless the message was triggered by a TriggerMessageRequest + /// AND there is no log upload ongoing. + #[serde(skip_serializing_if = "Option::is_none")] + pub request_id: Option, + + /// Optional status information to provide more details about the log upload status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// LogStatusNotificationResponse, sent by the CSMS to the Charging Station in response to LogStatusNotificationRequest. +#[derive(serde::Serialize, serde::Deserialize, Validate, Debug, Clone, PartialEq, Default)] +#[serde(rename_all = "camelCase")] +pub struct LogStatusNotificationResponse { + /// Custom data from the CSMS. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/meter_values.rs b/src/v2_1/messages/meter_values.rs new file mode 100644 index 00000000..62f7a526 --- /dev/null +++ b/src/v2_1/messages/meter_values.rs @@ -0,0 +1,33 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{custom_data::CustomDataType, meter_value::MeterValueType}; + +/// Request sent by the Charging Station to the CSMS to provide meter values for a specific EVSE. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct MeterValuesRequest { + /// Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. This contains a number (>0) designating an EVSE of the Charging Station. + /// '0' (zero) is used to designate the main power meter. + #[validate(range(min = 0))] + pub evse_id: i32, + + /// Required. The sampled meter values with timestamps. + #[validate(length(min = 1))] + pub meter_value: Vec, +} + +/// Response sent by the CSMS to the Charging Station in response to a MeterValuesRequest. +/// This message is deprecated. This message might be removed in a future version of OCPP. +/// It will be replaced by Device Management Monitoring events. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct MeterValuesResponse { + /// Custom data from the CSMS. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/mod.rs b/src/v2_1/messages/mod.rs index b74d0565..bfdc542a 100644 --- a/src/v2_1/messages/mod.rs +++ b/src/v2_1/messages/mod.rs @@ -1,13 +1,40 @@ +pub mod adjust_periodic_event_stream; +pub mod afrr_signal; mod authorize; +pub mod battery_swap; mod boot_notification; -mod cancel_reservation; +pub mod cancel_reservation; mod certificate_signed; +pub mod status_notification; +pub mod transaction_event; +pub mod unlock_connector; +pub mod unpublish_firmware; +pub mod update_firmware; +pub mod use_priority_charging; +pub mod vat_number_validation; + +// Re-exports +pub use crate::v2_1::datatypes::CustomData; +pub use crate::v2_1::datatypes::{ + Address, Firmware, IdToken, IdTokenInfo, MessageContent, MeterValue, StatusInfo, Transaction, + TransactionData, TransactionLimit, EVSE, +}; +pub use crate::v2_1::enumerations::{ + GenericStatusEnum, PriorityChargingStatusEnum, TransactionEventEnum, TriggerReasonEnum, + UnlockStatusEnum, UnpublishFirmwareStatusEnum, UpdateFirmwareStatusEnum, +}; pub use crate::v2_1::messages::cancel_reservation::CancelReservationResponse; +pub use afrr_signal::{AFRRSignalRequest, AFRRSignalResponse}; pub use authorize::{ AuthorizeRequest, AuthorizeResponse, HashAlgorithmEnumType, OCSPRequestDataType, }; +pub use battery_swap::{BatteryDataType, BatterySwapRequest, BatterySwapResponse}; pub use cancel_reservation::CancelReservationRequest; -pub use certificate_signed::{ - CertificateSignedRequest, CertificateSignedResponse, CertificateSignedStatusEnumType, -}; +pub use certificate_signed::{CertificateSignedRequest, CertificateSignedResponse}; +pub use transaction_event::{TransactionEventRequest, TransactionEventResponse}; +pub use unlock_connector::{UnlockConnectorRequest, UnlockConnectorResponse}; +pub use unpublish_firmware::{UnpublishFirmwareRequest, UnpublishFirmwareResponse}; +pub use update_firmware::{UpdateFirmwareRequest, UpdateFirmwareResponse}; +pub use use_priority_charging::{UsePriorityChargingRequest, UsePriorityChargingResponse}; +pub use vat_number_validation::{VatNumberValidationRequest, VatNumberValidationResponse}; diff --git a/src/v2_1/messages/notify_allowed_energy_transfer.rs b/src/v2_1/messages/notify_allowed_energy_transfer.rs new file mode 100644 index 00000000..fe7a8a97 --- /dev/null +++ b/src/v2_1/messages/notify_allowed_energy_transfer.rs @@ -0,0 +1,40 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, StatusInfoType}, + enumerations::{EnergyTransferModeEnumType, NotifyAllowedEnergyTransferStatusEnumType}, +}; + +/// Request to notify the Charging Station about the allowed energy transfer modes. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyAllowedEnergyTransferRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The transaction for which the allowed energy transfer is allowed. + #[validate(length(max = 36))] + pub transaction_id: String, + + /// Required. Modes of energy transfer that are accepted by CSMS. + #[validate(length(min = 1))] + pub allowed_energy_transfer: Vec, +} + +/// Response to a NotifyAllowedEnergyTransferRequest. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyAllowedEnergyTransferResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Status indicating whether the Charging Station accepts the request. + pub status: NotifyAllowedEnergyTransferStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/notify_charging_limit.rs b/src/v2_1/messages/notify_charging_limit.rs new file mode 100644 index 00000000..7e2bb7ef --- /dev/null +++ b/src/v2_1/messages/notify_charging_limit.rs @@ -0,0 +1,34 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{ChargingLimitType, ChargingScheduleType, CustomDataType}; + +/// Request to notify the CSMS about charging limits that are set by an external system on the Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyChargingLimitRequest { + /// Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// The EVSE to which the charging limit is set. If absent or when zero, it applies to the entire Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub evse_id: Option, + + /// Contains limits for the available power or current over time, as set by the external source. + #[serde(skip_serializing_if = "Option::is_none")] + pub charging_schedule: Option>, + + /// This contains the source of the charging limit and whether it is grid critical. + pub charging_limit: ChargingLimitType, +} + +/// Response to a NotifyChargingLimitRequest. This message has no fields. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyChargingLimitResponse { + /// Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/notify_customer_information.rs b/src/v2_1/messages/notify_customer_information.rs new file mode 100644 index 00000000..68570702 --- /dev/null +++ b/src/v2_1/messages/notify_customer_information.rs @@ -0,0 +1,42 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::CustomDataType; + +/// Request to notify the CSMS about customer information. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyCustomerInformationRequest { + /// Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// (Part of) the requested data. No format specified in which the data is returned. Should be human readable. + #[validate(length(max = 512))] + pub data: String, + + /// "to be continued" indicator. Indicates whether another part of the monitoringData follows in an upcoming notifyMonitoringReportRequest message. Default value when omitted is false. + #[serde(skip_serializing_if = "Option::is_none")] + pub tbc: Option, + + /// Sequence number of this message. First message starts at 0. + #[validate(range(min = 0))] + pub seq_no: i32, + + /// Timestamp of the moment this message was generated at the Charging Station. + pub generated_at: DateTime, + + /// The Id of the request. + #[validate(range(min = 0))] + pub request_id: i32, +} + +/// Response to a NotifyCustomerInformationRequest. This message has no fields. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyCustomerInformationResponse { + /// Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/notify_der_alarm.rs b/src/v2_1/messages/notify_der_alarm.rs new file mode 100644 index 00000000..40a21451 --- /dev/null +++ b/src/v2_1/messages/notify_der_alarm.rs @@ -0,0 +1,46 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::CustomDataType, + enumerations::{DERControlEnumType, GridEventFaultEnumType}, +}; + +/// Request to notify the CSMS about a DER alarm. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyDERAlarmRequest { + /// Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Name of DER control, e.g. LFMustTrip. + pub control_type: DERControlEnumType, + + /// Type of grid event that caused this. + #[serde(skip_serializing_if = "Option::is_none")] + pub grid_event_fault: Option, + + /// True when error condition has ended. + /// Absent or false when alarm has started. + #[serde(skip_serializing_if = "Option::is_none")] + pub alarm_ended: Option, + + /// Time of start or end of alarm. + pub timestamp: DateTime, + + /// Optional info provided by EV. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 200))] + pub extra_info: Option, +} + +/// Response to a NotifyDERAlarmRequest. This message has no fields. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyDERAlarmResponse { + /// Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/notify_der_start_stop.rs b/src/v2_1/messages/notify_der_start_stop.rs new file mode 100644 index 00000000..4e8deb5e --- /dev/null +++ b/src/v2_1/messages/notify_der_start_stop.rs @@ -0,0 +1,38 @@ +use chrono::DateTime; +use chrono::Utc; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::custom_data::CustomData; + +/// Request message for NotifyDERStartStop. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyDERStartStopRequest { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Id of the started or stopped DER control. + /// Corresponds to the _controlId_ of the SetDERControlRequest. + #[validate(length(max = 36))] + pub control_id: String, + + /// True if DER control has started. False if it has ended. + pub started: bool, + + /// Time of start or end of event. + pub timestamp: DateTime, + + /// List of controlIds that are superseded as a result of this control starting. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1, max = 24))] + pub superseded_ids: Option>, +} + +/// Response message for NotifyDERStartStop. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyDERStartStopResponse { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/notify_display_messages.rs b/src/v2_1/messages/notify_display_messages.rs new file mode 100644 index 00000000..b2e40e55 --- /dev/null +++ b/src/v2_1/messages/notify_display_messages.rs @@ -0,0 +1,79 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{ComponentType, CustomDataType, MessageContentType}, + enumerations::{MessagePriorityEnumType, MessageStateEnumType}, +}; + +/// Contains message details, for a message to be displayed on a Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct MessageInfoType { + /// Optional. Display component that this message concerns. + #[serde(skip_serializing_if = "Option::is_none")] + pub display: Option, + + /// Required. Unique id within an exchange context. It is defined within the OCPP context as a positive Integer value (greater or equal to zero). + #[validate(range(min = 0))] + pub id: i32, + + /// Required. With what priority should this message be shown. + pub priority: MessagePriorityEnumType, + + /// Optional. During what state should this message be shown. + #[serde(skip_serializing_if = "Option::is_none")] + pub state: Option, + + /// Optional. From what date-time should this message be shown. If omitted: directly. + #[serde(skip_serializing_if = "Option::is_none")] + pub start_date_time: Option>, + + /// Optional. Until what date-time should this message be shown, after this date/time this message SHALL be removed. + #[serde(skip_serializing_if = "Option::is_none")] + pub end_date_time: Option>, + + /// Optional. During which transaction shall this message be shown. + /// Message SHALL be removed by the Charging Station after transaction has ended. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 36))] + pub transaction_id: Option, + + /// Required. Contains message details. + pub message: MessageContentType, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Request to notify the CSMS about display messages. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyDisplayMessagesRequest { + /// Required. Id of this request for identification in response. + #[validate(range(min = 0))] + pub request_id: i32, + + /// Optional. "to be continued" indicator. Indicates whether another part of the report follows in an upcoming notifyDisplayMessagesRequest message. Default value when omitted is false. + #[serde(skip_serializing_if = "Option::is_none")] + pub tbc: Option, + + /// Required. Array of message info objects. + #[validate(length(min = 1))] + pub message_info: Vec, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a NotifyDisplayMessagesRequest. This message has no fields. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyDisplayMessagesResponse { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/notify_ev_charging_needs.rs b/src/v2_1/messages/notify_ev_charging_needs.rs new file mode 100644 index 00000000..163f61aa --- /dev/null +++ b/src/v2_1/messages/notify_ev_charging_needs.rs @@ -0,0 +1,99 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{ + ACChargingParametersType, CustomDataType, DCChargingParametersType, + DERChargingParametersType, EVEnergyOfferType, StatusInfoType, V2XChargingParametersType, + }, + enumerations::{ + ControlModeEnumType, EnergyTransferModeEnumType, MobilityNeedsModeEnumType, + NotifyEVChargingNeedsStatusEnumType, + }, +}; + +/// Charging needs of an EV. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ChargingNeedsType { + /// Optional. AC charging parameters. + #[serde(skip_serializing_if = "Option::is_none")] + pub ac_charging_parameters: Option, + + /// Optional. DER charging parameters. + #[serde(skip_serializing_if = "Option::is_none")] + pub der_charging_parameters: Option, + + /// Optional. EV energy offer. + #[serde(skip_serializing_if = "Option::is_none")] + pub ev_energy_offer: Option, + + /// Required. Mode of energy transfer requested by the EV. + pub requested_energy_transfer: EnergyTransferModeEnumType, + + /// Optional. DC charging parameters. + #[serde(skip_serializing_if = "Option::is_none")] + pub dc_charging_parameters: Option, + + /// Optional. V2X charging parameters. + #[serde(skip_serializing_if = "Option::is_none")] + pub v2x_charging_parameters: Option, + + /// Optional. Modes of energy transfer that are marked as available by EV. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1))] + pub available_energy_transfer: Option>, + + /// Optional. Control mode. + #[serde(skip_serializing_if = "Option::is_none")] + pub control_mode: Option, + + /// Optional. Mobility needs mode. + #[serde(skip_serializing_if = "Option::is_none")] + pub mobility_needs_mode: Option, + + /// Optional. Estimated departure time of the EV. + #[serde(skip_serializing_if = "Option::is_none")] + pub departure_time: Option>, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Request to notify the CSMS about EV charging needs. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyEVChargingNeedsRequest { + /// Optional. Contains the maximum schedule tuples the car supports per schedule. + #[serde(skip_serializing_if = "Option::is_none")] + pub max_schedule_tuples: Option, + + /// Required. Charging needs of the EV. + pub charging_needs: ChargingNeedsType, + + /// Required. Defines the EVSE and connector to which the EV is connected. EvseId may not be 0. + #[validate(range(min = 1))] + pub evse_id: i32, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a NotifyEVChargingNeedsRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyEVChargingNeedsResponse { + /// Required. Status indicating whether the Charging Station accepts the request. + pub status: NotifyEVChargingNeedsStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/notify_ev_charging_schedule.rs b/src/v2_1/messages/notify_ev_charging_schedule.rs new file mode 100644 index 00000000..a5c6f16e --- /dev/null +++ b/src/v2_1/messages/notify_ev_charging_schedule.rs @@ -0,0 +1,41 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{ChargingScheduleType, CustomDataType, StatusInfoType}; +use crate::v2_1::enumerations::GenericStatusEnumType; + +/// Request to notify the CSMS about an EV charging schedule. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyEVChargingScheduleRequest { + /// Required. Periods contained in the charging profile are relative to this point in time. + pub time_base: DateTime, + + /// Required. The charging schedule contained in this notification applies to an EVSE. EvseId must be > 0. + #[validate(range(min = 1))] + pub evse_id: i32, + + /// Required. Charging schedule structure defines a list of charging periods. + pub charging_schedule: ChargingScheduleType, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a NotifyEVChargingScheduleRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyEVChargingScheduleResponse { + /// Required. Status indicating whether the Charging Station accepts the request. + pub status: GenericStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/notify_event.rs b/src/v2_1/messages/notify_event.rs new file mode 100644 index 00000000..b7a29f88 --- /dev/null +++ b/src/v2_1/messages/notify_event.rs @@ -0,0 +1,80 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{ComponentType, CustomDataType, VariableType}; +use crate::v2_1::enumerations::{EventNotificationEnumType, EventTriggerEnumType}; + +/// Class to report an event notification for a component-variable. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct EventDataType { + /// Required. Actual value of the variable. + #[validate(length(max = 2500))] + pub actual_value: String, + + /// Required. Identifies the event. This field can be referred to as a cause by other events. + #[validate(range(min = 0))] + pub event_id: i32, + + /// Required. Timestamp of when the event occurred. + pub timestamp: DateTime, + + /// Required. Trigger type of the event. + pub trigger: EventTriggerEnumType, + + /// Optional. If an event notification is linked to a specific transaction, this field can be used to specify its transactionId. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 36))] + pub transaction_id: Option, + + /// Required. The component for which this event applies. + pub component: ComponentType, + + /// Optional. Identifies the VariableMonitoring which triggered the event. + #[serde(skip_serializing_if = "Option::is_none")] + pub variable_monitoring_id: Option, + + /// Required. Type of notification of the event. + pub event_notification: EventNotificationEnumType, + + /// Required. The variable for which this event applies. + pub variable: VariableType, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Request to notify the CSMS about an event that occurred at the Charging Station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyEventRequest { + /// Required. The actual event data. + #[validate(length(min = 1))] + pub event_data: Vec, + + /// Optional. "to be continued" indicator. Indicates whether another part of the report follows in an upcoming notifyEventRequest message. Default value when omitted is false. + #[serde(skip_serializing_if = "Option::is_none")] + pub tbc: Option, + + /// Required. Sequence number of this message. First message starts at 0. + #[validate(range(min = 0))] + pub seq_no: i32, + + /// Required. Timestamp of when this message was generated at the Charging Station. + pub generated_at: DateTime, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a NotifyEventRequest. This message has no fields. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyEventResponse { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/notify_monitoring_report.rs b/src/v2_1/messages/notify_monitoring_report.rs new file mode 100644 index 00000000..81f4ae4c --- /dev/null +++ b/src/v2_1/messages/notify_monitoring_report.rs @@ -0,0 +1,61 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{ComponentType, CustomDataType, VariableMonitoringType, VariableType}; + +/// Class to hold parameters of SetVariableMonitoring request. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct MonitoringDataType { + /// Required. Component for which monitoring is configured. + pub component: ComponentType, + + /// Required. Variable for which monitoring is configured. + pub variable: VariableType, + + /// Required. List of configured monitoring settings. + #[validate(length(min = 1))] + pub variable_monitoring: Vec, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Request to notify the CSMS about monitoring events. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyMonitoringReportRequest { + /// Optional. List of monitoring data. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1))] + pub monitor: Option>, + + /// Required. The id of the GetMonitoringRequest that requested this report. + pub request_id: i32, + + /// Optional. "to be continued" indicator. Indicates whether another part of the monitoring data follows in an upcoming notifyMonitoringReportRequest message. Default value when omitted is false. + #[serde(skip_serializing_if = "Option::is_none")] + pub tbc: Option, + + /// Required. Sequence number of this message. First message starts at 0. + #[validate(range(min = 0))] + pub seq_no: i32, + + /// Required. Timestamp of when this message was generated at the Charging Station. + pub generated_at: DateTime, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a NotifyMonitoringReportRequest. This message has no fields. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyMonitoringReportResponse { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/notify_periodic_event_stream.rs b/src/v2_1/messages/notify_periodic_event_stream.rs new file mode 100644 index 00000000..f97732b0 --- /dev/null +++ b/src/v2_1/messages/notify_periodic_event_stream.rs @@ -0,0 +1,54 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::CustomDataType; + +/// Contains stream data element information. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct StreamDataElementType { + /// Required. Offset relative to basetime of this message. basetime + t is timestamp of recorded value. + pub t: f64, + + /// Required. Value of the monitored variable. + #[validate(length(max = 2500))] + pub v: String, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Request to notify the CSMS about periodic event stream data. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyPeriodicEventStreamRequest { + /// Required. Base timestamp to add to time offset of values. + pub basetime: DateTime, + + /// Required. Array of stream data elements. + #[validate(length(min = 1))] + pub data: Vec, + + /// Required. Id of stream. + #[validate(range(min = 0))] + pub id: i32, + + /// Required. Number of data elements still pending to be sent. + #[validate(range(min = 0))] + pub pending: i32, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a NotifyPeriodicEventStreamRequest. This message has no fields. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyPeriodicEventStreamResponse { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/notify_priority_charging.rs b/src/v2_1/messages/notify_priority_charging.rs new file mode 100644 index 00000000..faaac196 --- /dev/null +++ b/src/v2_1/messages/notify_priority_charging.rs @@ -0,0 +1,29 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::CustomDataType; + +/// Request to notify the CSMS about priority charging status. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyPriorityChargingRequest { + /// Required. The transaction for which priority charging is requested. + #[validate(length(max = 36))] + pub transaction_id: String, + + /// Required. True if priority charging was activated. False if it has stopped using the priority charging profile. + pub activated: bool, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a NotifyPriorityChargingRequest. This message has no fields. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyPriorityChargingResponse { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/notify_report.rs b/src/v2_1/messages/notify_report.rs new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/src/v2_1/messages/notify_report.rs @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/v2_1/messages/notify_settlement.rs b/src/v2_1/messages/notify_settlement.rs new file mode 100644 index 00000000..faf08d4e --- /dev/null +++ b/src/v2_1/messages/notify_settlement.rs @@ -0,0 +1,76 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{AddressType, CustomDataType}; +use crate::v2_1::enumerations::PaymentStatusEnumType; + +/// Request to notify the CSMS about a settlement attempt. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifySettlementRequest { + /// Optional. The transactionId that the settlement belongs to. Can be empty if the payment transaction is canceled prior to the start of the OCPP transaction. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 36))] + pub transaction_id: Option, + + /// Required. The payment reference received from the payment terminal and is used as the value for idToken. + #[validate(length(max = 255))] + pub psp_ref: String, + + /// Required. The status of the settlement attempt. + pub status: PaymentStatusEnumType, + + /// Optional. Additional information from payment terminal/payment process. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 500))] + pub status_info: Option, + + /// Required. The amount that was settled, or attempted to be settled (in case of failure). + pub settlement_amount: f64, + + /// Required. The time when the settlement was done. + pub settlement_time: DateTime, + + /// Optional. Receipt ID for this settlement. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 50))] + pub receipt_id: Option, + + /// Optional. The receipt URL, to be used if the receipt is generated by the payment terminal or the CS. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 2000))] + pub receipt_url: Option, + + /// Optional. VAT company information for a company receipt. + #[serde(skip_serializing_if = "Option::is_none")] + pub vat_company: Option, + + /// Optional. VAT number for a company receipt. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 20))] + pub vat_number: Option, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a NotifySettlementRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifySettlementResponse { + /// Optional. The receipt URL if receipt generated by CSMS. The Charging Station can QR encode it and show it to the EV Driver. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 2000))] + pub receipt_url: Option, + + /// Optional. The receipt id if the receipt is generated by CSMS. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 50))] + pub receipt_id: Option, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/notify_web_payment_started.rs b/src/v2_1/messages/notify_web_payment_started.rs new file mode 100644 index 00000000..4fef7e60 --- /dev/null +++ b/src/v2_1/messages/notify_web_payment_started.rs @@ -0,0 +1,29 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::CustomDataType; + +/// Request to notify the CSMS that a web payment has been started. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyWebPaymentStartedRequest { + /// Required. EVSE id for which transaction is requested. + #[validate(range(min = 0))] + pub evse_id: i32, + + /// Required. Timeout value in seconds after which no result of web payment process (e.g. QR code scanning) is to be expected anymore. + pub timeout: i32, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a NotifyWebPaymentStartedRequest. This message has no fields except for optional custom data. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct NotifyWebPaymentStartedResponse { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/open_periodic_event_stream.rs b/src/v2_1/messages/open_periodic_event_stream.rs new file mode 100644 index 00000000..bfc43055 --- /dev/null +++ b/src/v2_1/messages/open_periodic_event_stream.rs @@ -0,0 +1,33 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{ConstantStreamDataType, CustomDataType, StatusInfoType}; +use crate::v2_1::enumerations::generic_status::GenericStatusEnumType; + +/// Request to open a periodic event stream. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct OpenPeriodicEventStreamRequest { + /// Required. Data for the constant stream. + pub constant_stream_data: ConstantStreamDataType, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to an OpenPeriodicEventStreamRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct OpenPeriodicEventStreamResponse { + /// Required. Result of the request. + pub status: GenericStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/publish_firmware.rs b/src/v2_1/messages/publish_firmware.rs new file mode 100644 index 00000000..fec6b5f3 --- /dev/null +++ b/src/v2_1/messages/publish_firmware.rs @@ -0,0 +1,45 @@ +use crate::v2_1::datatypes::status_info::StatusInfoType; +use crate::v2_1::enumerations::generic_status::GenericStatusEnumType; + +/// This contains the field definition of the PublishFirmwareRequest PDU sent by the CSMS to the Local Controller. +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +#[serde(rename_all = "camelCase")] +pub struct PublishFirmwareRequest { + /// This contains a string containing a URI pointing to a + /// location from which to retrieve the firmware. + pub location: String, + + /// This specifies how many times Charging Station must retry + /// to download the firmware before giving up. If this field is not + /// present, it is left to Charging Station to decide how many times it wants to retry. + /// If the value is 0, it means: no retries. + #[serde(skip_serializing_if = "Option::is_none")] + pub retries: Option, + + /// The MD5 checksum over the entire firmware file as a hexadecimal string of length 32. + pub checksum: String, + + /// The Id of the request. + pub request_id: i32, + + /// The interval in seconds + /// after which a retry may be + /// attempted. If this field is not + /// present, it is left to Charging + /// Station to decide how long to wait + /// between attempts. + #[serde(skip_serializing_if = "Option::is_none")] + pub retry_interval: Option, +} + +/// This contains the field definition of the PublishFirmwareResponse PDU sent by the Local Controller to the CSMS in response to a PublishFirmwareRequest. +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)] +#[serde(rename_all = "camelCase")] +pub struct PublishFirmwareResponse { + /// Indicates whether the request was accepted. + pub status: GenericStatusEnumType, + + /// Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/publish_firmware_status_notification.rs b/src/v2_1/messages/publish_firmware_status_notification.rs new file mode 100644 index 00000000..011325f5 --- /dev/null +++ b/src/v2_1/messages/publish_firmware_status_notification.rs @@ -0,0 +1,44 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{CustomDataType, StatusInfoType}; +use crate::v2_1::enumerations::publish_firmware_status::PublishFirmwareStatusEnumType; + +/// Request to notify the CSMS about the status of a firmware publication. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct PublishFirmwareStatusNotificationRequest { + /// Required. This contains the progress status of the publishfirmware + /// installation. + pub status: PublishFirmwareStatusEnumType, + + /// Required if status is Published. Can be multiple URI's, if the Local Controller supports e.g. HTTP, HTTPS, and FTP. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1))] + pub location: Option>, + + /// The request id that was provided in the PublishFirmwareRequest which + /// triggered this action. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub request_id: Option, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} + +/// Response to a PublishFirmwareStatusNotificationRequest. +/// This response contains no fields other than the optional customData field, +/// because the request cannot be denied by the CSMS. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct PublishFirmwareStatusNotificationResponse { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/pull_dynamic_schedule_update.rs b/src/v2_1/messages/pull_dynamic_schedule_update.rs new file mode 100644 index 00000000..487562df --- /dev/null +++ b/src/v2_1/messages/pull_dynamic_schedule_update.rs @@ -0,0 +1,38 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{ + ChargingProfileStatusEnumType, ChargingScheduleUpdateType, CustomDataType, StatusInfoType, +}; + +/// Request body for the PullDynamicScheduleUpdate request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct PullDynamicScheduleUpdateRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Id of charging profile to update. + pub charging_profile_id: i32, +} + +/// Response body for the PullDynamicScheduleUpdate response. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct PullDynamicScheduleUpdateResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Optional. Updates to a ChargingSchedulePeriodType for dynamic charging profiles. + #[serde(skip_serializing_if = "Option::is_none")] + pub schedule_update: Option, + + /// Required. Result of request. + pub status: ChargingProfileStatusEnumType, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/report_charging_profiles.rs b/src/v2_1/messages/report_charging_profiles.rs new file mode 100644 index 00000000..1dd0fee8 --- /dev/null +++ b/src/v2_1/messages/report_charging_profiles.rs @@ -0,0 +1,41 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{ChargingProfileType, CustomDataType}; + +/// Request body for the ReportChargingProfiles request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ReportChargingProfilesRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Source that has installed this charging profile. Values defined in Appendix as ChargingLimitSourceEnumStringType. + #[validate(length(max = 20))] + pub charging_limit_source: String, + + /// Required. Array of charging profiles that are installed on the Charging Station. + #[validate(length(min = 1))] + pub charging_profile: Vec, + + /// Required. Id used to match the GetChargingProfilesRequest message with the resulting ReportChargingProfilesRequest messages. When the CSMS provided a requestId in the GetChargingProfilesRequest, this field SHALL contain the same value. + pub request_id: i32, + + /// Required. The evse to which the charging profile applies. If evseId = 0, the message contains an overall limit for the Charging Station. + pub evse_id: i32, + + /// Optional. To Be Continued. Default value when omitted: false. false indicates that there are no further messages as part of this report. + #[serde(skip_serializing_if = "Option::is_none")] + pub tbc: Option, +} + +/// Response body for the ReportChargingProfiles response. +/// This contains no fields as per the OCPP 2.1 specification. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ReportChargingProfilesResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/report_der_control.rs b/src/v2_1/messages/report_der_control.rs new file mode 100644 index 00000000..0ca5055d --- /dev/null +++ b/src/v2_1/messages/report_der_control.rs @@ -0,0 +1,73 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{ + CustomDataType, DERCurveGetType, EnterServiceGetType, FixedPFGetType, FixedVarGetType, + FreqDroopGetType, GradientGetType, LimitMaxDischargeGetType, +}; + +/// Request body for the ReportDERControl request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ReportDERControlRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. RequestId from GetDERControlRequest. + pub request_id: i32, + + /// Optional. To Be Continued. Default value when omitted: false. false indicates that there are no further messages as part of this report. + #[serde(skip_serializing_if = "Option::is_none")] + pub tbc: Option, + + /// Optional. Array of DER curve settings. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1, max = 24))] + pub curve: Option>, + + /// Optional. Array of enter service settings. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1, max = 24))] + pub enter_service: Option>, + + /// Optional. Array of fixed power factor settings for absorbing reactive power. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1, max = 24))] + pub fixed_pf_absorb: Option>, + + /// Optional. Array of fixed power factor settings for injecting reactive power. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1, max = 24))] + pub fixed_pf_inject: Option>, + + /// Optional. Array of fixed var settings. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1, max = 24))] + pub fixed_var: Option>, + + /// Optional. Array of frequency droop settings. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1, max = 24))] + pub freq_droop: Option>, + + /// Optional. Array of gradient settings. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1, max = 24))] + pub gradient: Option>, + + /// Optional. Array of maximum discharge limit settings. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1, max = 24))] + pub limit_max_discharge: Option>, +} + +/// Response body for the ReportDERControl response. +/// This contains no fields as per the OCPP 2.1 specification. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ReportDERControlResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/request_battery_swap.rs b/src/v2_1/messages/request_battery_swap.rs new file mode 100644 index 00000000..9026d941 --- /dev/null +++ b/src/v2_1/messages/request_battery_swap.rs @@ -0,0 +1,35 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{CustomDataType, GenericStatusEnumType, IdTokenType, StatusInfoType}; + +/// Request body for the RequestBatterySwap request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct RequestBatterySwapRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Contains the identifier that needs to be authorized. + pub id_token: IdTokenType, + + /// Required. Request id to match with BatterySwapRequest. + pub request_id: i32, +} + +/// Response body for the RequestBatterySwap response. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct RequestBatterySwapResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Accepted or rejected the request. + pub status: GenericStatusEnumType, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/request_start_transaction.rs b/src/v2_1/messages/request_start_transaction.rs new file mode 100644 index 00000000..9c82abda --- /dev/null +++ b/src/v2_1/messages/request_start_transaction.rs @@ -0,0 +1,56 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{ + ChargingProfileType, CustomDataType, IdTokenType, RequestStartStopStatusEnumType, + StatusInfoType, +}; + +/// Request body for the RequestStartTransaction request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct RequestStartTransactionRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Optional. Number of the EVSE on which to start the transaction. EvseId SHALL be > 0. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 1))] + pub evse_id: Option, + + /// Optional. Group authorization reference to use when starting a transaction. + #[serde(skip_serializing_if = "Option::is_none")] + pub group_id_token: Option, + + /// Required. Contains the identifier that needs to be authorized. + pub id_token: IdTokenType, + + /// Required. Id given by the server to this start request. The Charging Station will return this in the TransactionEventRequest, letting the server know which transaction was started for this request. + pub remote_start_id: i32, + + /// Optional. Charging profile to be used for this transaction. + #[serde(skip_serializing_if = "Option::is_none")] + pub charging_profile: Option, +} + +/// Response body for the RequestStartTransaction response. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct RequestStartTransactionResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Status indicating whether the Charging Station accepts the request to start a transaction. + pub status: RequestStartStopStatusEnumType, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Optional. When the transaction was already started by the Charging Station before the RequestStartTransactionRequest was received, for example: cable plugged in first. This contains the transactionId of the already started transaction. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 36))] + pub transaction_id: Option, +} diff --git a/src/v2_1/messages/request_stop_transaction.rs b/src/v2_1/messages/request_stop_transaction.rs new file mode 100644 index 00000000..f4caaa95 --- /dev/null +++ b/src/v2_1/messages/request_stop_transaction.rs @@ -0,0 +1,33 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{CustomDataType, RequestStartStopStatusEnumType, StatusInfoType}; + +/// Request body for the RequestStopTransaction request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct RequestStopTransactionRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The identifier of the transaction which the Charging Station is requested to stop. + #[validate(length(max = 36))] + pub transaction_id: String, +} + +/// Response body for the RequestStopTransaction response. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct RequestStopTransactionResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Status indicating whether Charging Station accepts the request to stop a transaction. + pub status: RequestStartStopStatusEnumType, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/reservation_status_update.rs b/src/v2_1/messages/reservation_status_update.rs new file mode 100644 index 00000000..87ee73d8 --- /dev/null +++ b/src/v2_1/messages/reservation_status_update.rs @@ -0,0 +1,39 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::CustomDataType; + +/// The updated reservation status enumeration type. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)] +#[serde(rename_all = "camelCase")] +pub enum ReservationUpdateStatusEnumType { + Expired, + Removed, + NoTransaction, +} + +/// Request body for the ReservationStatusUpdate request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ReservationStatusUpdateRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The ID of the reservation. + #[validate(range(min = 0))] + pub reservation_id: i32, + + /// Required. The updated reservation status. + pub reservation_update_status: ReservationUpdateStatusEnumType, +} + +/// Response body for the ReservationStatusUpdate response. +/// This contains no fields as per the OCPP 2.1 specification. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ReservationStatusUpdateResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/reserve_now.rs b/src/v2_1/messages/reserve_now.rs new file mode 100644 index 00000000..00d21913 --- /dev/null +++ b/src/v2_1/messages/reserve_now.rs @@ -0,0 +1,56 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{ + CustomDataType, IdTokenType, ReserveNowStatusEnumType, StatusInfoType, +}; + +/// Request body for the ReserveNow request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ReserveNowRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Id of reservation. + #[validate(range(min = 0))] + pub id: i32, + + /// Required. Date and time at which the reservation expires. + pub expiry_date_time: DateTime, + + /// Optional. This field specifies the connector type. Values defined in Appendix as ConnectorEnumStringType. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 20))] + pub connector_type: Option, + + /// Required. Contains the identifier that needs to be authorized. + pub id_token: IdTokenType, + + /// Optional. This contains ID of the evse to be reserved. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub evse_id: Option, + + /// Optional. Group authorization reference to use when starting a transaction. + #[serde(skip_serializing_if = "Option::is_none")] + pub group_id_token: Option, +} + +/// Response body for the ReserveNow response. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ReserveNowResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. This indicates the success or failure of the reservation. + pub status: ReserveNowStatusEnumType, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/reset.rs b/src/v2_1/messages/reset.rs new file mode 100644 index 00000000..1e8445ab --- /dev/null +++ b/src/v2_1/messages/reset.rs @@ -0,0 +1,56 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{CustomDataType, StatusInfoType}; + +/// The type of reset that the Charging Station or EVSE should perform. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)] +#[serde(rename_all = "camelCase")] +pub enum ResetEnumType { + Immediate, + OnIdle, + ImmediateAndResume, +} + +/// The status indicating whether the Charging Station is able to perform the reset. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)] +#[serde(rename_all = "camelCase")] +pub enum ResetStatusEnumType { + Accepted, + Rejected, + Scheduled, +} + +/// Request body for the Reset request. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ResetRequest { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. This contains the type of reset that the Charging Station or EVSE should perform. + #[serde(rename = "type")] + pub reset_type: ResetEnumType, + + /// Optional. This contains the ID of a specific EVSE that needs to be reset, instead of the entire Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub evse_id: Option, +} + +/// Response body for the Reset response. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct ResetResponse { + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. This indicates whether the Charging Station is able to perform the reset. + pub status: ResetStatusEnumType, + + /// Optional. Element providing more information about the status. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/security_event_notification.rs b/src/v2_1/messages/security_event_notification.rs new file mode 100644 index 00000000..6f88610b --- /dev/null +++ b/src/v2_1/messages/security_event_notification.rs @@ -0,0 +1,37 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::CustomDataType; + +/// Request sent by the Charging Station to the CSMS in case of a security event. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SecurityEventNotificationRequest { + /// Optional. Custom data specific to this message. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Type of the security event. This value should be taken from the Security events list. + #[validate(length(max = 50))] + #[serde(rename = "type")] + pub kind: String, + + /// Required. Date and time at which the event occurred. + pub timestamp: DateTime, + + /// Optional. Additional information about the occurred security event. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(max = 255))] + pub tech_info: Option, +} + +/// Response to a SecurityEventNotificationRequest. This message is typically used to acknowledge +/// the receipt of a security event notification. No fields are required beyond the optional CustomData. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SecurityEventNotificationResponse { + /// Optional. Custom data specific to this message. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/send_local_list.rs b/src/v2_1/messages/send_local_list.rs new file mode 100644 index 00000000..17564c94 --- /dev/null +++ b/src/v2_1/messages/send_local_list.rs @@ -0,0 +1,54 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{AuthorizationData, CustomDataType, StatusInfoType}, + enumerations::SendLocalListStatusEnumType, +}; + +/// Enumeration for the type of update in a SendLocalListRequest. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)] +#[serde(rename_all = "camelCase")] +pub enum UpdateEnumType { + Differential, + Full, +} + +/// Request to send a local authorization list to the Charging Station. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SendLocalListRequest { + /// Optional. Custom data specific to this message. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Optional. List of authorization data to update in the Local Authorization List. + /// If empty and updateType is Full, the Local Authorization List will be cleared. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(length(min = 1))] + pub local_authorization_list: Option>, + + /// Required. In case of a full update this is the version number of the full list. + /// In case of a differential update it is the version number of the list after the update has been applied. + pub version_number: i32, + + /// Required. This contains the type of update (full or differential) of this request. + pub update_type: UpdateEnumType, +} + +/// Response to a SendLocalListRequest. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SendLocalListResponse { + /// Optional. Custom data specific to this message. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. This indicates whether the Charging Station has successfully received and applied + /// the update of the Local Authorization List. + pub status: SendLocalListStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/set_charging_profile.rs b/src/v2_1/messages/set_charging_profile.rs new file mode 100644 index 00000000..0c508fc0 --- /dev/null +++ b/src/v2_1/messages/set_charging_profile.rs @@ -0,0 +1,43 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{ChargingProfileType, CustomDataType, StatusInfoType}, + enumerations::ChargingProfileStatusEnumType, +}; + +/// Request to set a charging profile at the Charging Station. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetChargingProfileRequest { + /// Optional. Custom data specific to this message. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. For TxDefaultProfile an evseId=0 applies the profile to each individual evse. + /// For ChargingStationMaxProfile and ChargingStationExternalConstraints an evseId=0 contains + /// an overall limit for the whole Charging Station. + #[validate(range(min = 0))] + pub evse_id: i32, + + /// Required. Charging Profile to be set at the Charging Station. + pub charging_profile: ChargingProfileType, +} + +/// Response to a SetChargingProfileRequest. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetChargingProfileResponse { + /// Optional. Custom data specific to this message. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Returns whether the Charging Station has been able to process the message successfully. + /// This does not guarantee the schedule will be followed to the letter. + /// There might be other constraints the Charging Station may need to take into account. + pub status: ChargingProfileStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/set_default_tariff.rs b/src/v2_1/messages/set_default_tariff.rs new file mode 100644 index 00000000..b617e39d --- /dev/null +++ b/src/v2_1/messages/set_default_tariff.rs @@ -0,0 +1,39 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, StatusInfoType, TariffType}, + enumerations::TariffSetStatusEnumType, +}; + +/// Request to set a default tariff at the Charging Station. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetDefaultTariffRequest { + /// Optional. Custom data specific to this message. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. EVSE that tariff applies to. When evseId = 0, then tariff applies to all EVSEs. + #[validate(range(min = 0))] + pub evse_id: i32, + + /// Required. The tariff to be set at the Charging Station. + pub tariff: TariffType, +} + +/// Response to a SetDefaultTariffRequest. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetDefaultTariffResponse { + /// Optional. Custom data specific to this message. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Status indicating whether the Charging Station accepts the request. + pub status: TariffSetStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/set_monitoring_base.rs b/src/v2_1/messages/set_monitoring_base.rs new file mode 100644 index 00000000..6663a454 --- /dev/null +++ b/src/v2_1/messages/set_monitoring_base.rs @@ -0,0 +1,35 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, StatusInfoType}, + enumerations::{GenericDeviceModelStatusEnumType, MonitoringBaseEnumType}, +}; + +/// Request to set the monitoring base at the Charging Station. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetMonitoringBaseRequest { + /// Optional. Custom data specific to this message. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Specify which monitoring base will be set. + pub monitoring_base: MonitoringBaseEnumType, +} + +/// Response to a SetMonitoringBaseRequest. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetMonitoringBaseResponse { + /// Optional. Custom data specific to this message. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Indicates whether the Charging Station was able to accept the request. + pub status: GenericDeviceModelStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/set_monitoring_level.rs b/src/v2_1/messages/set_monitoring_level.rs new file mode 100644 index 00000000..410c6fd9 --- /dev/null +++ b/src/v2_1/messages/set_monitoring_level.rs @@ -0,0 +1,37 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, StatusInfoType}, + enumerations::GenericStatusEnumType, +}; + +/// Request to set the monitoring level at the Charging Station. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetMonitoringLevelRequest { + /// Optional. Custom data specific to this message. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The Charging Station SHALL only report events with a severity number lower than or equal to this severity. + /// The severity range is 0-9, with 0 as the highest and 9 as the lowest severity level. + #[validate(range(min = 0, max = 9))] + pub severity: i32, +} + +/// Response to a SetMonitoringLevelRequest. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetMonitoringLevelResponse { + /// Optional. Custom data specific to this message. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Indicates whether the Charging Station was able to accept the request. + pub status: GenericStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/set_network_profile.rs b/src/v2_1/messages/set_network_profile.rs new file mode 100644 index 00000000..ea825e45 --- /dev/null +++ b/src/v2_1/messages/set_network_profile.rs @@ -0,0 +1,39 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::{ + datatypes::{CustomDataType, NetworkConnectionProfileType, StatusInfoType}, + enumerations::SetNetworkProfileStatusEnumType, +}; + +/// Request to configure network connection profiles on a Charging Station. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetNetworkProfileRequest { + /// Optional. Custom data specific to this message. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Slot in which the configuration should be stored. + #[validate(range(min = 0))] + pub configuration_slot: i32, + + /// Required. Network connection profile details. + pub connection_data: NetworkConnectionProfileType, +} + +/// Response to a SetNetworkProfileRequest. +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetNetworkProfileResponse { + /// Optional. Custom data specific to this message. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Result of operation. + pub status: SetNetworkProfileStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/set_variable_monitoring.rs b/src/v2_1/messages/set_variable_monitoring.rs new file mode 100644 index 00000000..3abe8ca1 --- /dev/null +++ b/src/v2_1/messages/set_variable_monitoring.rs @@ -0,0 +1,133 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{ComponentType, CustomDataType, StatusInfoType, VariableType}; + +/// The type of monitor, e.g. a threshold, delta or periodic monitor. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub enum MonitorEnumType { + UpperThreshold, + LowerThreshold, + Delta, + Periodic, + PeriodicClockAligned, + TargetDelta, + TargetDeltaRelative, +} + +/// Status returned in response to SetVariableMonitoring request. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub enum SetMonitoringStatusEnumType { + Accepted, + UnknownComponent, + UnknownVariable, + UnsupportedMonitorType, + Rejected, + Duplicate, +} + +/// Class to hold parameters of SetVariableMonitoring request. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetMonitoringDataType { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Optional. An id SHALL only be given to replace an existing monitor. + /// The Charging Station handles the generation of id's for new monitors. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub id: Option, + + /// Optional. Monitor only active when a transaction is ongoing on a component + /// relevant to this transaction. Default = false. + #[serde(skip_serializing_if = "Option::is_none")] + pub transaction: Option, + + /// Required. Value for threshold or delta monitoring. + /// For Periodic or PeriodicClockAligned this is the interval in seconds. + pub value: f64, + + /// Required. The type of this monitor. + #[serde(rename = "type")] + pub monitor_type: MonitorEnumType, + + /// Required. The severity that will be assigned to an event that is triggered by this monitor. + /// The severity range is 0-9, with 0 as the highest and 9 as the lowest severity level. + #[validate(range(min = 0, max = 9))] + pub severity: i32, + + /// Required. Component for which a variable is monitored. + pub component: ComponentType, + + /// Required. Variable that is monitored. + pub variable: VariableType, +} + +/// Class to hold result of SetVariableMonitoring request. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetMonitoringResultType { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Optional. Id given to the VariableMonitor by the Charging Station. + /// The Id is only returned when status is accepted. + #[serde(skip_serializing_if = "Option::is_none")] + #[validate(range(min = 0))] + pub id: Option, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + + /// Required. The status of the monitoring setting. + pub status: SetMonitoringStatusEnumType, + + /// Required. The type of this monitor. + #[serde(rename = "type")] + pub monitor_type: MonitorEnumType, + + /// Required. Component for which a variable is monitored. + pub component: ComponentType, + + /// Required. Variable that is monitored. + pub variable: VariableType, + + /// Required. The severity that will be assigned to an event that is triggered by this monitor. + /// The severity range is 0-9, with 0 as the highest and 9 as the lowest severity level. + #[validate(range(min = 0, max = 9))] + pub severity: i32, +} + +/// Request to set monitoring parameters for a variable. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetVariableMonitoringRequest { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. List of monitoring settings to configure. + #[validate] + #[validate(length(min = 1))] + pub set_monitoring_data: Vec, +} + +/// Response to SetVariableMonitoring request. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetVariableMonitoringResponse { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. List of result statuses per monitoring setting. + #[validate] + #[validate(length(min = 1))] + pub set_monitoring_result: Vec, +} diff --git a/src/v2_1/messages/set_variables.rs b/src/v2_1/messages/set_variables.rs new file mode 100644 index 00000000..b1fe09c9 --- /dev/null +++ b/src/v2_1/messages/set_variables.rs @@ -0,0 +1,111 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{ComponentType, CustomDataType, StatusInfoType, VariableType}; + +/// Type of attribute: Actual, Target, MinSet, MaxSet. Default is Actual when omitted. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub enum AttributeEnumType { + Actual, + Target, + MinSet, + MaxSet, +} + +impl Default for AttributeEnumType { + fn default() -> Self { + Self::Actual + } +} + +/// Result status of setting the variable. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub enum SetVariableStatusEnumType { + Accepted, + Rejected, + UnknownComponent, + UnknownVariable, + NotSupportedAttributeType, + RebootRequired, +} + +/// Class to hold parameters for setting a variable. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetVariableDataType { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Optional. Type of attribute: Actual, Target, MinSet, MaxSet. + /// Default is Actual when omitted. + #[serde(skip_serializing_if = "Option::is_none")] + pub attribute_type: Option, + + /// Required. Value to be assigned to attribute of variable. + #[validate(length(max = 2500))] + pub attribute_value: String, + + /// Required. Component for which the variable is set. + pub component: ComponentType, + + /// Required. Variable which the value is set for. + pub variable: VariableType, +} + +/// Class to hold the result of setting a variable. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetVariableResultType { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Optional. Type of attribute: Actual, Target, MinSet, MaxSet. + /// Default is Actual when omitted. + #[serde(skip_serializing_if = "Option::is_none")] + pub attribute_type: Option, + + /// Required. Result status of setting the variable. + pub attribute_status: SetVariableStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub attribute_status_info: Option, + + /// Required. Component for which the variable is set. + pub component: ComponentType, + + /// Required. Variable which the value is set for. + pub variable: VariableType, +} + +/// Request to set variables in a charging station. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetVariablesRequest { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. List of settings to set in components. + #[validate] + #[validate(length(min = 1))] + pub set_variable_data: Vec, +} + +/// Response to SetVariables request. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SetVariablesResponse { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. List of result statuses per settings. + #[validate] + #[validate(length(min = 1))] + pub set_variable_result: Vec, +} diff --git a/src/v2_1/messages/sign_certificate.rs b/src/v2_1/messages/sign_certificate.rs new file mode 100644 index 00000000..76ea1ced --- /dev/null +++ b/src/v2_1/messages/sign_certificate.rs @@ -0,0 +1,63 @@ +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::{CertificateHashDataType, CustomDataType, StatusInfoType}; + +/// Indicates the type of certificate that is to be signed. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub enum CertificateSigningUseEnumType { + ChargingStationCertificate, + V2GCertificate, + V2G20Certificate, +} + +/// Specifies whether the CSMS can process the request. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub enum GenericStatusEnumType { + Accepted, + Rejected, +} + +/// Request to sign a certificate. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SignCertificateRequest { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The Charging Station SHALL send the public key in form of a Certificate + /// Signing Request (CSR) as described in RFC 2986 and then PEM encoded. + #[validate(length(max = 5500))] + pub csr: String, + + /// Optional. Indicates the type of certificate that is to be signed. + #[serde(skip_serializing_if = "Option::is_none")] + pub certificate_type: Option, + + /// Optional. Hash of the root certificate to be installed. + #[serde(skip_serializing_if = "Option::is_none")] + pub hash_root_certificate: Option, + + /// Optional. RequestId to match this message with the CertificateSignedRequest. + #[serde(skip_serializing_if = "Option::is_none")] + pub request_id: Option, +} + +/// Response to a SignCertificateRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct SignCertificateResponse { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. Returns whether the CSMS can process the request. + pub status: GenericStatusEnumType, + + /// Optional. Detailed status information. + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} diff --git a/src/v2_1/messages/status_notification.rs b/src/v2_1/messages/status_notification.rs new file mode 100644 index 00000000..2a4af4fc --- /dev/null +++ b/src/v2_1/messages/status_notification.rs @@ -0,0 +1,48 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use validator::Validate; + +use crate::v2_1::datatypes::CustomDataType; + +/// This contains the current status of the Connector. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub enum ConnectorStatusEnumType { + Available, + Occupied, + Reserved, + Unavailable, + Faulted, +} + +/// Request to notify the CSMS about a status change of a connector. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct StatusNotificationRequest { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + + /// Required. The time for which the status is reported. + pub timestamp: DateTime, + + /// Required. The current status of the Connector. + pub connector_status: ConnectorStatusEnumType, + + /// Required. The id of the EVSE to which the connector belongs for which the status is reported. + #[validate(range(min = 0))] + pub evse_id: i32, + + /// Required. The id of the connector within the EVSE for which the status is reported. + #[validate(range(min = 0))] + pub connector_id: i32, +} + +/// Response to a StatusNotificationRequest. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] +pub struct StatusNotificationResponse { + /// Optional. Custom data specific to this class. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, +} diff --git a/src/v2_1/messages/transaction_event.rs b/src/v2_1/messages/transaction_event.rs new file mode 100644 index 00000000..7574221e --- /dev/null +++ b/src/v2_1/messages/transaction_event.rs @@ -0,0 +1,90 @@ +use super::{ + CustomData, IdToken, IdTokenInfo, MessageContent, MeterValue, Transaction, TransactionData, + TransactionEventEnum, TransactionLimit, TriggerReasonEnum, EVSE, +}; + +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq)] +pub struct TransactionEventRequest { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + pub event_type: TransactionEventEnum, + pub meter_value: Vec, + pub timestamp: chrono::DateTime, + pub trigger_reason: TriggerReasonEnum, + pub seq_no: i32, + pub transaction_info: Transaction, + #[serde(skip_serializing_if = "Option::is_none")] + pub offline: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub number_of_phases_used: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub cable_max_current: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub reservation_id: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub transaction_data: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub evse: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub id_token: Option, +} + +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq)] +pub struct TransactionEventResponse { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub total_cost: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub charging_priority: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub id_token_info: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub transaction_limit: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub updated_personal_message: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub updated_personal_message_extra: Option>, +} + +impl TransactionEventRequest { + pub fn new( + event_type: TransactionEventEnum, + meter_value: Vec, + timestamp: chrono::DateTime, + trigger_reason: TriggerReasonEnum, + seq_no: i32, + transaction_info: Transaction, + ) -> Self { + Self { + custom_data: None, + event_type, + meter_value, + timestamp, + trigger_reason, + seq_no, + transaction_info, + offline: None, + number_of_phases_used: None, + cable_max_current: None, + reservation_id: None, + transaction_data: None, + evse: None, + id_token: None, + } + } +} + +impl TransactionEventResponse { + pub fn new() -> Self { + Self { + custom_data: None, + total_cost: None, + charging_priority: None, + id_token_info: None, + transaction_limit: None, + updated_personal_message: None, + updated_personal_message_extra: None, + } + } +} diff --git a/src/v2_1/messages/unlock_connector.rs b/src/v2_1/messages/unlock_connector.rs new file mode 100644 index 00000000..e6e40b76 --- /dev/null +++ b/src/v2_1/messages/unlock_connector.rs @@ -0,0 +1,38 @@ +use super::{CustomData, StatusInfo, UnlockStatusEnum}; + +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq)] +pub struct UnlockConnectorRequest { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + pub evse_id: i32, + pub connector_id: i32, +} + +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq)] +pub struct UnlockConnectorResponse { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + pub status: UnlockStatusEnum, + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} + +impl UnlockConnectorRequest { + pub fn new(evse_id: i32, connector_id: i32) -> Self { + Self { + custom_data: None, + evse_id, + connector_id, + } + } +} + +impl UnlockConnectorResponse { + pub fn new(status: UnlockStatusEnum) -> Self { + Self { + custom_data: None, + status, + status_info: None, + } + } +} diff --git a/src/v2_1/messages/unpublish_firmware.rs b/src/v2_1/messages/unpublish_firmware.rs new file mode 100644 index 00000000..b75251b1 --- /dev/null +++ b/src/v2_1/messages/unpublish_firmware.rs @@ -0,0 +1,33 @@ +use super::{CustomData, UnpublishFirmwareStatusEnum}; + +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq)] +pub struct UnpublishFirmwareRequest { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + pub checksum: String, +} + +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq)] +pub struct UnpublishFirmwareResponse { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + pub status: UnpublishFirmwareStatusEnum, +} + +impl UnpublishFirmwareRequest { + pub fn new(checksum: String) -> Self { + Self { + custom_data: None, + checksum, + } + } +} + +impl UnpublishFirmwareResponse { + pub fn new(status: UnpublishFirmwareStatusEnum) -> Self { + Self { + custom_data: None, + status, + } + } +} diff --git a/src/v2_1/messages/update_firmware.rs b/src/v2_1/messages/update_firmware.rs new file mode 100644 index 00000000..7788a87a --- /dev/null +++ b/src/v2_1/messages/update_firmware.rs @@ -0,0 +1,44 @@ +use super::{CustomData, Firmware, StatusInfo, UpdateFirmwareStatusEnum}; + +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq)] +pub struct UpdateFirmwareRequest { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub retries: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub retry_interval: Option, + pub request_id: i32, + pub firmware: Firmware, +} + +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq)] +pub struct UpdateFirmwareResponse { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + pub status: UpdateFirmwareStatusEnum, + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} + +impl UpdateFirmwareRequest { + pub fn new(request_id: i32, firmware: Firmware) -> Self { + Self { + custom_data: None, + retries: None, + retry_interval: None, + request_id, + firmware, + } + } +} + +impl UpdateFirmwareResponse { + pub fn new(status: UpdateFirmwareStatusEnum) -> Self { + Self { + custom_data: None, + status, + status_info: None, + } + } +} diff --git a/src/v2_1/messages/use_priority_charging.rs b/src/v2_1/messages/use_priority_charging.rs new file mode 100644 index 00000000..36640f55 --- /dev/null +++ b/src/v2_1/messages/use_priority_charging.rs @@ -0,0 +1,36 @@ +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq)] +pub struct UsePriorityChargingRequest { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + pub transaction_id: String, + pub activate: bool, +} + +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq)] +pub struct UsePriorityChargingResponse { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + pub status: super::enumerations::PriorityChargingStatusEnum, + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, +} + +impl UsePriorityChargingRequest { + pub fn new(transaction_id: String, activate: bool) -> Self { + Self { + custom_data: None, + transaction_id, + activate, + } + } +} + +impl UsePriorityChargingResponse { + pub fn new(status: super::enumerations::PriorityChargingStatusEnum) -> Self { + Self { + custom_data: None, + status, + status_info: None, + } + } +} diff --git a/src/v2_1/messages/vat_number_validation.rs b/src/v2_1/messages/vat_number_validation.rs new file mode 100644 index 00000000..8497940d --- /dev/null +++ b/src/v2_1/messages/vat_number_validation.rs @@ -0,0 +1,47 @@ +use super::{Address, CustomData, GenericStatusEnum, StatusInfo}; + +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq)] +pub struct VatNumberValidationRequest { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + pub vat_number: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub evse_id: Option, +} + +#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq)] +pub struct VatNumberValidationResponse { + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub company: Option
, + #[serde(skip_serializing_if = "Option::is_none")] + pub status_info: Option, + pub vat_number: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub evse_id: Option, + pub status: GenericStatusEnum, +} + +impl VatNumberValidationRequest { + pub fn new(vat_number: String) -> Self { + Self { + custom_data: None, + vat_number, + evse_id: None, + } + } +} + +impl VatNumberValidationResponse { + pub fn new(vat_number: String, status: GenericStatusEnum) -> Self { + Self { + custom_data: None, + company: None, + status_info: None, + vat_number, + evse_id: None, + status, + } + } +} From 64e28911a94633b521376f8f4f8e4c99f5f710a6 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Sun, 16 Feb 2025 09:28:08 +0100 Subject: [PATCH 049/249] Minor fixes --- src/v2_1/enumerations/mod.rs | 4 +++ src/v2_1/messages/boot_notification.rs | 41 +--------------------- src/v2_1/messages/mod.rs | 19 +++++++--- src/v2_1/messages/transaction_event.rs | 5 +-- src/v2_1/messages/use_priority_charging.rs | 12 ++++--- 5 files changed, 27 insertions(+), 54 deletions(-) diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 5d3e5ef0..ca8059f2 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -99,6 +99,8 @@ pub mod tariff_get_status; pub mod tariff_kind; pub mod tariff_set_status; pub mod transaction_event; +pub mod trigger_reason; +pub mod unlock_status; pub mod unpublish_firmware_status; pub mod update; pub mod update_firmware_status; @@ -206,6 +208,8 @@ pub use tariff_get_status::TariffGetStatusEnumType; pub use tariff_kind::TariffKindEnumType; pub use tariff_set_status::TariffSetStatusEnumType; pub use transaction_event::TransactionEventEnumType; +pub use trigger_reason::TriggerReasonEnumType; +pub use unlock_status::UnlockStatusEnumType; pub use unpublish_firmware_status::UnpublishFirmwareStatusEnumType; pub use update::UpdateEnumType; pub use update_firmware_status::UpdateFirmwareStatusEnumType; diff --git a/src/v2_1/messages/boot_notification.rs b/src/v2_1/messages/boot_notification.rs index e2c7b0ce..b41b3952 100644 --- a/src/v2_1/messages/boot_notification.rs +++ b/src/v2_1/messages/boot_notification.rs @@ -1,51 +1,12 @@ use chrono::{DateTime, Utc}; -use lazy_static::lazy_static; -use regex::Regex; use serde::{Deserialize, Serialize}; -use validator::{Validate, ValidationError}; +use validator::Validate; use crate::v2_1::{ datatypes::{CustomDataType, StatusInfoType}, enumerations::{BootReasonEnumType, RegistrationStatusEnumType}, }; -lazy_static! { - // This regex pattern validates ISO 8601 datetime strings in the format: - // YYYY-MM-DDThh:mm:ss[.fraction]Z or - // YYYY-MM-DDThh:mm:ss[.fraction]±hh:mm - // Where: - // - YYYY is a 4 digit year - // - MM is a 2 digit month - // - DD is a 2 digit day - // - T is the literal 'T' separator - // - hh:mm:ss is hours, minutes, seconds - // - [.fraction] is an optional decimal fraction of a second - // - Z represents UTC or ±hh:mm represents timezone offset - static ref DATETIME_REGEX: Regex = - Regex::new(r"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$") - .unwrap(); -} - -/// Validates that a datetime string matches the ISO 8601 format. -/// -/// The expected format is: -/// - YYYY-MM-DDThh:mm:ss[.fraction]Z or -/// - YYYY-MM-DDThh:mm:ss[.fraction]±hh:mm -/// -/// # Arguments -/// * `datetime` - The datetime string to validate -/// -/// # Returns -/// * `Ok(())` if the datetime string is valid -/// * `Err(ValidationError)` if the datetime string is invalid -fn validate_datetime(datetime: &str) -> Result<(), ValidationError> { - if DATETIME_REGEX.is_match(datetime) { - Ok(()) - } else { - Err(ValidationError::new("invalid_datetime")) - } -} - /// Defines parameters required for initiating and maintaining wireless communication with other devices. #[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] #[serde(rename_all = "camelCase")] diff --git a/src/v2_1/messages/mod.rs b/src/v2_1/messages/mod.rs index bfdc542a..3d7a580e 100644 --- a/src/v2_1/messages/mod.rs +++ b/src/v2_1/messages/mod.rs @@ -14,14 +14,23 @@ pub mod use_priority_charging; pub mod vat_number_validation; // Re-exports -pub use crate::v2_1::datatypes::CustomData; +pub use crate::v2_1::datatypes::custom_data::CustomDataType as CustomData; pub use crate::v2_1::datatypes::{ - Address, Firmware, IdToken, IdTokenInfo, MessageContent, MeterValue, StatusInfo, Transaction, - TransactionData, TransactionLimit, EVSE, + address::AddressType as Address, evse::EVSEType as EVSE, firmware::FirmwareType as Firmware, + id_token::IdTokenType as IdToken, id_token_info::IdTokenInfoType as IdTokenInfo, + message_content::MessageContentType as MessageContent, + meter_value::MeterValueType as MeterValue, status_info::StatusInfoType as StatusInfo, + transaction::TransactionType as Transaction, + transaction_limit::TransactionLimitType as TransactionLimit, }; pub use crate::v2_1::enumerations::{ - GenericStatusEnum, PriorityChargingStatusEnum, TransactionEventEnum, TriggerReasonEnum, - UnlockStatusEnum, UnpublishFirmwareStatusEnum, UpdateFirmwareStatusEnum, + generic_status::GenericStatusEnumType as GenericStatusEnum, + priority_charging_status::PriorityChargingStatusEnumType as PriorityChargingStatusEnum, + transaction_event::TransactionEventEnumType as TransactionEventEnum, + trigger_reason::TriggerReasonEnumType as TriggerReasonEnum, + unlock_status::UnlockStatusEnumType as UnlockStatusEnum, + unpublish_firmware_status::UnpublishFirmwareStatusEnumType as UnpublishFirmwareStatusEnum, + update_firmware_status::UpdateFirmwareStatusEnumType as UpdateFirmwareStatusEnum, }; pub use crate::v2_1::messages::cancel_reservation::CancelReservationResponse; diff --git a/src/v2_1/messages/transaction_event.rs b/src/v2_1/messages/transaction_event.rs index 7574221e..07678458 100644 --- a/src/v2_1/messages/transaction_event.rs +++ b/src/v2_1/messages/transaction_event.rs @@ -1,5 +1,5 @@ use super::{ - CustomData, IdToken, IdTokenInfo, MessageContent, MeterValue, Transaction, TransactionData, + CustomData, IdToken, IdTokenInfo, MessageContent, MeterValue, Transaction, TransactionEventEnum, TransactionLimit, TriggerReasonEnum, EVSE, }; @@ -22,8 +22,6 @@ pub struct TransactionEventRequest { #[serde(skip_serializing_if = "Option::is_none")] pub reservation_id: Option, #[serde(skip_serializing_if = "Option::is_none")] - pub transaction_data: Option, - #[serde(skip_serializing_if = "Option::is_none")] pub evse: Option, #[serde(skip_serializing_if = "Option::is_none")] pub id_token: Option, @@ -68,7 +66,6 @@ impl TransactionEventRequest { number_of_phases_used: None, cable_max_current: None, reservation_id: None, - transaction_data: None, evse: None, id_token: None, } diff --git a/src/v2_1/messages/use_priority_charging.rs b/src/v2_1/messages/use_priority_charging.rs index 36640f55..b1791d56 100644 --- a/src/v2_1/messages/use_priority_charging.rs +++ b/src/v2_1/messages/use_priority_charging.rs @@ -1,7 +1,9 @@ +use super::{CustomData, PriorityChargingStatusEnum, StatusInfo}; + #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq)] pub struct UsePriorityChargingRequest { #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, + pub custom_data: Option, pub transaction_id: String, pub activate: bool, } @@ -9,10 +11,10 @@ pub struct UsePriorityChargingRequest { #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq)] pub struct UsePriorityChargingResponse { #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, - pub status: super::enumerations::PriorityChargingStatusEnum, + pub custom_data: Option, + pub status: PriorityChargingStatusEnum, #[serde(skip_serializing_if = "Option::is_none")] - pub status_info: Option, + pub status_info: Option, } impl UsePriorityChargingRequest { @@ -26,7 +28,7 @@ impl UsePriorityChargingRequest { } impl UsePriorityChargingResponse { - pub fn new(status: super::enumerations::PriorityChargingStatusEnum) -> Self { + pub fn new(status: PriorityChargingStatusEnum) -> Self { Self { custom_data: None, status, From 6902ad3f236d49bf227d9974c431dced57039dc5 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Sun, 16 Feb 2025 10:14:10 +0100 Subject: [PATCH 050/249] feat: Add OCPP 2.1 support and enhance schema validation - Bump version to 3.0.0 to reflect OCPP 2.1 support - Add jsonschema dependency - Improve schema validation for various message types - Add validation methods for BootNotificationRequest and CancelReservationRequest/Response - Update test cases to validate against JSON schemas - Modify CustomDataType with validation constraints - Expose more message types in the public API --- Cargo.toml | 3 +- src/tests/schema_validation/v2_1.rs | 55 ++++++++++--------------- src/v2_1/datatypes/custom_data.rs | 5 ++- src/v2_1/messages/boot_notification.rs | 49 ++++++++++++++++++---- src/v2_1/messages/cancel_reservation.rs | 27 ++++++++++-- src/v2_1/messages/mod.rs | 7 ++-- 6 files changed, 97 insertions(+), 49 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index dc29d511..81dca069 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rust-ocpp" -description = "ocpp 1.6 and 2.0.1 libraries" +description = "ocpp 1.6, 2.0.1 and 2.1 libraries" readme = "README.md" license = "MIT OR Apache-2.0" version = "3.0.1" @@ -47,6 +47,7 @@ rust_decimal = { version = "1.36.0", features = [ ] } serde_json = "1" lazy_static = "1.4" +jsonschema = "0.28" [dev-dependencies] chrono = { version = "0.4.39", default-features = false, features = ["clock"] } diff --git a/src/tests/schema_validation/v2_1.rs b/src/tests/schema_validation/v2_1.rs index a575b269..a39bc9b2 100644 --- a/src/tests/schema_validation/v2_1.rs +++ b/src/tests/schema_validation/v2_1.rs @@ -543,54 +543,43 @@ fn test_invalid_battery_swap_request() -> Result<(), Box> } #[test] -fn validate_cancel_reservation_request() { +fn validate_cancel_reservation_request() -> Result<(), Box> { let test = CancelReservationRequest { reservation_id: 42, - custom_data: Some(CustomDataType { - vendor_id: "test_vendor".to_string(), - }), + custom_data: None, // Schema doesn't allow custom_data }; - let schema = include_str!("schemas/v2.1/CancelReservationRequest.json"); - let schema = serde_json::from_str(schema).unwrap(); - let instance = serde_json::to_value(test).unwrap(); - let compiled = Validator::new(&schema).expect("A valid schema"); - let result = compiled.validate(&instance); - if result.is_err() { - for error in compiled.iter_errors(&instance) { - println!("Validation error: {}", error); - println!("Instance path: {}", error.instance_path); - } - } - assert!(compiled.is_valid(&instance)); + let instance = serde_json::to_value(test)?; + assert!(validate_schema_instance( + "CancelReservationRequest.json", + instance + )?); + Ok(()) } #[test] -fn validate_cancel_reservation_response() { +fn validate_cancel_reservation_response() -> Result<(), Box> { let test = CancelReservationResponse { + custom_data: Some(CustomDataType { + vendor_id: "test_vendor".to_string(), + }), status: CancelReservationStatusEnumType::Accepted, status_info: Some(StatusInfoType { reason_code: "NoReservation".to_string(), additional_info: Some("No active reservation found".to_string()), - custom_data: None, - }), - custom_data: Some(CustomDataType { - vendor_id: "test_vendor".to_string(), + custom_data: Some(CustomDataType { + // Add vendorId in status_info custom_data + vendor_id: "test_vendor".to_string(), + }), }), }; - let schema = include_str!("schemas/v2.1/CancelReservationResponse.json"); - let schema = serde_json::from_str(schema).unwrap(); - let instance = serde_json::to_value(test).unwrap(); - let compiled = Validator::new(&schema).expect("A valid schema"); - let result = compiled.validate(&instance); - if result.is_err() { - for error in compiled.iter_errors(&instance) { - println!("Validation error: {}", error); - println!("Instance path: {}", error.instance_path); - } - } - assert!(compiled.is_valid(&instance)); + let instance = serde_json::to_value(test)?; + assert!(validate_schema_instance( + "CancelReservationResponse.json", + instance + )?); + Ok(()) } // We recommend installing an extension to run rust tests. diff --git a/src/v2_1/datatypes/custom_data.rs b/src/v2_1/datatypes/custom_data.rs index b15f6f43..10804c04 100644 --- a/src/v2_1/datatypes/custom_data.rs +++ b/src/v2_1/datatypes/custom_data.rs @@ -1,9 +1,12 @@ use serde::{Deserialize, Serialize}; +use validator::Validate; /// This class does not get 'AdditionalProperties = false' in the schema generation, /// so it can be extended with arbitrary JSON properties to allow adding custom data. -#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)] +#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] pub struct CustomDataType { /// Vendor-specific identifier + #[validate(length(max = 255))] pub vendor_id: String, } diff --git a/src/v2_1/messages/boot_notification.rs b/src/v2_1/messages/boot_notification.rs index b41b3952..60d877fc 100644 --- a/src/v2_1/messages/boot_notification.rs +++ b/src/v2_1/messages/boot_notification.rs @@ -72,6 +72,28 @@ pub struct BootNotificationRequest { pub reason: BootReasonEnumType, } +impl BootNotificationRequest { + pub fn validate(&self) -> Result<(), validator::ValidationErrors> { + validator::Validate::validate(self)?; + self.charging_station.validate()?; + if let Some(modem) = &self.charging_station.modem { + modem.validate()?; + } + if let Some(custom_data) = &self.custom_data { + custom_data.validate()?; + } + if let Some(custom_data) = &self.charging_station.custom_data { + custom_data.validate()?; + } + if let Some(modem) = &self.charging_station.modem { + if let Some(custom_data) = &modem.custom_data { + custom_data.validate()?; + } + } + Ok(()) + } +} + /// Response body for the BootNotification response. #[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] #[serde(rename_all = "camelCase")] @@ -86,6 +108,7 @@ pub struct BootNotificationResponse { /// Required. When Status is Accepted, this contains the heartbeat interval in seconds. /// If the CSMS returns something other than Accepted, the value of the interval field /// indicates the minimum wait time before sending a next BootNotification request. + #[validate(range(min = 0))] pub interval: i32, /// Required. This contains whether the Charging Station has been registered within the CSMS. @@ -148,13 +171,20 @@ mod tests { reason: BootReasonEnumType::PowerUp, charging_station: ChargingStationType { model: "This model name is way too long and should fail validation".into(), - vendor_name: "VendorY".into(), + vendor_name: "This vendor name is also way too long and should fail validation" + .into(), serial_number: Some("This serial number is also too long to be valid".into()), - firmware_version: None, + firmware_version: Some( + "This firmware version is way too long and should fail validation".into(), + ), modem: None, - custom_data: None, + custom_data: Some(CustomDataType { + vendor_id: "test_vendor".to_string(), + }), }, - custom_data: None, + custom_data: Some(CustomDataType { + vendor_id: "test_vendor".to_string(), + }), }; // Validate the request - should fail @@ -163,8 +193,11 @@ mod tests { #[test] fn test_valid_boot_notification_response() { + let current_time = DateTime::parse_from_rfc3339("2023-01-01T12:00:00Z") + .unwrap() + .with_timezone(&Utc); let response = BootNotificationResponse { - current_time: Utc::now(), + current_time, interval: 300, status: RegistrationStatusEnumType::Accepted, status_info: Some(StatusInfoType { @@ -182,7 +215,7 @@ mod tests { assert_eq!( json, json!({ - "currentTime": Utc::now().to_rfc3339(), + "currentTime": "2023-01-01T12:00:00Z", "interval": 300, "status": "Accepted", "statusInfo": { @@ -197,10 +230,10 @@ mod tests { fn test_invalid_boot_notification_response() { let response = BootNotificationResponse { current_time: Utc::now(), - interval: 300, + interval: -1, // Invalid interval status: RegistrationStatusEnumType::Accepted, status_info: Some(StatusInfoType { - reason_code: "This reason code is way too long to be valid".into(), + reason_code: "This reason code is way too long to be valid and should cause validation to fail because it exceeds the maximum length allowed for reason codes in the OCPP specification".into(), additional_info: None, custom_data: None, }), diff --git a/src/v2_1/messages/cancel_reservation.rs b/src/v2_1/messages/cancel_reservation.rs index 28f6ffbd..4154d38c 100644 --- a/src/v2_1/messages/cancel_reservation.rs +++ b/src/v2_1/messages/cancel_reservation.rs @@ -11,6 +11,7 @@ use validator::Validate; pub struct CancelReservationRequest { /// Id of the reservation to cancel. #[validate(range(min = 0))] + #[serde(rename = "reservationId")] pub reservation_id: i32, /// Optional custom data @@ -23,7 +24,12 @@ pub struct CancelReservationRequest { /// This message is sent by the Charging Station to the CSMS in response to a CancelReservationRequest. /// It indicates whether the Charging Station was able to cancel the reservation. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] +#[serde(rename_all = "camelCase")] pub struct CancelReservationResponse { + /// Optional custom data + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + /// This indicates the success or failure of the canceling of a reservation by CSMS. pub status: CancelReservationStatusEnumType, @@ -32,8 +38,23 @@ pub struct CancelReservationResponse { /// This field can be used to provide additional information about the status. #[serde(skip_serializing_if = "Option::is_none")] pub status_info: Option, +} - /// Optional custom data - #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, +impl CancelReservationRequest { + pub fn new(reservation_id: i32) -> Self { + Self { + reservation_id, + custom_data: None, + } + } +} + +impl CancelReservationResponse { + pub fn new(status: CancelReservationStatusEnumType) -> Self { + Self { + custom_data: None, + status, + status_info: None, + } + } } diff --git a/src/v2_1/messages/mod.rs b/src/v2_1/messages/mod.rs index 3d7a580e..cfb563ee 100644 --- a/src/v2_1/messages/mod.rs +++ b/src/v2_1/messages/mod.rs @@ -1,10 +1,10 @@ pub mod adjust_periodic_event_stream; pub mod afrr_signal; -mod authorize; +pub mod authorize; pub mod battery_swap; -mod boot_notification; +pub mod boot_notification; pub mod cancel_reservation; -mod certificate_signed; +pub mod certificate_signed; pub mod status_notification; pub mod transaction_event; pub mod unlock_connector; @@ -39,6 +39,7 @@ pub use authorize::{ AuthorizeRequest, AuthorizeResponse, HashAlgorithmEnumType, OCSPRequestDataType, }; pub use battery_swap::{BatteryDataType, BatterySwapRequest, BatterySwapResponse}; +pub use boot_notification::{BootNotificationRequest, ChargingStationType, ModemType}; pub use cancel_reservation::CancelReservationRequest; pub use certificate_signed::{CertificateSignedRequest, CertificateSignedResponse}; pub use transaction_event::{TransactionEventRequest, TransactionEventResponse}; From 1ded1b2b343ce0f50c8af2033278931605d0291a Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Sun, 16 Feb 2025 14:03:37 +0100 Subject: [PATCH 051/249] Fix imports --- src/v2_1/messages/mod.rs | 72 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/src/v2_1/messages/mod.rs b/src/v2_1/messages/mod.rs index cfb563ee..2a0dcef2 100644 --- a/src/v2_1/messages/mod.rs +++ b/src/v2_1/messages/mod.rs @@ -5,6 +5,78 @@ pub mod battery_swap; pub mod boot_notification; pub mod cancel_reservation; pub mod certificate_signed; +pub mod change_availability; +pub mod change_transaction_tariff; +pub mod clear_cache; +pub mod clear_charging_profile; +pub mod clear_der_control; +pub mod clear_display_message; +pub mod clear_tariffs; +pub mod clear_variable_monitoring; +pub mod cleared_charging_limit; +pub mod close_periodic_event_stream; +pub mod cost_updated; +pub mod customer_information; +pub mod data_transfer; +pub mod delete_certificate; +pub mod firmware_status_notification; +pub mod get_15118ev_certificate; +pub mod get_base_report; +pub mod get_certificate_chain_status; +pub mod get_certificate_status; +pub mod get_charging_profiles; +pub mod get_composite_schedule; +pub mod get_display_messages; +pub mod get_installed_certificate_ids; +pub mod get_local_list_version; +pub mod get_log; +pub mod get_monitoring_report; +pub mod get_periodic_event_stream; +pub mod get_report; +pub mod get_tariffs; +pub mod get_transaction_status; +pub mod get_variables; +pub mod heartbeat; +pub mod install_certificate; +pub mod log_status_notification; +pub mod meter_values; +pub mod notify_allowed_energy_transfer; +pub mod notify_charging_limit; +pub mod notify_customer_information; +pub mod notify_der_alarm; +pub mod notify_der_start_stop; +pub mod notify_display_messages; +pub mod notify_ev_charging_needs; +pub mod notify_ev_charging_schedule; +pub mod notify_event; +pub mod notify_monitoring_report; +pub mod notify_periodic_event_stream; +pub mod notify_priority_charging; +pub mod notify_report; +pub mod notify_settlement; +pub mod notify_web_payment_started; +pub mod open_periodic_event_stream; +pub mod publish_firmware; +pub mod publish_firmware_status_notification; +pub mod pull_dynamic_schedule_update; +pub mod report_charging_profiles; +pub mod report_der_control; +pub mod request_battery_swap; +pub mod request_start_transaction; +pub mod request_stop_transaction; +pub mod reservation_status_update; +pub mod reserve_now; +pub mod reset; +pub mod security_event_notification; +pub mod send_local_list; +pub mod set_charging_profile; +pub mod set_default_tariff; +pub mod set_monitoring_base; +pub mod set_monitoring_level; +pub mod set_network_profile; +pub mod set_variable_monitoring; +pub mod set_variables; +pub mod sign_certificate; pub mod status_notification; pub mod transaction_event; pub mod unlock_connector; From 9a75bfc1e9548b87270ae08028a00da181885949 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Sun, 16 Feb 2025 16:52:47 +0100 Subject: [PATCH 052/249] feat: Enhance CustomDataType with additional properties support - Add support for arbitrary vendor-specific properties in CustomDataType - Use HashMap to allow flexible custom data storage - Remove Hash trait to improve type flexibility - Update serialization to skip empty additional properties --- src/v2_1/datatypes/custom_data.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/v2_1/datatypes/custom_data.rs b/src/v2_1/datatypes/custom_data.rs index 10804c04..1014dc39 100644 --- a/src/v2_1/datatypes/custom_data.rs +++ b/src/v2_1/datatypes/custom_data.rs @@ -1,12 +1,19 @@ use serde::{Deserialize, Serialize}; +use serde_json::Value; +use std::collections::HashMap; use validator::Validate; /// This class does not get 'AdditionalProperties = false' in the schema generation, /// so it can be extended with arbitrary JSON properties to allow adding custom data. -#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize, Validate)] +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Validate)] #[serde(rename_all = "camelCase")] pub struct CustomDataType { /// Vendor-specific identifier #[validate(length(max = 255))] pub vendor_id: String, + + /// Additional vendor-specific properties + #[serde(flatten)] + #[serde(skip_serializing_if = "HashMap::is_empty")] + pub additional_properties: HashMap, } From 6ebea6529968ba7905239a1e99484dde85958178 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Sun, 16 Feb 2025 16:53:00 +0100 Subject: [PATCH 053/249] refactor: Cleanup and simplify message module imports - Remove unnecessary import of CertificateHashDataType in get_certificate_chain_status - Simplify import paths for custom data and status types - Update validation attributes for get_variables request and response - Streamline import statements in log_status_notification and notify_der_start_stop --- src/v2_1/messages/get_certificate_chain_status.rs | 3 +-- src/v2_1/messages/get_variables.rs | 6 ++---- src/v2_1/messages/log_status_notification.rs | 4 ++-- src/v2_1/messages/notify_der_start_stop.rs | 2 +- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/v2_1/messages/get_certificate_chain_status.rs b/src/v2_1/messages/get_certificate_chain_status.rs index 26dc92de..ce8e748a 100644 --- a/src/v2_1/messages/get_certificate_chain_status.rs +++ b/src/v2_1/messages/get_certificate_chain_status.rs @@ -2,8 +2,7 @@ use serde::{Deserialize, Serialize}; use validator::Validate; use crate::v2_1::datatypes::{ - CertificateHashDataType, CertificateStatusRequestInfoType, CertificateStatusType, - CustomDataType, + CertificateStatusRequestInfoType, CertificateStatusType, CustomDataType, }; /// Request to get the status of a certificate chain. diff --git a/src/v2_1/messages/get_variables.rs b/src/v2_1/messages/get_variables.rs index ab679b2f..2c1e1720 100644 --- a/src/v2_1/messages/get_variables.rs +++ b/src/v2_1/messages/get_variables.rs @@ -15,8 +15,7 @@ pub struct GetVariablesRequest { pub custom_data: Option, /// Required. List of requested variables. - #[validate] - #[validate(length(min = 1))] + #[validate(length(min = 1), nested)] pub get_variable_data: Vec, } @@ -29,7 +28,6 @@ pub struct GetVariablesResponse { pub custom_data: Option, /// Required. List of requested variables and their values. - #[validate] - #[validate(length(min = 1))] + #[validate(length(min = 1), nested)] pub get_variable_result: Vec, } diff --git a/src/v2_1/messages/log_status_notification.rs b/src/v2_1/messages/log_status_notification.rs index e670b080..0c5e58ff 100644 --- a/src/v2_1/messages/log_status_notification.rs +++ b/src/v2_1/messages/log_status_notification.rs @@ -1,6 +1,6 @@ //! LogStatusNotification -use crate::v2_1::datatypes::custom_data_type::CustomDataType; -use crate::v2_1::datatypes::status_info_type::StatusInfoType; +use crate::v2_1::datatypes::CustomDataType; +use crate::v2_1::datatypes::StatusInfoType; use crate::v2_1::enumerations::upload_log_status::UploadLogStatusEnumType; use validator::Validate; diff --git a/src/v2_1/messages/notify_der_start_stop.rs b/src/v2_1/messages/notify_der_start_stop.rs index 4e8deb5e..3c51ded8 100644 --- a/src/v2_1/messages/notify_der_start_stop.rs +++ b/src/v2_1/messages/notify_der_start_stop.rs @@ -3,7 +3,7 @@ use chrono::Utc; use serde::{Deserialize, Serialize}; use validator::Validate; -use crate::v2_1::datatypes::custom_data::CustomData; +use super::CustomData; /// Request message for NotifyDERStartStop. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Validate)] From 038fce2a4c1f3173d194859a7d8a0bf5436ccb82 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Sun, 16 Feb 2025 17:01:49 +0100 Subject: [PATCH 054/249] Update tests --- src/tests/schema_validation/v2_1.rs | 9 ++------- src/v2_1/datatypes/custom_data.rs | 10 ++++++++++ src/v2_1/enumerations/der_control.rs | 14 +++++++++++++ src/v2_1/enumerations/generic_status.rs | 7 +++++++ src/v2_1/messages/boot_notification.rs | 20 +++++-------------- src/v2_1/messages/clear_der_control.rs | 2 +- .../messages/pull_dynamic_schedule_update.rs | 5 +++-- src/v2_1/messages/request_battery_swap.rs | 5 ++++- .../messages/request_start_transaction.rs | 6 +++--- src/v2_1/messages/request_stop_transaction.rs | 5 ++++- src/v2_1/messages/reserve_now.rs | 5 +++-- src/v2_1/messages/set_variable_monitoring.rs | 6 ++---- src/v2_1/messages/set_variables.rs | 6 ++---- 13 files changed, 60 insertions(+), 40 deletions(-) diff --git a/src/tests/schema_validation/v2_1.rs b/src/tests/schema_validation/v2_1.rs index a39bc9b2..7a367f4e 100644 --- a/src/tests/schema_validation/v2_1.rs +++ b/src/tests/schema_validation/v2_1.rs @@ -560,17 +560,12 @@ fn validate_cancel_reservation_request() -> Result<(), Box Result<(), Box> { let test = CancelReservationResponse { - custom_data: Some(CustomDataType { - vendor_id: "test_vendor".to_string(), - }), + custom_data: Some(CustomDataType::new("test_vendor".to_string())), status: CancelReservationStatusEnumType::Accepted, status_info: Some(StatusInfoType { reason_code: "NoReservation".to_string(), additional_info: Some("No active reservation found".to_string()), - custom_data: Some(CustomDataType { - // Add vendorId in status_info custom_data - vendor_id: "test_vendor".to_string(), - }), + custom_data: Some(CustomDataType::new("test_vendor".to_string())), }), }; diff --git a/src/v2_1/datatypes/custom_data.rs b/src/v2_1/datatypes/custom_data.rs index 1014dc39..25131462 100644 --- a/src/v2_1/datatypes/custom_data.rs +++ b/src/v2_1/datatypes/custom_data.rs @@ -15,5 +15,15 @@ pub struct CustomDataType { /// Additional vendor-specific properties #[serde(flatten)] #[serde(skip_serializing_if = "HashMap::is_empty")] + #[serde(default)] pub additional_properties: HashMap, } + +impl CustomDataType { + pub fn new(vendor_id: String) -> Self { + Self { + vendor_id, + additional_properties: HashMap::new(), + } + } +} diff --git a/src/v2_1/enumerations/der_control.rs b/src/v2_1/enumerations/der_control.rs index cdd1e1c2..723f7d98 100644 --- a/src/v2_1/enumerations/der_control.rs +++ b/src/v2_1/enumerations/der_control.rs @@ -47,4 +47,18 @@ pub enum DERControlEnumType { WattPF, #[serde(rename = "WattVar")] WattVar, + PowerLimitation, + PowerTarget, + PowerFactor, + VoltageTarget, + CurrentTarget, + LoadPriority, +} + +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub enum DERControlStatusEnumType { + Accepted, + Rejected, + NotSupported, } diff --git a/src/v2_1/enumerations/generic_status.rs b/src/v2_1/enumerations/generic_status.rs index ad6d39e8..377b92ec 100644 --- a/src/v2_1/enumerations/generic_status.rs +++ b/src/v2_1/enumerations/generic_status.rs @@ -2,9 +2,16 @@ use serde::{Deserialize, Serialize}; /// Status of operation. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub enum GenericStatusEnumType { #[serde(rename = "Accepted")] Accepted, #[serde(rename = "Rejected")] Rejected, } + +impl Default for GenericStatusEnumType { + fn default() -> Self { + Self::Accepted + } +} diff --git a/src/v2_1/messages/boot_notification.rs b/src/v2_1/messages/boot_notification.rs index 60d877fc..31ea1bd4 100644 --- a/src/v2_1/messages/boot_notification.rs +++ b/src/v2_1/messages/boot_notification.rs @@ -178,13 +178,9 @@ mod tests { "This firmware version is way too long and should fail validation".into(), ), modem: None, - custom_data: Some(CustomDataType { - vendor_id: "test_vendor".to_string(), - }), + custom_data: Some(CustomDataType::new("test_vendor".to_string())), }, - custom_data: Some(CustomDataType { - vendor_id: "test_vendor".to_string(), - }), + custom_data: Some(CustomDataType::new("test_vendor".to_string())), }; // Validate the request - should fail @@ -256,17 +252,11 @@ mod tests { modem: Some(ModemType { iccid: Some("iccid12345".into()), imsi: Some("imsi54321".into()), - custom_data: Some(CustomDataType { - vendor_id: "VendorZ".into(), - }), - }), - custom_data: Some(CustomDataType { - vendor_id: "VendorZ".into(), + custom_data: Some(CustomDataType::new("VendorZ".to_string())), }), + custom_data: Some(CustomDataType::new("VendorZ".to_string())), }, - custom_data: Some(CustomDataType { - vendor_id: "VendorZ".into(), - }), + custom_data: Some(CustomDataType::new("VendorZ".to_string())), }; let serialized = serde_json::to_string(&request).unwrap(); diff --git a/src/v2_1/messages/clear_der_control.rs b/src/v2_1/messages/clear_der_control.rs index a894e8b4..c3572811 100644 --- a/src/v2_1/messages/clear_der_control.rs +++ b/src/v2_1/messages/clear_der_control.rs @@ -3,7 +3,7 @@ use validator::Validate; use crate::v2_1::{ datatypes::{CustomDataType, StatusInfoType}, - enumerations::{DERControlEnumType, DERControlStatusEnumType}, + enumerations::der_control::{DERControlEnumType, DERControlStatusEnumType}, }; /// Request to clear DER control settings. diff --git a/src/v2_1/messages/pull_dynamic_schedule_update.rs b/src/v2_1/messages/pull_dynamic_schedule_update.rs index 487562df..fc99e977 100644 --- a/src/v2_1/messages/pull_dynamic_schedule_update.rs +++ b/src/v2_1/messages/pull_dynamic_schedule_update.rs @@ -1,8 +1,9 @@ use serde::{Deserialize, Serialize}; use validator::Validate; -use crate::v2_1::datatypes::{ - ChargingProfileStatusEnumType, ChargingScheduleUpdateType, CustomDataType, StatusInfoType, +use crate::v2_1::{ + datatypes::{ChargingScheduleUpdateType, CustomDataType, StatusInfoType}, + enumerations::ChargingProfileStatusEnumType, }; /// Request body for the PullDynamicScheduleUpdate request. diff --git a/src/v2_1/messages/request_battery_swap.rs b/src/v2_1/messages/request_battery_swap.rs index 9026d941..848d04a6 100644 --- a/src/v2_1/messages/request_battery_swap.rs +++ b/src/v2_1/messages/request_battery_swap.rs @@ -1,7 +1,10 @@ use serde::{Deserialize, Serialize}; use validator::Validate; -use crate::v2_1::datatypes::{CustomDataType, GenericStatusEnumType, IdTokenType, StatusInfoType}; +use crate::v2_1::{ + datatypes::{CustomDataType, IdTokenType, StatusInfoType}, + enumerations::GenericStatusEnumType, +}; /// Request body for the RequestBatterySwap request. #[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] diff --git a/src/v2_1/messages/request_start_transaction.rs b/src/v2_1/messages/request_start_transaction.rs index 9c82abda..e85d4b79 100644 --- a/src/v2_1/messages/request_start_transaction.rs +++ b/src/v2_1/messages/request_start_transaction.rs @@ -1,9 +1,9 @@ use serde::{Deserialize, Serialize}; use validator::Validate; -use crate::v2_1::datatypes::{ - ChargingProfileType, CustomDataType, IdTokenType, RequestStartStopStatusEnumType, - StatusInfoType, +use crate::v2_1::{ + datatypes::{ChargingProfileType, CustomDataType, IdTokenType, StatusInfoType}, + enumerations::RequestStartStopStatusEnumType, }; /// Request body for the RequestStartTransaction request. diff --git a/src/v2_1/messages/request_stop_transaction.rs b/src/v2_1/messages/request_stop_transaction.rs index f4caaa95..f6d31736 100644 --- a/src/v2_1/messages/request_stop_transaction.rs +++ b/src/v2_1/messages/request_stop_transaction.rs @@ -1,7 +1,10 @@ use serde::{Deserialize, Serialize}; use validator::Validate; -use crate::v2_1::datatypes::{CustomDataType, RequestStartStopStatusEnumType, StatusInfoType}; +use crate::v2_1::{ + datatypes::{CustomDataType, StatusInfoType}, + enumerations::RequestStartStopStatusEnumType, +}; /// Request body for the RequestStopTransaction request. #[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] diff --git a/src/v2_1/messages/reserve_now.rs b/src/v2_1/messages/reserve_now.rs index 00d21913..c52afad8 100644 --- a/src/v2_1/messages/reserve_now.rs +++ b/src/v2_1/messages/reserve_now.rs @@ -2,8 +2,9 @@ use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use validator::Validate; -use crate::v2_1::datatypes::{ - CustomDataType, IdTokenType, ReserveNowStatusEnumType, StatusInfoType, +use crate::v2_1::{ + datatypes::{CustomDataType, IdTokenType, StatusInfoType}, + enumerations::ReserveNowStatusEnumType, }; /// Request body for the ReserveNow request. diff --git a/src/v2_1/messages/set_variable_monitoring.rs b/src/v2_1/messages/set_variable_monitoring.rs index 3abe8ca1..ef0919b4 100644 --- a/src/v2_1/messages/set_variable_monitoring.rs +++ b/src/v2_1/messages/set_variable_monitoring.rs @@ -113,8 +113,7 @@ pub struct SetVariableMonitoringRequest { pub custom_data: Option, /// Required. List of monitoring settings to configure. - #[validate] - #[validate(length(min = 1))] + #[validate(length(min = 1), nested)] pub set_monitoring_data: Vec, } @@ -127,7 +126,6 @@ pub struct SetVariableMonitoringResponse { pub custom_data: Option, /// Required. List of result statuses per monitoring setting. - #[validate] - #[validate(length(min = 1))] + #[validate(length(min = 1), nested)] pub set_monitoring_result: Vec, } diff --git a/src/v2_1/messages/set_variables.rs b/src/v2_1/messages/set_variables.rs index b1fe09c9..3c6592f6 100644 --- a/src/v2_1/messages/set_variables.rs +++ b/src/v2_1/messages/set_variables.rs @@ -91,8 +91,7 @@ pub struct SetVariablesRequest { pub custom_data: Option, /// Required. List of settings to set in components. - #[validate] - #[validate(length(min = 1))] + #[validate(length(min = 1), nested)] pub set_variable_data: Vec, } @@ -105,7 +104,6 @@ pub struct SetVariablesResponse { pub custom_data: Option, /// Required. List of result statuses per settings. - #[validate] - #[validate(length(min = 1))] + #[validate(length(min = 1), nested)] pub set_variable_result: Vec, } From 2fcbc0402eba36dcd38b7b8bb2803170c3d6c1b9 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Sun, 16 Feb 2025 22:06:01 +0100 Subject: [PATCH 055/249] refactor: Enhance ChargingLimitSourceEnumType for OCPP 2.1 flexibility - Introduce a more flexible enum with standard and custom charging limit source values - Add support for untagged serialization and custom string values - Implement conversion and string representation methods - Update ReportChargingProfilesRequest to use the new enum type --- .../enumerations/charging_limit_source.rs | 54 +++++++++++++++++-- src/v2_1/messages/report_charging_profiles.rs | 19 ++++--- 2 files changed, 60 insertions(+), 13 deletions(-) diff --git a/src/v2_1/enumerations/charging_limit_source.rs b/src/v2_1/enumerations/charging_limit_source.rs index 5e3ebf64..b2a95ed0 100644 --- a/src/v2_1/enumerations/charging_limit_source.rs +++ b/src/v2_1/enumerations/charging_limit_source.rs @@ -1,18 +1,62 @@ use serde::{Deserialize, Serialize}; -/// Represents the source of the charging limit. +/// Standardized values for a chargingLimitSource field. +/// Before OCPP 2.1 this used to be an enumeration. This has been changed to a predefined set of strings for more flexibility. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] pub enum ChargingLimitSourceEnumType { - /// Energy Management System + /// Standard OCPP values + #[serde(rename_all = "UPPERCASE")] + Standard(StandardChargingLimitSourceEnumType), + /// Custom charging limit source value + Custom(String), +} + +/// Standard OCPP charging limit source values +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum StandardChargingLimitSourceEnumType { + /// Indicates that an Energy Management System has sent a charging limit. #[serde(rename = "EMS")] EMS, - /// Other source + /// Indicates that an external source, not being an EMS or system operator, has sent a charging limit. #[serde(rename = "Other")] Other, - /// System Operator + /// Indicates that a System Operator (DSO or TSO) has sent a charging limit. #[serde(rename = "SO")] SO, - /// Charging Station Operator + /// Indicates that the CSO has set this charging profile. #[serde(rename = "CSO")] CSO, } + +impl ChargingLimitSourceEnumType { + pub fn as_str(&self) -> &str { + match self { + Self::Standard(s) => match s { + StandardChargingLimitSourceEnumType::EMS => "EMS", + StandardChargingLimitSourceEnumType::Other => "Other", + StandardChargingLimitSourceEnumType::SO => "SO", + StandardChargingLimitSourceEnumType::CSO => "CSO", + }, + Self::Custom(s) => s, + } + } +} + +impl From for ChargingLimitSourceEnumType { + fn from(s: String) -> Self { + match s.as_str() { + "EMS" => Self::Standard(StandardChargingLimitSourceEnumType::EMS), + "Other" => Self::Standard(StandardChargingLimitSourceEnumType::Other), + "SO" => Self::Standard(StandardChargingLimitSourceEnumType::SO), + "CSO" => Self::Standard(StandardChargingLimitSourceEnumType::CSO), + _ => Self::Custom(s), + } + } +} + +impl ToString for ChargingLimitSourceEnumType { + fn to_string(&self) -> String { + self.as_str().to_string() + } +} diff --git a/src/v2_1/messages/report_charging_profiles.rs b/src/v2_1/messages/report_charging_profiles.rs index 1dd0fee8..b4530422 100644 --- a/src/v2_1/messages/report_charging_profiles.rs +++ b/src/v2_1/messages/report_charging_profiles.rs @@ -1,27 +1,30 @@ use serde::{Deserialize, Serialize}; use validator::Validate; -use crate::v2_1::datatypes::{ChargingProfileType, CustomDataType}; +use crate::v2_1::{ + datatypes::{ChargingProfileType, CustomDataType}, + enumerations::charging_limit_source::ChargingLimitSourceEnumType, +}; /// Request body for the ReportChargingProfiles request. #[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] #[serde(rename_all = "camelCase")] pub struct ReportChargingProfilesRequest { - /// Optional. Custom data from the Charging Station. - #[serde(skip_serializing_if = "Option::is_none")] - pub custom_data: Option, - /// Required. Source that has installed this charging profile. Values defined in Appendix as ChargingLimitSourceEnumStringType. - #[validate(length(max = 20))] - pub charging_limit_source: String, + pub charging_limit_source: ChargingLimitSourceEnumType, - /// Required. Array of charging profiles that are installed on the Charging Station. + /// Required. The charging profile entries, sorted by stackLevel lowest value first. #[validate(length(min = 1))] + #[validate(nested)] pub charging_profile: Vec, /// Required. Id used to match the GetChargingProfilesRequest message with the resulting ReportChargingProfilesRequest messages. When the CSMS provided a requestId in the GetChargingProfilesRequest, this field SHALL contain the same value. pub request_id: i32, + /// Optional. Custom data from the Charging Station. + #[serde(skip_serializing_if = "Option::is_none")] + pub custom_data: Option, + /// Required. The evse to which the charging profile applies. If evseId = 0, the message contains an overall limit for the Charging Station. pub evse_id: i32, From 391fb4d587de5b7bdc7535fd3fa35860bcbe2152 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Sun, 16 Feb 2025 22:10:56 +0100 Subject: [PATCH 056/249] feat: Add comprehensive ConnectorEnumType for OCPP 2.1 connector types - Introduce standardized enum for connector types with captive cable, socket, wireless, and battery connections - Support custom and standard connector type values - Implement serialization, deserialization, and conversion methods - Update ReserveNowRequest to use the new ConnectorEnumType - Add connector module to enumerations --- src/v2_1/enumerations/connector.rs | 200 +++++++++++++++++++++++++++++ src/v2_1/enumerations/mod.rs | 2 + src/v2_1/messages/reserve_now.rs | 7 +- 3 files changed, 205 insertions(+), 4 deletions(-) create mode 100644 src/v2_1/enumerations/connector.rs diff --git a/src/v2_1/enumerations/connector.rs b/src/v2_1/enumerations/connector.rs new file mode 100644 index 00000000..07739594 --- /dev/null +++ b/src/v2_1/enumerations/connector.rs @@ -0,0 +1,200 @@ +use serde::{Deserialize, Serialize}; + +/// Standardized values for a connectorType field. +/// Fixed cable connections have a name that starts with "c" for captive cabled. +/// Socket connections have a name that starts with "s" for socket. +/// Wireless connections have a name that starts with "w" for wireless. +/// Swappable battery types have a name that starts with "b" for battery. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ConnectorEnumType { + /// Standard OCPP connector types + #[serde(rename_all = "UPPERCASE")] + Standard(StandardConnectorEnumType), + /// Custom connector type value + Custom(String), +} + +/// Standard OCPP connector type values +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum StandardConnectorEnumType { + /// Combined Charging System 1 (captive cabled) a.k.a. Combo 1 + #[serde(rename = "cCCS1")] + CCCS1, + /// Combined Charging System 2 (captive cabled) a.k.a. Combo 2 + #[serde(rename = "cCCS2")] + CCCS2, + /// ChaoJi (captive cabled) a.k.a. CHAdeMO 3.0 + #[serde(rename = "cChaoJi")] + CChaoJi, + /// JARI G105-1993 (captive cabled) a.k.a. CHAdeMO (captive cabled) + #[serde(rename = "cG105")] + CG105, + /// GB/T 20234.3 DC connector (captive cabled) + #[serde(rename = "cGBT-DC")] + CGBTDC, + /// Light Equipment Combined Charging System IS17017 (captive cabled) + #[serde(rename = "cLECCS")] + CLECCS, + /// Megawatt Charging System (captive cabled) + #[serde(rename = "cMCS")] + CMCS, + /// North American Charging Standard J3400 (captive cabled) + #[serde(rename = "cNACS")] + CNACS, + /// Tesla MagicDock with built-in NACS to CCS1 adapter (captive cabled) + #[serde(rename = "cNACS-CCS1")] + CNACSCCS1, + /// Omni Port with build-in CCS1 to NACS adapter (captive cabled) + #[serde(rename = "cCCS1-NACS")] + CCCS1NACS, + /// Tesla Connector (captive cabled) + #[serde(rename = "cTesla")] + CTesla, + /// IEC62196-2 Type 1 connector (captive cabled) a.k.a. J1772 + #[serde(rename = "cType1")] + CType1, + /// IEC62196-2 Type 2 connector (captive cabled) a.k.a. Mennekes connector + #[serde(rename = "cType2")] + CType2, + /// Ultra-ChaoJi for megawatt charging (captive cabled) + #[serde(rename = "cUltraChaoJi")] + CUltraChaoJi, + /// 16A 1 phase IEC60309 socket + #[serde(rename = "s309-1P-16A")] + S3091P16A, + /// 32A 1 phase IEC60309 socket + #[serde(rename = "s309-1P-32A")] + S3091P32A, + /// 16A 3 phase IEC60309 socket + #[serde(rename = "s309-3P-16A")] + S3093P16A, + /// 32A 3 phase IEC60309 socket + #[serde(rename = "s309-3P-32A")] + S3093P32A, + /// UK domestic socket a.k.a. 13Amp + #[serde(rename = "sBS1361")] + SBS1361, + /// CEE 7/7 16A socket. May represent 7/4 and 7/5 a.k.a Schuko + #[serde(rename = "sCEE-7-7")] + SCEE77, + /// IEC62196-2 Type 1 socket a.k.a. J1772 + #[serde(rename = "sType1")] + SType1, + /// IEC62196-2 Type 2 socket a.k.a. Mennekes connector + #[serde(rename = "sType2")] + SType2, + /// IEC62196-2 Type 3 socket a.k.a. Scame + #[serde(rename = "sType3")] + SType3, + /// Wireless inductively coupled connection (generic) + #[serde(rename = "wInductive")] + WInductive, + /// Wireless resonant coupled connection (generic) + #[serde(rename = "wResonant")] + WResonant, + /// Other single phase (domestic) sockets not mentioned above, rated at no more than 16A + #[serde(rename = "Other1PhMax16A")] + Other1PhMax16A, + /// Other single phase sockets not mentioned above (over 16A) + #[serde(rename = "Other1PhOver16A")] + Other1PhOver16A, + /// Other 3 phase sockets not mentioned above + #[serde(rename = "Other3Ph")] + Other3Ph, + /// Pantograph connector + #[serde(rename = "Pan")] + Pan, + /// Yet to be determined (e.g. before plugged in) + #[serde(rename = "Undetermined")] + Undetermined, + /// Unknown/not determinable + #[serde(rename = "Unknown")] + Unknown, +} + +impl ConnectorEnumType { + pub fn as_str(&self) -> &str { + match self { + Self::Standard(s) => match s { + StandardConnectorEnumType::CCCS1 => "cCCS1", + StandardConnectorEnumType::CCCS2 => "cCCS2", + StandardConnectorEnumType::CChaoJi => "cChaoJi", + StandardConnectorEnumType::CG105 => "cG105", + StandardConnectorEnumType::CGBTDC => "cGBT-DC", + StandardConnectorEnumType::CLECCS => "cLECCS", + StandardConnectorEnumType::CMCS => "cMCS", + StandardConnectorEnumType::CNACS => "cNACS", + StandardConnectorEnumType::CNACSCCS1 => "cNACS-CCS1", + StandardConnectorEnumType::CCCS1NACS => "cCCS1-NACS", + StandardConnectorEnumType::CTesla => "cTesla", + StandardConnectorEnumType::CType1 => "cType1", + StandardConnectorEnumType::CType2 => "cType2", + StandardConnectorEnumType::CUltraChaoJi => "cUltraChaoJi", + StandardConnectorEnumType::S3091P16A => "s309-1P-16A", + StandardConnectorEnumType::S3091P32A => "s309-1P-32A", + StandardConnectorEnumType::S3093P16A => "s309-3P-16A", + StandardConnectorEnumType::S3093P32A => "s309-3P-32A", + StandardConnectorEnumType::SBS1361 => "sBS1361", + StandardConnectorEnumType::SCEE77 => "sCEE-7-7", + StandardConnectorEnumType::SType1 => "sType1", + StandardConnectorEnumType::SType2 => "sType2", + StandardConnectorEnumType::SType3 => "sType3", + StandardConnectorEnumType::WInductive => "wInductive", + StandardConnectorEnumType::WResonant => "wResonant", + StandardConnectorEnumType::Other1PhMax16A => "Other1PhMax16A", + StandardConnectorEnumType::Other1PhOver16A => "Other1PhOver16A", + StandardConnectorEnumType::Other3Ph => "Other3Ph", + StandardConnectorEnumType::Pan => "Pan", + StandardConnectorEnumType::Undetermined => "Undetermined", + StandardConnectorEnumType::Unknown => "Unknown", + }, + Self::Custom(s) => s, + } + } +} + +impl From for ConnectorEnumType { + fn from(s: String) -> Self { + match s.as_str() { + "cCCS1" => Self::Standard(StandardConnectorEnumType::CCCS1), + "cCCS2" => Self::Standard(StandardConnectorEnumType::CCCS2), + "cChaoJi" => Self::Standard(StandardConnectorEnumType::CChaoJi), + "cG105" => Self::Standard(StandardConnectorEnumType::CG105), + "cGBT-DC" => Self::Standard(StandardConnectorEnumType::CGBTDC), + "cLECCS" => Self::Standard(StandardConnectorEnumType::CLECCS), + "cMCS" => Self::Standard(StandardConnectorEnumType::CMCS), + "cNACS" => Self::Standard(StandardConnectorEnumType::CNACS), + "cNACS-CCS1" => Self::Standard(StandardConnectorEnumType::CNACSCCS1), + "cCCS1-NACS" => Self::Standard(StandardConnectorEnumType::CCCS1NACS), + "cTesla" => Self::Standard(StandardConnectorEnumType::CTesla), + "cType1" => Self::Standard(StandardConnectorEnumType::CType1), + "cType2" => Self::Standard(StandardConnectorEnumType::CType2), + "cUltraChaoJi" => Self::Standard(StandardConnectorEnumType::CUltraChaoJi), + "s309-1P-16A" => Self::Standard(StandardConnectorEnumType::S3091P16A), + "s309-1P-32A" => Self::Standard(StandardConnectorEnumType::S3091P32A), + "s309-3P-16A" => Self::Standard(StandardConnectorEnumType::S3093P16A), + "s309-3P-32A" => Self::Standard(StandardConnectorEnumType::S3093P32A), + "sBS1361" => Self::Standard(StandardConnectorEnumType::SBS1361), + "sCEE-7-7" => Self::Standard(StandardConnectorEnumType::SCEE77), + "sType1" => Self::Standard(StandardConnectorEnumType::SType1), + "sType2" => Self::Standard(StandardConnectorEnumType::SType2), + "sType3" => Self::Standard(StandardConnectorEnumType::SType3), + "wInductive" => Self::Standard(StandardConnectorEnumType::WInductive), + "wResonant" => Self::Standard(StandardConnectorEnumType::WResonant), + "Other1PhMax16A" => Self::Standard(StandardConnectorEnumType::Other1PhMax16A), + "Other1PhOver16A" => Self::Standard(StandardConnectorEnumType::Other1PhOver16A), + "Other3Ph" => Self::Standard(StandardConnectorEnumType::Other3Ph), + "Pan" => Self::Standard(StandardConnectorEnumType::Pan), + "Undetermined" => Self::Standard(StandardConnectorEnumType::Undetermined), + "Unknown" => Self::Standard(StandardConnectorEnumType::Unknown), + _ => Self::Custom(s), + } + } +} + +impl ToString for ConnectorEnumType { + fn to_string(&self) -> String { + self.as_str().to_string() + } +} diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index ca8059f2..31f13b4f 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -22,6 +22,7 @@ pub mod clear_charging_profile_status; pub mod clear_message_status; pub mod clear_monitoring_status; pub mod component_criterion; +pub mod connector; pub mod connector_status; pub mod control_mode; pub mod cost_dimension; @@ -131,6 +132,7 @@ pub use clear_charging_profile_status::ClearChargingProfileStatusEnumType; pub use clear_message_status::ClearMessageStatusEnumType; pub use clear_monitoring_status::ClearMonitoringStatusEnumType; pub use component_criterion::ComponentCriterionEnumType; +pub use connector::ConnectorEnumType; pub use connector_status::ConnectorStatusEnumType; pub use control_mode::ControlModeEnumType; pub use cost_dimension::CostDimensionEnumType; diff --git a/src/v2_1/messages/reserve_now.rs b/src/v2_1/messages/reserve_now.rs index c52afad8..0ded8033 100644 --- a/src/v2_1/messages/reserve_now.rs +++ b/src/v2_1/messages/reserve_now.rs @@ -4,7 +4,7 @@ use validator::Validate; use crate::v2_1::{ datatypes::{CustomDataType, IdTokenType, StatusInfoType}, - enumerations::ReserveNowStatusEnumType, + enumerations::{connector::ConnectorEnumType, ReserveNowStatusEnumType}, }; /// Request body for the ReserveNow request. @@ -22,10 +22,9 @@ pub struct ReserveNowRequest { /// Required. Date and time at which the reservation expires. pub expiry_date_time: DateTime, - /// Optional. This field specifies the connector type. Values defined in Appendix as ConnectorEnumStringType. + /// Optional. This field specifies the connector type. #[serde(skip_serializing_if = "Option::is_none")] - #[validate(length(max = 20))] - pub connector_type: Option, + pub connector_type: Option, /// Required. Contains the identifier that needs to be authorized. pub id_token: IdTokenType, From 2d5795597b0f350fa90dd30e26d6d03b268620a4 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Sun, 16 Feb 2025 22:24:40 +0100 Subject: [PATCH 057/249] feat: Add SigningMethodEnumType for OCPP 2.1 signing methods - Introduce comprehensive enum for standard and custom signing methods - Support ECDSA variants with different curves and SHA256 hash - Implement serialization, deserialization, and conversion methods - Add signing_method module to enumerations --- src/v2_1/enumerations/mod.rs | 2 + src/v2_1/enumerations/signing_method.rs | 95 +++++++++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 src/v2_1/enumerations/signing_method.rs diff --git a/src/v2_1/enumerations/mod.rs b/src/v2_1/enumerations/mod.rs index 31f13b4f..d9db04f5 100644 --- a/src/v2_1/enumerations/mod.rs +++ b/src/v2_1/enumerations/mod.rs @@ -93,6 +93,7 @@ pub mod send_local_list_status; pub mod set_monitoring_status; pub mod set_network_profile_status; pub mod set_variable_status; +pub mod signing_method; pub mod tariff_change_status; pub mod tariff_clear_status; pub mod tariff_cost; @@ -203,6 +204,7 @@ pub use send_local_list_status::SendLocalListStatusEnumType; pub use set_monitoring_status::SetMonitoringStatusEnumType; pub use set_network_profile_status::SetNetworkProfileStatusEnumType; pub use set_variable_status::SetVariableStatusEnumType; +pub use signing_method::SigningMethodEnumType; pub use tariff_change_status::TariffChangeStatusEnumType; pub use tariff_clear_status::TariffClearStatusEnumType; pub use tariff_cost::TariffCostEnumType; diff --git a/src/v2_1/enumerations/signing_method.rs b/src/v2_1/enumerations/signing_method.rs new file mode 100644 index 00000000..41d94192 --- /dev/null +++ b/src/v2_1/enumerations/signing_method.rs @@ -0,0 +1,95 @@ +use serde::{Deserialize, Serialize}; + +/// Standardized values for the signingMethod in a SignedMeterValueType. +/// The algorithm, curve, key length and hash algorithm information is for documentation only +/// and not part of the standardized value. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SigningMethodEnumType { + /// Standard OCPP signing methods + Standard(StandardSigningMethodEnumType), + /// Custom signing method value + Custom(String), +} + +/// Standard OCPP signing method values +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub enum StandardSigningMethodEnumType { + /// ECDSA with secp192k1 curve and SHA256 hash + #[serde(rename = "ECDSA-secp192k1-SHA256")] + ECDSAsecp192k1SHA256, + /// ECDSA with secp256k1 curve and SHA256 hash + #[serde(rename = "ECDSA-secp256k1-SHA256")] + ECDSAsecp256k1SHA256, + /// ECDSA with secp192r1 curve and SHA256 hash + #[serde(rename = "ECDSA-secp192r1-SHA256")] + ECDSAsecp192r1SHA256, + /// ECDSA with secp256r1 curve and SHA256 hash + #[serde(rename = "ECDSA-secp256r1-SHA256")] + ECDSAsecp256r1SHA256, + /// ECDSA with brainpool256r1 curve and SHA256 hash + #[serde(rename = "ECDSA-brainpool256r1-SHA256")] + ECDSAbrainpool256r1SHA256, + /// ECDSA with secp384r1 curve and SHA256 hash + #[serde(rename = "ECDSA-secp384r1-SHA256")] + ECDSAsecp384r1SHA256, + /// ECDSA with brainpool384r1 curve and SHA256 hash + #[serde(rename = "ECDSA-brainpool384r1-SHA256")] + ECDSAbrainpool384r1SHA256, +} + +impl SigningMethodEnumType { + pub fn as_str(&self) -> &str { + match self { + Self::Standard(s) => match s { + StandardSigningMethodEnumType::ECDSAsecp192k1SHA256 => "ECDSA-secp192k1-SHA256", + StandardSigningMethodEnumType::ECDSAsecp256k1SHA256 => "ECDSA-secp256k1-SHA256", + StandardSigningMethodEnumType::ECDSAsecp192r1SHA256 => "ECDSA-secp192r1-SHA256", + StandardSigningMethodEnumType::ECDSAsecp256r1SHA256 => "ECDSA-secp256r1-SHA256", + StandardSigningMethodEnumType::ECDSAbrainpool256r1SHA256 => { + "ECDSA-brainpool256r1-SHA256" + } + StandardSigningMethodEnumType::ECDSAsecp384r1SHA256 => "ECDSA-secp384r1-SHA256", + StandardSigningMethodEnumType::ECDSAbrainpool384r1SHA256 => { + "ECDSA-brainpool384r1-SHA256" + } + }, + Self::Custom(s) => s, + } + } +} + +impl From for SigningMethodEnumType { + fn from(s: String) -> Self { + match s.as_str() { + "ECDSA-secp192k1-SHA256" => { + Self::Standard(StandardSigningMethodEnumType::ECDSAsecp192k1SHA256) + } + "ECDSA-secp256k1-SHA256" => { + Self::Standard(StandardSigningMethodEnumType::ECDSAsecp256k1SHA256) + } + "ECDSA-secp192r1-SHA256" => { + Self::Standard(StandardSigningMethodEnumType::ECDSAsecp192r1SHA256) + } + "ECDSA-secp256r1-SHA256" => { + Self::Standard(StandardSigningMethodEnumType::ECDSAsecp256r1SHA256) + } + "ECDSA-brainpool256r1-SHA256" => { + Self::Standard(StandardSigningMethodEnumType::ECDSAbrainpool256r1SHA256) + } + "ECDSA-secp384r1-SHA256" => { + Self::Standard(StandardSigningMethodEnumType::ECDSAsecp384r1SHA256) + } + "ECDSA-brainpool384r1-SHA256" => { + Self::Standard(StandardSigningMethodEnumType::ECDSAbrainpool384r1SHA256) + } + _ => Self::Custom(s), + } + } +} + +impl ToString for SigningMethodEnumType { + fn to_string(&self) -> String { + self.as_str().to_string() + } +} From 2e7cc213bf495078065af02bf8bf3ced8482f4e9 Mon Sep 17 00:00:00 2001 From: Tommy Malmqvist Date: Sun, 16 Feb 2025 22:25:41 +0100 Subject: [PATCH 058/249] refactor: Update SignedMeterValueType with improved signing method and key representation - Replace string-based signing method with SigningMethodEnumType - Adjust validation constraints for signed meter data and public key - Improve documentation for each field - Update import paths to use crate-relative references --- src/v2_1/datatypes/signed_meter_value.rs | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/v2_1/datatypes/signed_meter_value.rs b/src/v2_1/datatypes/signed_meter_value.rs index 27094339..fbd3daf3 100644 --- a/src/v2_1/datatypes/signed_meter_value.rs +++ b/src/v2_1/datatypes/signed_meter_value.rs @@ -1,29 +1,28 @@ use serde::{Deserialize, Serialize}; use validator::Validate; -use super::custom_data::CustomDataType; +use crate::v2_1::{datatypes::CustomDataType, enumerations::signing_method::SigningMethodEnumType}; -/// Signed meter value data. +/// Contains a signed version of the meter value. #[derive(Debug, Clone, PartialEq, Deserialize, Serialize, Validate)] #[serde(rename_all = "camelCase")] pub struct SignedMeterValueType { - /// Custom data from the Charging Station. + /// Optional. Custom data from the Charging Station. #[serde(skip_serializing_if = "Option::is_none")] pub custom_data: Option, /// Required. Base64 encoded, contains the signed data that needs to be verified. - #[validate(length(max = 2500))] + #[validate(length(max = 32768))] pub signed_meter_data: String, - /// Required. Base64 encoded, contains the signing method information used to create the signature. - #[validate(length(max = 2500))] - pub signing_method: String, + /// Required. Method used to create the digital signature. + pub signing_method: SigningMethodEnumType, - /// Required. Base64 encoded, contains the encoded X.509 certificate used to create the signature. - #[validate(length(max = 5500))] + /// Required. Base64 encoded, contains the public key to verify the signature. + #[validate(length(max = 50))] pub encoding_method: String, - /// Required. Base64 encoded, contains the actual signature. - #[validate(length(max = 800))] + /// Required. Base64 encoded SHA256 hash of the public key that is used for the encoding method. + #[validate(length(max = 2500))] pub public_key: String, } From 5fbca0429a0e407e59b3ca43f458e6a59ba2ecf4 Mon Sep 17 00:00:00 2001 From: anlang <2682525840@QQ.COM> Date: Tue, 29 Apr 2025 13:43:50 +0800 Subject: [PATCH 059/249] add v2.1 doc (#163) Co-authored-by: anlada --- .../OCPP-2.1_edition1_part0_introduction.pdf | Bin 0 -> 1345178 bytes ...1_edition1_part1_architecture_topology.pdf | Bin 0 -> 1184412 bytes .../OCPP-2.1_edition1_part2_specification.pdf | Bin 0 -> 24020095 bytes ....1_edition1_part4_ocpp-j-specification.pdf | Bin 0 -> 1161822 bytes .../v2.1/OCPP-2.1_part2_appendices_v20.pdf | Bin 0 -> 2584335 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/ocpp/v2.1/OCPP-2.1_edition1_part0_introduction.pdf create mode 100644 docs/ocpp/v2.1/OCPP-2.1_edition1_part1_architecture_topology.pdf create mode 100644 docs/ocpp/v2.1/OCPP-2.1_edition1_part2_specification.pdf create mode 100644 docs/ocpp/v2.1/OCPP-2.1_edition1_part4_ocpp-j-specification.pdf create mode 100644 docs/ocpp/v2.1/OCPP-2.1_part2_appendices_v20.pdf diff --git a/docs/ocpp/v2.1/OCPP-2.1_edition1_part0_introduction.pdf b/docs/ocpp/v2.1/OCPP-2.1_edition1_part0_introduction.pdf new file mode 100644 index 0000000000000000000000000000000000000000..89889ec22b2b313ba63f7b050d36461722716b70 GIT binary patch literal 1345178 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�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%0DEt04DgSI@q^09B@X&iaLU0MBjAN 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�>OzmZLb2Mhzk4 z0`xRkiC5Q=%t1F$rOYVEQ}5Fc`~*C{Ezq)&&*eGM@ZK zy4HL=UKprQP%9K>?15uno(NuCsyMHD0}lBlSRS7b48}mW6j8G>wA#ftdRXM=<_#Du zAA=dx_go$M#yesdfUOUPeMluCWR6&|djA*&!6m&Ag#T-gDfaeSz%X_>+_b~3MZib< zmde2QiZR$;`t{y_Lvu%@h7><usRpy7<>lvt8JCr*o0k97k ze6XxESo*tP2XZjL`g9#dK4Q%Ob`1s^ z;$h8^4RQ$oEz7*RcBBVFLBXDw9olDS$)8SRWIUG@$UjeftTwsD-2@3BCOo6YZ4PwG zwJlMqH&PhtxNtoq#t-(CVmG}7{*CZj9T=U*^?A0r0emN8_Nm~5E9(4Kammt=_jmKj z0cZluCo>H%Y&Ps$U{8b2cO)#!P2jqz#_VK2rVPr0zCC-&9&MTw&H&-RURV+=^VQGAFXG>k|y!xFs`vazxUW_v5Xb^P`1%3`N> zdjLA!T9R!xM&kVr7Gq?~DwEPt6O=JopxvKNs>saM4@F`dR0IPz2D@T$QtabnkRieT#rF&LkFDcOCQ#msy_*%_b{>ek zUC6U+pURp~J@6+HSn8G9Nj4mhdUQXEHKIgTknb;@J8A!9pcWz^VjgFcT%Dn;j zcLc_}qFDX18f7MtKtOG^dc4MokX8Nc4gS`9MVO76RWiBL|O z0tgPd4#4I>``E~0hS%SDiHGiHcZ8TK3PF7WV+I8C-R81dPZ9Js^1qP5Xgg^1fUgb6 zDiW$BiU%M#Mm+mJX_T?vzvtwWHay95@yuq+e^N~l9F4lae4p0KlvBH9^$ni(%k6H& z{_A&R5u3C4vfW@(^>Js*BY`Gy23~agHVHry@FJ5qwu%SQ`ba!dS5+>yk7`>GL?StA%!?I%p;IhK|b@yaFAv+&XOQr&?t=4k}7NE5~gdJ2zcs;dpjq3%2 z6C|9R<((Y zo|ms|-wMTu3Doy9)PUBdDX+>22a0M;gzAC|<+GB=8c0Kdwd~dH^@2BjE*o$M@h9P= ztPp~Z!CNkb*D*{zaZDH7571l#aX1Ow*V0bSs?Aeg?4N&Rl(dwg`er_$) zq@)ESn<+}1exidhb3jQ)oZgDVQQ*WK+lXQp@NrZ9DYd3#0q*VH`|pv20w_e! z7Z-A{eVM$L4vPAHmidal^zZZ znd9%r>#2Jb1KbC7|B_MM6#t7=l%v3r_JO0@c|k<~QUQJwGr%QMBrB@*klD!x3Mp?1 zbbFxfy2rY)_?&R~JHN0``YmNfn4dcpNUODzZ_bxSoDFzQ8Uj$JUv~pOUnLBGL z^tRUYO(Cr}0-Z(=EzlD4^766`ChH+jJsYMv_Y%-1jzbLlpsAlPP20*)OGv1Lc|`hi zYy1shF0FBt*pMiiX#j2Oe*~Ae^nd~eKY)(06Q{`nPOFcM7lIb`L46qHmZNOVec|T@ zsHRj4i@@YEDylN4^1Yc-4WfmOh4-sb8JHDlCEi32}z6^ zl^ANQnhJXQ;L0)l;Oc_~-ruwb5rvRiV5uHj1bG6mq9GU!D%UtxgDPE!vLoI3{(43e z`qEFZ3E)Ftx-Z}l|2vF*J&U53o!bTtEgFbS_@$m9T%H|JzI5BN=g*99mI&_A^AOj+z@dVsIhG)C+K-v(MDuzfL^$0NM) zhsUq&i`eFx{3$Kk*ig5{cQf;f@&7`itw>;(FaBQ<U8pKCQm7=< zlFCK{;hOHfBCO4v6iMY*`XEfH$@b{hUp^<9jv~3zj>;Mya*P?s$COvJkWim zC?SdqgONm}_fVUc0XjUJtDLd}@kCY^Zl9`|AZy{%vst}2=14Q0BhO@ijVAp5`gh_E6cTRs{e?`Ma3iwQm&-x z4GkMlK!L3!M{EzvRD0H^y>I!@LDks4>JEcWYWD8NpzOw;;O?47^`6(_&o6Hujgm`g zeW1LuuqCl_7VB|<9eNxta2b_qpZ5W!k0?F z%mgD+A2iF-S071_x>ZQQAb%{#-fBYHpD|dSPg|X@tK;$Oc!xm9CezRE6w`nC;k4SR z4{(^2sI*)Usvr0HTXE^I;+=M^6*$4T(rd3*@=UhPMhl*!6q@wQu;R2btVY0sv{`qS zfnstFh%A+W+K*MDNeXDf-;;9^vK)==4Su>nl$9iOk->7NxaQF>aN=7|5uOu^k7}6# zFqMafHPJ>!zHbx~;>>zeaf%EHOy#d0qwGW!ZGBIie1$`yObkf0v090?v?TeGwfw#1 zu7H)A{m`BtjQ|wf_4ij3s~o*kLYplcmB?yhY;B!mex>ibxhL*9QqogT-qMz zKb>c9?d!b}8SbN(_CelT<~wJ=O^~Jtt!0MB{AEAGG;-Xjuh2tbLPdH=!hrYi8qnsz z1HG$>F?KwmPDxj*q&cYwtJP@AmTP&f73H_Qg~A$80SE_h-{LJR5TJ48RbM z&D`67L+=a9+{1=D{N051Eq4R*=%p$kg34NDH8^Z+3qcu%1jDmk@;NrWs!Df{ZcW^k znJk6AtV>vDRb28p1e;Y%ZaQJOfV-*VmA<`?ZNUCJRL1#wZ-i#(22caSKy3Vbli{d~q zpN8GKbnq$;Wu)$LnP)4&f5w*B>lmAGlcR4^{h!_6wB*=?#^2@Bm969&8fzG1Xo~J z+4O6U*Uq{0tP*XOR7SJtCRs2t%MXy`m}*A4QvIw{!lGFsbuxCa&l|v6Kd-=UBQA|? zm|^Pjv~g0+I+0Pc^OKu9LQb4#0aSLOk}?&gJW>N=vIzXyImLIjb)fy-^7OgSkZ?m> z1J0<2EjWMR#)k!32L%1B2tkcxT)_}M)@>0<3<6Sgr|ACCPo7Ixe}W2$34N&QBb!Y^ zcB38I3Elfq?X&LJq@rk>Mz3lxH}ega00mDzP~?8IdXAcWK(wZhG!d+$x-rBsQt$+S zt~9;Kj<86c7^`C_@1%1*x4JR>E*li4DB8iX&TdGh>%P4KTGdGS>Beec(Tk z>sO6>GYVPqgkZs}f0W(@m^M$crBKLC2GVCfl2wjK412o)s0CKqXy(tHp+;}e=$=b| zbeVs1BP4(>=u`8KJ|LxJVkkK`0pwCdEUJX)am#m43Uu$nW!5yLB$)|3E$1&0OC-RxWT7}wr9Dj!SIDc#L)it*Y!mY&Oa7ZV;nTOxl;6PN z13{OHACM}X!x2xAVVC+3%pAajgCIQku43$$E+Eoe0RkpJ7Pihs=<0TDe;j*dp1&6W zafRbO`~lwL8j~FXv_Nei-eE2#h>j%H${QrkSc1K0hs~OvZi3fN*QwkC{v%g?o4zi? z7SELY#co8PH|!R?3yb^WNgad=0cWeZy&|k&Yxs{CpP*X7jV9+o3=>B}0d9)oTWWBs*&{0ty?-KHD1QZjzW^e>fel9UyBP6ehKVt- zI6D9dqd=n1?_%ATZz}42`Oj>Q-mfa)P_a#u?c1G>4KT5Bn)u!fy#RGKjRoih^zbPn z*u3ZD#96z$+jS{ zed6kmsYR*?CKfajigN6TL2r*?;@Ywyrdp> zgZC>mP8TY&&0ix7JdOhPQ~8rRKf*?ExeHQr>_kT3ElW4+xalL; z&h*g|PoK+*y~3tBNoz5lV?&hBDKCb5^$4$ARY*MJz5IkqHp?rzPIUP`csFlY*aD+c z6*Q2&^!V4?Bx?0Rjd9t8g-e1D1pb@lv;2y)`FA%12pQ7m2##y5WF0zAMtTusQ0cDS z=eNQIUM1d#*3cER@o-`9>tL~ssKtYA_ARvOs?@hCH?R9@=I+3T>c^*W0xF)1h$AJV zqG=ennmiDD{^BIDoEuR8jqxS3PMYn!DYlWa#E%*TNH^5ttBj`^d6_?*wLO&jc4D0k z8&CT9i&QN$+o8pcaQVWqrTKth@7p@2Kn5E)}%AywCeTWoq_r{eC9aw%>+&k zK;7m%8VLy{qT`%jHN^S4$C1hSc zr}2b?=mJmxH3K|q_{Fl~yWZDjc*J3MaXp3?sSwqE3+JHDJ1KF##O{BcNn| z`hz%U8H~0|vVA&oe;F}%)v(_Z?mi199ZiS%igIAt;Ozwh5NjBh7(MZJ7ajnM3tYR2 zmP{%~P{Wr3oYh5;r*dbQ3CE}Q%`_1`&3sGUh--bkcDKuI*N^jyIlt(dyeq}9B0fe$m1@n z2vD|G{SWjRw4LVw)etk@Du&0*i~&D@l--a7Z*@toNV%vz1nU69V<6;!1JY4=ex8uI z+J!w2cEMasVnU{D#p&^ZA2deQDahj1&sU&s{$ttXNl=Glp!AF;3_pD?yR#X)SH|;#Zz+JR z>7ivjTQDVH@YD!IVVrI@uX$b7Nljf+Hkt<_BD z4|<@Lg>{NRB^e|F{E88a@(0^Jw|a~KTfM%vrRKA1{sQ;}i6heh*+Wttt@B$grou}X zJqhox`*;w?B2^c$%k3$il0(IO>Vg6Rsa_VLFxaNSIX>?OS%X*RpSW)XppO+wXKqge zy$ZW-EiCX-Yra+#@FVm!dR$Ye_}60mU($TO@vUQN#6$K6YqKDZUK~EOS+F`HAf%xp zJuJG9(HLN5MWrW%&7ceHrPW~_2J~TRz%kBh%_ru7`N4{>Cz0OYZ|>-;0pjP&QS&Eq z+t)WumUl-DxmY3D{jW+41^g(=bzPDppL8L&?K|2O@LlXHm1f5{x##$xwM9t)`E5+Y zf5?$t=(Uj+p3pxfMJ#0p3)v7f8^HNdhZ9(nGy>nZ4Tq!;zk4v2oK6{(@-w;dB-4nD z5RD4}mSCwB-@l^rSLgq0mmB$tK9auLCLR^?jdlfVxBWAet>;JXC1YCid&0Tn7DB{c zcMBb!aC-ZMV;8r1g?wzJ_yeHfl+b9>H(q}BmE%JLbFJ-{_f>SWFZ_6%)qzSgj2ffX zj97C6*rEu$WYB*Wur5b)9NhgixmfR%kiyHXS6_I~o76&WK3w>~dWK111I{bj08K8D zr5w6WRhq`2%jx$OAfY3_T{jrs#p9v)10k2|zy6u!KoMp?4xyi@xaah1TsFxXy2vvvGzDGJW|GwZ8& zQ{9aU;Ll*owz&lO!b(tncztd(4pc(7l{T1J{vA-JHWic2gi>nQX`p(EQ}P4z9RLEeLCFa}$MJ^73pgRO?;2E{)A?mWd;h{lzP?sk z3XPh)OU?aOesq-rwKB~w2?)VhF?&%-$ZczQ?|<>2sTnWLp{b?&NJd`9elLF3DT2*> z)DZQ&dFPq0lrj?#ssg+?vSdA|V$4az5DrPzi&81G=ApUfCeRN(BB`v@Vto~xO-LIs zyaSjT3^SIv{s%Lrdv#Qfgm&uryF7AiU)u#B0lDzwnN611>Z;o_#A08N2JA9ruL=9R z^vc!P4QhgDv=|=$^56_&&9Pga#P(!9N(X3G62eaMPt*KPs2HUrTDY|14-24wfvR7UqRN4GlrWSN)dn@u64#5`Vj?ucZ2 zZOCy4W(;BiDK##-K2)IfAO;yV;G)JjHl!J|GDKkvyNvckO9upE(FilZiu3 z%0RJu%6{k89%)@fYCgnh?9L$m%(;vUJj}T)qS=HJLFL*dUF#t-?Fopsw;!Uk9Mf!|}SR2Rmkw^6%kbAcXHfWcd6yZ5alX!~_!n zZCRWG2*XlLrqJM72yrqLi{Dz}@dK5j{}e|k=F91D2gdX{*6zdFTGUXzxqyd2#(E{= z>^&*ppdRBqqwo;mMkR z$uwncHmWWz(1d&#gJi$k=+4A=U7$P<(BE+b^>2Ar!K%L;^`4mMk`@CrA0l&#ZQftg z@m^zSZb{kVqx*Ie+B$==?*c1T&&MS2*KiB?F_Si0SkT9rhqA1Vn6-MFjY0}h?dK)E_y2MO(TeK~RskyqE}e*SA-+J6A7 zy)Dz8Uy;`Ega$~r2s}H9=qHetr%=Jua*Qbzg($w~eq0Qu*udQZdb-|YWPzUNe7jPW z5kXBc|G^n2=&0yyXb|||_G^)%;McEF9QJP$|B23OOAL%Pz3~I6{?9^vvZJ!D)l=vSk{&9` zHxK86U*L5?R5%_`qh$F1h!&8BkAkj?2kJ?_Fq>KR(!gU#?%dYJFZ}d#vg(_b!D9vB znw#Id+|2|DoJ!0iKU=Q>6w)=Ak?_rm_>?6M))t8^$!C{Ll!8Vd#9GZ~Wk8aJ{=8^` zbA3{4ZRICW#1jBlyDX+fRu-h$PS1QVt=~r4246Y^@ zHrnQ2xIUt%!0BmuiR)L7uVK|kd;vrDJUCwq=0f1-{<{@e2Uvlh$Y=nrHUC%B^}To? z#DPCfdf{f(+Qh=3&7~);%uAOr7Jc7 zK5Q*fPDz8PzSJ%|fP{AG93Q-StagIHb-?n*{x0w|Cb@#W%K&QjAJC+WsV9K+Srkm9MoX&(lXeo}y@mjjj2U;9CU*pQ;>m+(myLlthp@ z=6wOx^)Du0?4$XQ(!7hMn7c(i*{S-bC{VZWf2aBq0cndKm_2}xI!c%Wwlfy?Kiu$} znn~-cmMkxW1SlJBHE(P#foR`B=4ija7sPxmjMMwD8Y-V|45|^Roj2AG_ z;x6A~MQ$`bcMcWxCj`o4YTkwTM-_VWAFIzE8sEMkj3?eUbP{%6Vnhw&htnVo4i%a48ZO8?bh(zf#9A*p>hOIQG( zI6NK1as^0Q>RMSSJtw8mgMlO6qUg<#4!)wkG{R?f%N{l4t@Ub{j9!db`!_`U<}vq| zme;RC;0;PPh^u`gg6x$4wrodKv%B}~mbqs@&Uqd`RNX^I1F0;9RI?MXX&nx+fsG+< zi*eGhUo4fsReL{z7_|M6$%`F768CQ;pYYcfO38YtFTSH)7TohW!13*MeQ>h)k^5}t zKBiGMVfeaswn8|w9D?-haXnM@1D$`yd*vjgQrwqRs6UJ0vO;!NLhx8^0I)o9uG}SO zO8Su{D*{}z(R1o`Z}+Ncv+wIH1dEOL9a23?&pCiNYFkB^{`1-$7O1k{BJLV$f{$5I zOeBaH>VF!mk}v2t6q+Tg+sMlE*f4;2@aix@q_QV_IpKWk$(g4G*kYOgG84L?rU z_)f|deKCfYjO>dY}t6ULmKbx5WYF4_-Xi(#*T(dJB zmudAO&H-LDsL?!v{oV`}gfY!=U-J**ZGfd}8vacqkYp}fa1YbaEO_lub3n@=Zt{R< zfJcgfv$gSD%@)7f-<-i9J-bmIL(Ju35!wIYAOR-e44Cthk=e;Y+({30qo8iCaCtWh zamCR=W5`n7H_<*xvxrLpzoEpl5V)fh57LCc$<7r}w%{4#zhcKN3}Try|67&z?_e&U z5Ib@CPX?~1Mgj888b?5Js3{>BgzshbQ8a=UYni==;+X~#ZXucYps16wVPin z&6+zH?hQHZKXY$7s@Do`npdj|HWlJAS#fRC>BF9afbKbwE`Zmd|g0c0U$k2EE;*#|6& z%Vi@SHA(ly14c}2}^!7b6tGA;@s5WE1 z7j~v0|5pvbOd(2SXeMgw9rE$2vNo2Y-|SrJMBmXs)` zA>3Ya*M`J(dGF#pVZ`za%M(#4?1gRJQkviU5TJJxLKm%Sun)-bCdZ_0JlY>5MZ(rZ zN`SNYL|oAj)A7zeACY#nt}UPdiup$ZstH+wuBYa{$!|P&P7P_QS->d^YkM!`>WlAp z16Q*>HVA<*yV+gUBPw4_DbxEd01@?1LDtPC(2@U$JYY$ZZlJ5*KM-p=4`D5PIKKST zTH@Fd4u*%UL)RW&<6!LPrp44lWGy~LTpqEoKbL%qey@)o?wK>ahn{h;IccZevbeUF zv@NcMT&5_Szxbfu^_nsrisGzW+>b|nyR~5Vqke|^CG4PW6 zQBY{v_e7*(B+A6zL&l57+u(L1$**^&V6rA2@xjzyN|FZ)p?m2{WR~DNv{l;*JLdg) zHbv+ib97aNu@PJq_O0F`ziBbM#H{oL$>6^K)jpPHknM*N=>1xHintPtc9%pjOp7vj z64G&X9oaLVC@aOPiBr06J6vxFK0sAWD(_JEG=JY0 zzgUHBwy-~%Re{Bqy8Zy+p$KSp;yS^ibGTb-pBS6|dcs|`UXM$7sqsN^4mao88=Ogs!Nmf<$xJ6ktcNF0t4Yx!hqZ>oqAhg(+iID3R4DwHumjr25@*KpivfM* z5!!#V2!q?!bsnjO$;eYJTl_MC1y8juzS?QqJpV!|OqR^2(@?VX0rOwOX9%V>1+51)1O1lj%vj7i1j1jcqN zA<6^%P3Se?RO7qBV-t4l+BhG;fMq};HZ?oq!}C#IJ5&|wzT!Uc6CbVt(?qr^z5b)T z+M&~`DIr2aj+HV&levE=dV{nk?FH2-$pZEQ?j0IP*cJFJoWOO=bS6c^XwpRQkHk7uiB=+h6 z1@B;lUgtcj@-?Vrqh)KhWUHxXtIVv!Q_up_qG*toP!#+S9_MhTLGvSX8663 zGLczO+G=si1gG?ud_i}^neY3X_AOXAU$mufmOX;kv|~PT(bw$~-9DU&Uh^sl#7fn- zk?{RRlsPO^sVo%Y^uG}AapbCME%8{H=hlJab26A!;Q!y5F%c2;I>;{rvRO5P zYlx|28h0y8{3wF2%smD$DdBAU_Fe?qSrY0dehNw8-cNgNHoU%;@E&)uAOv3u#1UKP zYrzOkuV53!Jq^TqK^<0cxJv&-Y(0+P0YF5O0^_$zZQ<8SCD{ur;r-zk+NdMZtK(-v_Q)dR%BxJ zkZLI&aXJa(J{Cb>0t}n^!0^`x$SUg{syen`@N5|K5>M}JLOqWM4LU2$v}ZGasCNX> zB$RN5MK6CQHcBSym&^rUb?L?@A$^&qr*R9@h44juV_asmplSREs*A*s7OzsI z>lh)HC^dTj>-Fc0tqF_1Tp&l#Zgbr1F;cD-`zRYp!Wd5KYgW#y>;iLicI?wxJbDqTu9U zxYE-Cq2?}Eksr#MwJ{y(LK$0NbM!+M=aU$$l5c%D;$5DSq&2mLD?w8wjr5{m#+24}qz&{k%ZF4n%6wQ0^g$uU2CoCMRD#>NceiFj=2#j)qqAUmh* z6l>S+{<(<}lx(-(lF8or3{58f^2~?F4I9>B;Ahr7FIHwDxTAX;;EtXgtf@tG#2;tT zlIp*z4*s+y-x;|0QiFJnf2$2@gKnk|9IqUNY>$+qq2flbp(L{Q;7v1B{z5*@TmsR)@A+Bc+PH43x@ z>^QD=0}hQg>uG#Km15#V?4M14g0R<&B@i`v_*pmSxx^Vm( znRvtQG(~pG0u2;~W_dkep6=a2pxFzlZtw0w0d>HBzk56;68ks6WCeE~wT< zy#Oiw)wizXMxT+ZBIqtSfjd!X%Jbf5IBYybGxscgU5&=N1J$#>lohWIp5yCi&+$!c zyZ#_vL^P3Es27bw;wSuR(4ge@vaDapLj1?$@i87fAl>q%`nK%!fwmD{B}b1oTYz>8 zA^5N|XJjK6U5T#ekfP24T7{VVEYS(+MUAM9pS|!Ixg_p0YAPpy;H8KN&F+a*s0rp{ zync+foy>GuMHZdWxf40rGk6!Y)|L*vrs3(m%;-h0 z#}YF?w%vB`S(5m(?Ud^}wsAz9vhAqmY{{BS!uHa|V^|eOx-R?Mj-=;CbKgr1!S22i zF}Rue;9|t|j4bOHD+P2UREFlu#jmv9kDUQS{^ha#`1O{74wocyy2_Yr2#(?fK!Ts) zu;%R~&8mG^E#}=9q4WAhWDRpeDBA%Ls>&33YWUI@qeyo_6g#nOpZDj+Jz~#=Rf8mv z0L=0}xJB$Xv*qHX>wJecE*A%@(GMHwHzfoUQQ~jR0D&+9B^76R?_u-iahq@bFu0K~ zdAF1Dalu_!1IBvdTqB5s6=_c)m$&)!Oz8`iD^EZUe7#+Qq`GPA<5dVGID{Rq$?ie& zU$!j{7BP^W24k-?+e}`~=}|QXO6{y7&YmMSc5H*SRswQ-$hO6Gu(L+IXRKc62g{oY zn@Xh$ZuVMK9ZCkCvJFF@gL+=T7w-KJ+j zRHreC4P$IA4y9lyGP*}VfHLm4^_di1%=P$P6~z68zgQWBr4nd4w(Zm}}R+(_Vk(HBc+RkEa=7`+Tf3Gvq-oQUk!IS~xUp6@sS1fcIC!1Lb%ufYTt=^#A;75*PYr$2aKs&%D_ z^LA~&H_XI&IrNI)_lT92XAO*7&t8d?>ha?MjLP(z)N1pHd2w`-3!T$2u(zTv=2H%4 z8b6CwE@L^d@$;V+)OKx2a4?(A{x2?Q>T0X*?~$?MwgIbRJo*Xa|AJ%}4JDp$j4GpT zY*heB)0BX~VX7xh+<&4EK?nDnoHw(mM+p54EHo&~bAesRy!-{Mv;|x8CYX|I_q>{8XvO{p;CBk@3q=afk4rO%)y3e zNbOAWlYFkDQyE5_Tl?ppYRQ0U%PsbxRUJhzo>R1styh7?-D@i~wF=*eY}YX+Wv~h% z#Nk9X0qg5~wCnBkldHR{;bTY-7Dfx?gDz_edmeNA zGq|A>9Ulm}xTNHp9Q`y%3gu~8NTKYH8wU@L^6krk;iDz@B!#HwL7XX+sF?En*;*79 zvOZvOZ2w_Xt$k=OAFbP(m8a0SI~mOlz4 zCeg+U+=O-~+Qb;4K`ABOO5+?r?9*=Rd)L%5y^j+rVMG=uB-FsO1o8t%r=40h7VC__ z;5F(_dQX8Uii#7{T|xh_)QjGqVC?-Lc&Sh*nJFP6tF;bPjXQM^xhXIfkRd8Yq`G4a zuDKAV^O&Wtq@xovZeDDn70=%<VI)>LT$RbAWhr<=TxAQuTW?W%g zBy{^+Ll#+|sBXr~T&s07nGD)oNLb(4nq?f@05t9*fB$VYXp^pTJO=V$;W+O*zf_2) zaZdX?8`UVP$blfTPEUUyxI?26u1LplVt3R4vdp~SZD8?4kSB>m^@j;bQ1`}QEX5vU zY#~Uk2@_u6on!q>(@IGfA{^#_ML0A@&vfmwgG5rr9d==` zywCrF!KT6Nu`?n4m6E!GzlCgq)x|gXs2Cv6l~$kf%C?*B(#BWFrRiUb0@(WZI)hU> z`jkq4xTa{qz_2Qth=)mNumB?xPXARY(w%*V?P3p9s|XfsQ|$S}a)E}LHzat1mqtNv z9PPUBcZqDLD~>-{gE1eoEZ=3)INOG{^ZtkJFSHxjr|hMGxrtHO+%~#WTL?OQZKS+U zr1}dhAz*9xk%>!(JqB$WclN&SNGzJi5-Xo(#7w{m%E+=Y`ICC#zZChHq!3yrSb77J zjkO+3%`L5+U@F{+>T*cczkejO-1opGj24zu-yR*v;4NF6Wo$cJ<(o^bS~ylqQ3rHe zV@M4!GUd?GoiM+|{%;lw=%o$7g*Ig)F^U6c>)OyivbU@dlZA72vNs1U;?A;L&1u1& zWA@1Lem3;``#cA>r3MXtWxk_r&5E+YgB5Y*N@g{h1M{~Ao}}j|u+pAMH&tWe%5-AK2%q?uQG%rzfFtx9g8?r85c!_Pt!dm2CX|@n zg7E%}O<-3bWK^riSAdmxjXg&o;zY11f$*0d&=g}&>qD?^qx{>ecbowB1@9nE{J!H0 zA>dRCV?BDPd5Z;01osYx*QcQ6cMdmM8*9<`wMh=VKEEwt(D^cXm)SkCj`I0m`)!X> z$ci9ezq+zR6X@+<&x3~O1otg?8h9@_g%u4k30jppfmX_t_J~FRY!FcV44gtEx@D*U zN{^F(fL5r1-=rRR(?YiGX&Q9InxEq8?YGR|FSJxpfJF2EyC3<_ch`-HEEp5_j@@^z z-$DakM#uX*uOp?&5FyHcdBVg-^75@^6$5pC=WG?-N$-=6zSxuCHOPuHpDK$e+tD+= zftd)jX3&kG$s&Nk%L(Z7W|7dzq;cR@e$}OIqXo`bucVDpiUa?(C_&=H9}e7eGTDB+ zg{f7!|FUr9p5K1`L9Q_MFC8HZSej6J$LlD5#QbRs z>ioaeB*bIfa(K>@U1_)_?VuA@)(aFC0~p+^`U znZ5vP60nIG9#>r)a|jVksdX5wC7EpvEjiCrWRz^~`BD%{~ckmZ!5Rg zy~(N+`12-;w3h@Mi71pC9#-@x$k?`nd7(VAKanr$YnWe9<#3}3*igSK_a z28goJ0S#Rcko`!(-46Xc}FGtcg4)GYT%`LB?sD*S!=BnnZPQuuB-s9-1~OvX@7 zTunAy)8l}8-jM@g;#%uvW#?yht#i0Fwe?6YFYg(3B`qQyN%Pn7Mub2a zk42GA)PBs;zHA;sMnF9>QAY$b=9z6-zYw|H$7T719Tn!U!Uwz4sk)_PKXDl~)zR(; zM+Bk0Z8=cgAqu^Mvk@76J6kst+9lylnwpdD%waAHgKWXkOLSG zvKM@yc{OMK#!@jy-2g5S+p_#K3I2n{d&G({2ITne1fv~7un{A0I^5rzoqrRonh{+- z9KK;k74$JxACJ4Bq@bzXIOxLJDe2sQY{ZZW9D=zKaszE-fUGmAZ98-C@|Z!>I`5+v zw`mvSEDgQvL_?5h8(9RI4Q;;@S8){^#mZ4Vl*rVS9@hwfGcCa2fEx4ziAOhq;& zhmZ^Wj+U7vJt{Zqyq5YaS7z=}XP#?~i{Ss7D}%}yuLs1kEmi*s|1ijnn$Jc~)zaG$ z8@m3#s)zs48S7uD9pjF*YI~b`h;6?IV1fEt$>viM03t+RlaG`lxUFC|01>~FvljIr zS0?K|1B9Rbp|C%4;g1Tq^zXScnA(3~`W!=p6a7bq8IZFdQ*@3!@^E^;r^pC+3Gkd4}n!Sm4hs(S`YS=^S6LlX3 z)Fs(f5H_Zj&H|eo!Py2h0F|M(u}ws0$=sV$uKj>za5IGe;G>_xE4mnK!XwDeFxqdx z8zTl9frbAkl@FEe1)5?hyQ`W1(FKcZ>@VDl!I)eDq*30cbG9377Y8V zEb#9)w7R_$1!yGlkI~_gQA>4Y|0yL4ouKg*n@wU%!eP4YwtVCb{40}l_w-Wly!oti zT89^f5__?S+~kcjj;;IJX<`)04Tr!k*C3P4YDGwgpNZHxq|a7|NKIM(#pUyRHD+{L z=;Cq~zeT<=xf)ncZ#A5zt|w+a-(jk1*p{X?7a~#|6POj)PS*W`Es)$3A7xQ^09TUi zJ~LC8TI=}QAtIcJwGCKwwOtAT@gq*~G7lw_a65XqjozH`Jol&>XT5&Rf% zNgCW9k1KqAM&D~CD3n}OUw`jT@VV}s1ikm{*6_1!gk4#omu9yz${jW+BRtCa;5N;< zhysUb$b~nm+z_FKP#T_6&(XMcg;N!>IeR)3W2m0*gwo7cS!Su@KILOzPUtUc?F>rZ(d@sT%JW_|U9T9J&tt zof;1|pMQD#>v}&G_SU1s&E<(Cnjvxz6wjp7{?rF`WR*_AsN{?B+9T9QYxWHKo&As^ zY|fE0`~B@1zT+wqRz{!4o1ba6nUI&4oo8>IIWQ?iuFd1FR~BmYq*5Sb#_tFOM=IJE zKOi)SZ(GP?hbJeCZP82#Pi~dPW>i^z!2R)PN{E2S_&o_wPH?{tcws-#w`?l}0?;+0 zK2L960bAG219ix86Uuq?Shh~^_^w-uFYT*jR9c#MoM#*;d3Ab3bAB@KsP(N!zUcuy z&&53D@CKK;tq-?*d2n0CozA`G!9SZQzvMacd>AW;Sz+{92ukDv(ZzBTa=gmYcbW2U zxTg)Kan8>j%4Z8#5Tl7AE3#^IO;|iNSS!aq;8$kT;?ew?bE!zXI}HC@U%hs+qM)_p zrxTt9hevsQGp7lPR0RvlaEC4UqfkG(*I)G(&(>qRe*MBMyGCD+WHI!+E-f|e&kF5> z-vRH1J}+a?itMu>_#w(ueqg~5fxEwFtDDbhyvAkNRC|m3+T@@}QL#(+vw7`V7cIOD zzTAe8rnjiUY9UYS?oRdYJe6;rr)5sL>^G+6D=XQe)!5Uysq)-Ffvi7BeD%fnmpQQp zTbBC>%Ch0xqA

K5H-xfV3c^RDe(seKTC*UIYNs!bftC9xD4yn>Dt4bQm!HsaJ2})*Z0G41fnx+A zEs#3@{3&i8(YMCK6yGYjqKgCqR-=e{3*?gxiE>_h2MT#MdI()=bG^1)MFJAj6fteh zD}qYns~THP(;IqQ4NadM3Ea(b$-G73m(wMilHl}66AsmQ0R(AKk%Px0VZGP%dUfC1!exx% zcW;;*u4qN?aJ-Xmu@A4EO8lgs><1$esenZojWm^HYMB`sRoui)%lBZ`SASLX-&Pm|TzCECC%*m(u{?@mOp~@o44=3yRy>QpwInG zmWy^Y=5kU8w^VfJha~ApyW;D-SN+b+SFsMN&9?d5za=^e;7F%aaEC=Vb+6%@T_8&y;`!&V%ow@ zww>c8NOU%BlOR&}m#Mk+Ub%j!_SC4xWnQkdQnGU)z*I%fOSL+&RC@wS_~*o>zY*2m zpsrRMROgBg^P=wqRo*K9Cu+rmC74R+uECxY=Dfc~U0XzsLm84~{qIv6fhN8;$VgwD-cCt8Ok_`|XWNfi2HUsQX`;NGy=LkHSs}H8#G{trLA1(5#6X0BoPVAwO;= zM&Er`2C`_RjT>+n@+&7OHjjVYsfq3(<{84)sao*Kl`aQ84^b22)Y_w`qkmdG3?X6Y z6TC$IyvE+Mw1Ys;sIk(Uw~I3VaSV>w1O7yCl^bN^iAr)bAoeHXR15CZY(7|>98xRA z6|G8hIYT-gI^bfO+tjBCy6#){tZ9nyGHKJG`h!o^HrM9fA+WvNtU;mMLw+CRV;+R{ zu)dGe##5Gi;Y0h;l1MoYGKFfA$q&qJtp|T@7DxAcO`5}@)!rfxvwTnG>_swMc;$TM z3>U&}qC6MwNZ731JCMVm@*;k*)7fTlG}flxLDImFUZlgKMy4FiSkZs zlXaJCCunq$1LFX!W51+6dMTXxX;ivrh?9wo3cZR* znGXDrSC_zTdpY+~pGvmnMSW1(`@)E<*87r*wNt$4W1a=-7Q{afTt zA42YQv#&A7)IUCzpaDP-yYZQ=Z#{PD?eW9`;>5XLVxQxNxh`4Kg-)GEny%?|uvqvr z5lqjfp2C81#q2ljG96jGFd#AaCS&Wv+UxdBu36e%eUqr7&_hk_1~d0-x|F(@PR9H4 z#GTBGSegu5+%8^?Jk743zvJn?A;`3#^juB~67M_Mbf(JTZl0{mcUlZS<~cWstJimZ!Y=~HEjWM2(fMB7dU zl|iAOXH>M1`uUC4EU`nc0g8N?0cy=I+1U8=T=v^T!9mAW)^K`_!iijS=DFB+>Y(5z%U%V;fyZ>0J5|HTEXen*-Oa4$qdlWd zS3;&f?BQGVJyD#)RNZJ*J%kABCi=@Dh{K0&0hKZH_(*-5s>c>xD`f;ULrk4#C}<_g zJcXEGn^mO6Q)+t1`8vDwY_asMX{WM{#m`*P{?vw#*OsP=2}|>uvM*6eWv9DKDGw{otj&{6Q71Xw{9rd`LZ3%wk+p$JUVK;}OZ;w6&xro& z)K#pdw$;500+-l5F3s^i#hr`U3_5V13g`KW=F5)<2ztp9LM@t#&uX8ghE;Yb^8B>R zlf-w{=L-ZXv~ZS&v^Tmm$+V5TH>GaTF2|){ewF+0-7}9hDB--zpmJ-rH^-BspV?ay z4VisYVS_}(TB|gYWK)v#t9d_I zb%S2HyU~F?6<9p6dq38g{uA9B}D2IKW?NntabAs#EU!5bs7t+ZmeST4@Sc{L47t2SptMAphUTcP6 zHwyg1abx)LlD&6$x(<756HYs(YV6e06`j$#=k!>TaDbbH32Ge&nV|6>zhs zCpIk2XOB8TxN?7JNx2r+o$&i3x#2J_+A%#`$*(AjV@StrSO&|s1V#y&T1$H9X~08@ zww!@APU2y%fBQQZW}&xx-)*EQz`b6{=rq65d9oRM)>^4a)`iYx*-G%xH!7yICOni( z$@2HV)X5m8V=(!w#n!j=fD>?e83-pBsK4Ke-xG~)&e0#{@8=<`26J*i2(0tglhUvBZG`K2`);)OcR0o% zz1llXe1aC)gfR+lVQWIt`1FtqTBc-y@Q$DHy^`)yE)(@$CuQ8#>kEsp-UnQ@z718# zR5jJ`Tzh0vs=`lg_`E76at~)3WhKAch8Azkr*t704_W=`vf8e}QBmTYDndh9DVn9a zSJ`v;p?R$|t+%&tA245YM;ce$1iPur z)9E9$3QN`wQ{&@&2!($!aYn`WWmIf@7Xnvy!yG_lHGB3iEg=($EQAn9TCi~7& zY&c=v3`Rs;6t=}O1@a+O<+%(uZ9QV#6rF9V6^o|gq2wX@g$;C-Smc{J8g*>8CSE!fmT{mjzq$z_jFn zScesTzV#0?#EcKRf;4*SU_J^ra4j*e-*e%6n}3VCjP%;wrTTK=;~e}!9%Z;G4oduG zxxPIuYx46vw0ygIWuJG*g|FrkIR={L!e&i>HV5uLU1ZnyL26`d_USr?gIx?4yDT|le({IX(b+t~m zxcF=taNlIi|17i|9zHPjZF%3rq`A+A-9{fAVeBbqI(p-=^u5FWlHR^LmT8L z+z&GyKhpz|30sRS+gp--*RDfP{nFF`NN}Gwl~PAfcfiQI%)>cVs8jcfwxMyBCwfop zalk>ySnnd2V?poVTk97RQCdAA9s4*WzD(c>=~M?9DXtgut}i37%AsO)T&a;V+QSz0 zCNow0^9Kj)D+!dwTelY0O6HU{yd*x(aTAo|xCxsO!jDr^>X1mB-LG&r(T1D&`jqz- z!QlX-n;%CSNa3;d@fUbn1qeMk$ugFR6cyyw3`1_svaFXQNz=P)>;d+S{R|?=KrF3t zC-^|O(zB3`_ixX=V@$19d~}`TQ2ZGS_a07#>pbPIG{c!aAJ3_LJDwm1ap|mAdlDB% z51Tp-y_g?uW*?1V4qAX)T>d7jhewY+g}{|S%fcf~i&dmijTi6KnVm=o+LNu}x=&)f6 z9jd*pmav-~UVpO6dDeVSt7vKCXvZHy&zi^VoA2!#3zY@+2br+9@@c zYCCCP+pC$E*ZDHj$)wH(@(!!iPSA>c9?=I66Uus1nS~~+9siNloA0mlV7I_rpk#r} z1+sZG!d9iw{=PX!lM!OS0%<999LXWZ%W}5p>$27U4D`G?hIRsQb##ukG4cUimV#Uz z%-%|0P;f$mJ%3ysIx8~(m-S>dyS(4Zw(a6pxUqHXxovs(#>qgAhSx>4cf}nZ?EmD$ z+lMIx+GKZWDLs4Ln7%5tEr@xH#m6I5^XZy%R?Q8&#t06WAsX zFvR$HI!Daqp!C++#17vkD?Lj7-SghjZ*F{-#cCyb4J5gvlGceS?}x+h@K$s({#l*q zy;u6DU^wVOh670&{DQlr8>FNKu&WJ!L&sd(0^MmfDlF;U$p-zth_DXC~oWe7$v}qHxxHy?~beR>_8! zd9QRN3y%kRx3C)mkRAPb?}FkUq}4F*+Rza6u~1((9WP3AG_{ds8*OHx)TAr9C{mH9 zFWg;3bt-I};C)MCx>HYxTlou7>m$u)n{*nBiI|}>$k9NNgmD$;=8F^EEg$1^O^c-? z=Xs*-`1zSFM)u4pHr#q{R=a#NQ*)l_Yy}rXy}b&IX6d2bVGllE}0dRR1Z zTQTMz>-Det4Xa+(7RANDs!=VQRcKhXWIY2g6ee>?`sc`8Bz-e;2UF;Bo{%}LXV|m` zq0`PWaLJ(%EYOZ{bDHt_#-_);ND0%!;5A}AvrSE)DNX#Z&vD7#4i7?Oqs|py7Bc3FQE%piG6;IHXO) zfFxF5r-xv;i2>3B-5Kkay4)z%D+4g>B?ta;tU^OrO}q`tI|w$!Dd=eF*Be89QZ2&< zb{F$s+{ecoOW(?bhq(v9U-fpBF!Z?>xVOhTCToV+Ut?XS-^UugOH$!YOkA?(^R;rbLaU{3ystR*$^;De^#WxbarQM|aArio_lKasjs1 z0#LG>eAcW4Ap%L=m9RxLBii~wkRefa+%X=7ouKVezoDCN2+sb~04vEwYX+?h;9ukH z@LC{uR7@Ydqk9epL(A{!%oOO2e4Bj&%IrD0N_+>Et?i4=WfW-`1S#V@Vdh(mnRSvpP6WyZFmHX%|je8%MrT_cZ5M zu07^>ZcU-`nqTkrnL*@GN7oVBijf(?wu-i~EnODJEr*i%*Nj_J?ZulH2TO8X6f>r6 zx#zW~G9nGu4I_qEYwpl}2=FF^!lREg_H9J~ZyiY{2Z)cF9?fFBGf=qn(4>M?)ADqa zPQG`mU|WKAbqs5&es}ew^sb;sZ5_$Nr<8Pu<3hglOFTiNntR)IIC^NSpGZfZpgNJx z@r^zWulVdNn+x(>S!`+inFkEcyeyJm|Nbex>%hs=c%6XiR%na$_JZ$r$is9x)cPss z9NQ?Hi#VPZ1zPL_1ZN=SPq!Z1tPW?=+>lC{lQy5pn66xN|9r&RubW?b;=I-;Oi#LS zM+uBaKv621{d`+;;zw|j6Ui{*Bxg~&wg$IyZ94jaqnH9ckq2%+vnoPs6@SZ#aCqOD z6R4w;GlbeV@JTfV&BQ1*#LcwqN0oQ@9PESF_uSq*(kjS7(=qeJE7o+TlO8Edg6H0C z#1d{aKP%p_IY-JP*uuAYVhF1zgm$pYG*S9JFa6+?{0}_Y33?q&#LBfdf;Xrd=gh1k?CKsJ;;uS_rTeDRlWa5ZOG)D$mG7kMkoN5%v9t58m5~sHfwEx~!traLWcw zQltrZ$l>)x$qSMd8SSlr-y;W^YoI>ET=Q$RUyZ20%fFIp$QecHtjLjr#sB^OsIc^? zm@v-G0NP3IiJ7}-jOKx)_9JpAVJF~sh#nbtJIiz9tzZX_>J_IY82Fr$?nF4g-M0gK zN^rJjG|XW*o5rHvzrvp1!rk@;Ug=`kxMKuK*^m`QIAAt#zGSNA!`f}-tA%sKFTKyH zeBBd0ULf%WPo%S;gCUWoI#qv0uJVMgRr0|FhSz~L2Ho!^@Jf`Tnq7n!EX&&)GnqQ_ ztFs!X58&KIt=c8uF;+14oEM4yqN3H2^Ht25qyz#r4*0Lw_ z-`yunmo3AtI!{etCLJ7@qSlUpekPF-jdw*S;|AN!_{8Q**Bd3SN zdMq-woVmk^4aGk8<|(-LYVSjay6s+$vgvf+2D7RlE#IL5a7Xa402+Wk|CsbQWb|iH z5pI0S5hBN7z$`1ABWI{UL(7+QQg1GXl$yCK^`~Ofy-{!z({i`J*lxQX=cT497@RT8 zmvZ%w>Gkhie)Au!clZZ z+?3C_q9Zr11I3hk;^}aJcg6RH!;))v4!`c0wh|oMubga9h`Z%}YX|Un!q$0|MDr!U zll1(XNvZl&>sH)-G&II>ROfbKl`&}{YBXQYHZcVUY`sr~H5&rT;VZStg=ti7)Y8@R z7lG)0c4QKM3?k4Uc>2tdwDR_X!w&|T{S;51mx*Sya6NImTbf~5rs5oN9h%y?MBkk-mDv^l8?W(n*QQ>rpKC=$z(7+Mirvjh`BWiPY=h zymaL1;`i{RkPd-z^hA28mKYe>=ENJ+B-tPCEn0EY;Q|38bqUm*6+mHZAM)D3yFGb+ z!0t5IB2RW!M@JE0ykUUx6fh?}rt3ku&s3qyx-`sat)Kj-8cA&JgxNlgP#IITd3@Gz zV!6`y^SqDLVER679m@>;2`a0ayGwiG`h)nkl%DmCo=u~zau-F*!vyZVcoxb4;*m9y z!j{-`G)&1R8V@k#knRENP6S{z1!w@1<=r!sgB4|zfnv}=3ZNBW^`-!kQppjO{c(r zhvMhLeP8&_xA~OSTk;5ZFpRQDLvUsW0-sBU25Hk8Db)Lp8bqL`D zlzMZbJiMS%^Npq)aquzf^wB4TioB5nzn%ZkW$G5n4G+P>%k8LOx#xXHyU>t`;s^>l zGXxX(VIq$Vg3qxno}kZ0)H|ZDelYUnb*sy%a>E9@WHvK4eutZ#HMnRW_iD5JDyU%% zR#l1e_?K!YEX6B(lxy|NN57i=Rues(X+Fy~pF?kXI!?~8=3`e6VGqzwCM1`L2+IqB zNT)XWVm^E_y&4dZD{BWL+DKpZc&Q3f6Y(?OABl_f8r`#tRDO0^0 zo`iT%gyHI*B9j#XlC_U~ma=EVi*d6$!LIv2-G0cGY!ufmnyLXExms|&VOOHOrh2t$ zXNlaw9qA1J-Xck&-+W0Arp@vq;gM=aw^>}#l9+L~T$1X&_@_j94VR{uj&i^ViI8fl z^OQ&N|KMI)$X-GvuOQ+ngb6y|X{9KwhZG5Rid;u(EzDSZ!=-D<2d3qQA4`I4Tn}z6?)0qt41$k^Ovy;=C<)o8)4cZVGyFB>m$2qT7 zaqA%mb;!pV^{JyY|{pK#L{oI7` z5p-I^a~4_^Mnaw(U66(Bs9A*L@b#aZ?Vm$;u+px=KZ)RCfU2e@?h;t#eq8hoH}R4D zD6VJ&E7tr)VzWFS*ioqf(Y9Sg%QK|4d1`ETz&$C-)VNpJ{)e;)Bj z{!Bgud*tKy67&LN=NzT$ptJy!J=9$>`tKmk=`v$nZGLwCqmJjvK$os#g?r!4rkHV<2AM-?Jm~!Kb04VBmO?#Z1DiCnV6?QzPUahroctyt(-x@oiQP` z^cUnGb^L!r{z+*VM2KEm`1~eU0l;611!{G9KOtLdAK`vZ3|sC`2t`wt`l4~WBfR)! z5)Ag|CR;8e)YzCvDReT3c7{mUkvqITd z`zURWAb8%zNf3Vc1hNg4T|D6OU zYk2*uJs_8zi@9L5eCsXK_Y1A%`=z46L?_tP=l?|Qcd?uk{U!?f3=|@7;_W1uosAQ; zjwO%&bnN^4_$RY31N-g`1j_g4GV7EVUy3uoyWY9--UY4Xup6UsaS12BDK-mIUpH6% zbfN+7U+qe3Pq~^IHF<^h)1;UBi^88@_SKu+2=IHJ`|7Ipr&Z=lI!D(J2fit`RK1@Z zBAM}DHPHVREz3H$oGZRjJ-xLk!G}yqvUnE3$c^WDdV|{y3TTL*t_2pXE*kmsbfamqfU*vSQf9%E&9u~E} zz=ekA?~fdxv-CEmo;k9kVabc{TyjoTVYum?gV%d6#A34N#4){G*K;oX|5f{Zy03M0 zzNloyWs7KQBSG2;9kKS^fke@8D1nq`R0hYIq$qn z;86SwtZ$|~@{y|^WAS-MWKx?s9;b)_!UR(FmHDp-`X${8yRy6ba5`YB53CZA1-@s) zX)(HotMTM_`?kC@FIox0msHnOOST)oA1{9-48V?%oA6uYTEzA|lvp3rEj4+aCV0Z` zA;_rdnkplj9?P@qQO3%@L={~#^CnNTg~h;BzL{B@5M_l zWZu%sV6t*rNf=b zlj`X5f@iv+!v??#Kk)(N3zI*g^zG_H@mOD=R@c)_GSeGoJ zcvNrm9J&Ni`y}NfB}lmW%6|gs`O+R-L!IPBKzf<*lXo#+WYpBydMER4rSTA!H}4nK z0R^I+sR_0->ZD@KRm1BUyw#7#t^~ZY=u@qo-;0xLo-Q2;mpVl-NGQ}W!m9gZKki%B zRn=LbR#?b?9zpljZ+V(Oy52hJ&u=SJ1PT>{*Hp~({;Goev|Gd}XF>i$C1ziJ;xf{- zC=&Mv^TJ68?oJS3DoyD1KPN!Vm*2jg{F<0Mj3U*%X+ya64fCbJTFIlAlSLFygT$fG z^pie!5awxJACg|jhfLYceG;==qwbF$m|kXpJsV3$ga$Nkj8P^7S zR=%~n%sb03#%lFQOe?RpYl=_bYS?fe7p{VXwa(rhv!jak}PK7(p#Y zl7`0ac1BG!ghlyEpBF%tecEF?wW<=4Q)#1X6+V^)4f^Wc-_I3Yr89w)V^}_tEG$6G zxzS=`(RQ`48)w89Xt!Gnsd5K6*h=TdQ8$bngh3j*b5=3SHsqt8u+-%Ez%o4uNF~_h zI@i5)Ob#K`I5V7x($z1de?ptLU8AU=Mx~xURrjMk5Xvx#<_}~W9OsYc^_=_O_j|4PTGzU+Yt2G=3jDA0U0Bipzb6tow1fO# zHLqr9?wtzse1fCbDxc>2se&*&d|6ybs@k2JZ>y~?6BObvB6uwbZnmn=;|_WU6%)E% zZDu(cr6EdRkIEscd=h*=^KU+gAvXn9Z!I{qoR#ofMyv*p5wV;l_S=7UkhbTyA+X{) z>K+m_Pi=+c^rrDuPT`Gaz*Yb>Uap7M1!vquji`(!{6P_x9q5+^ul33q8G`8G**8Is z1v(=GtDidNnlsRN&B~E+VS~6a0&WBb^KQQz*B@aIo4PHJFzq`}GE@JsTcqKE03jg; z7Av~hzAQz!3VvGuVDa94 zhC_Q1O9c}QGS4Psx~WLWQL_O0N3w$Vx zTTM>5?3EQia6f<32_iQENSik0)ZASy_qKu^bVYUx3IkMZZ)vMbIm!3{@65Pe0Ht7X z6wx|S1zyc_Dx02?_21QXSN%|B$@z1CB=C}&9v}G=#`h$Rx1wkG zWNs&AU!M%mjstT&n0fATbogA`zT-37SJkW0G>ozD`n&ZCF3TavI1~skBb+YV-T|EI z-TnN}VR4I|vQZj0CnUqa4f}>o@7@u9^^W9cGo8yyf(1%Uq4iB(zLFMUacyfT^Y@Q# zcz1eHJ6?_V!$ZxBEy4(6vEFZgDUDv)nM{zcweNH|O)pH>TF$MhPCk09?VX+pO~lQn zm**+Zuiub}_GhcK4VJ4R^Rp|nf|F-mxkGM-Y=AMCW!Kv184UTLJwj~gNPJaZGmWrx z(s)>wYNftCbqJ&39-?O0D}3>MIuf&Ph4TZrJ3a%#R)F2%%HQaHb9EhT%=X*0I9vla z+dW;ByKf6Avy3iP-D_%eo@UF|R~5UJbe{r0A?C2(;Guwe;N}3HUKFz1x1O>$t^KZi zS5f7pb}Ka>%T^cmWVDe>825ePh^SdFFZw>%JibwOga2aRMwF=*e=WIoy~-`1EFqO5 zq*p<$sG37QZjnt%?8^67pKY=r|(sUD|vkDRZb;g&?IGd!75Ox+O z(HKV*yoFC(RXKe?(Hh92G38|RXr?-N+E{>~!OA{+YNd-+SWo1kDJ8}O*Ul?*R;Jrn zs!sDY>4|Ns*N#mRgkR&(_wp&v!30f`MOU4H0G3y@SXI{$sXd|PAKu@mlCdg$0_3Y+Huzph$ z6P!5<4}oLo^qmHDydKaJ1>huy;hsa&8K!k5o#_s)HL4iMoA9o_6?aDV$0*votq6C2 z%Vny-Kp7r`>VG}5YIRO_Uu@I%@gn}Sy(e-;d`RqoPxb(RX$?8k22V55vA1D1%P1d_ zPBw9CMOK+FfimcR34*jqy5m+x9RdQa2&oBSzT( zDK+G%7IDp$XfJlGTWrW5(BuDQz_;aY7-8QSh#qI3ECLOu@5**WZ_aXT1#gG0;P|!y zunH_$^Yr$W1rhXkczK8nCZvJ(!TMy(ESC(5YSKy zN-CQrDt-~W64D9;vNHxB2lyG-h#+34fhj>0{_Oj?dI17EL#nz|%Q5oP+;|RJVl#96 z93Fueq>fIW{YD(y6@hO89e>KbKGI@tTLlS*6lhm%=?Tz;!lu+z*HfWRKqQFUeokZ0 z-g7+^`P%D(^(A8GptXV1_&OeM$UN73RsSsqyEU)~HkGeRFUWl1(q(!E-+_ZAN2II1 ze3StNnS7-Su%mwt@q!Z0tfgDg!fHJR!r8KNERi1lUK)($w&>eko>C-8+|mIeGzuKO zTxUxA6el`XO9vH?e5@O--ToLS;qu>_(Z7IU$e=kq_3Sc6;j_5zzQup9csgLIKoajA}tgw|p z3190j{a6rI{25N8_H^eJZ#ZC1z0i-2?`~b^GYIqt(V{Ko`TWmzJhW2I6HD92wT0tl zM4ivTM6`_D6r4+xqWKrd%RWwxiuOLx4CI;iEkR!UkNm%+5cYpCQip)|y_PrD6?>lT z{^;dZv~*o_eMGAe@PX1{P}2KP8PBX|@2hN1vl)Yti>$BzKla-{W)+GO9x7j5t*T zjMaNDL|1Qu42?~0tsT64;57f-3uK6Mo|zxDp|H}cQ|&TEX-Hdv-r~REnZl%~k+2jH z)c|m;WyQkS-w!bGeFIRHEO3xkx_Ob6()h-4FeIIjn%Sb?yUaSBF6T~q3|$jYP6fjM zg>w4Z^QSa-g@N@q1ieHbA?9%HSJ-+PIfRz9Qb(|%g^)0~+8V$U%geKC8mL4hmyqVk z^<1=oPY{jMRmYGVR4C7Bgh}n7mVgXyS{!Ivg~+Cm_9?mAoq&kse`lAD-lz)UsxXwc zaS3NtSX?q~F7(iucw>63YP?6#sSke2?fq14D+!KXkH z7W%bPvJ*O`*ayq^=t?7Dbu2m83B<49MnSB$IeNCLV-obnKBICuXXRNQGwMSS( zkco=KVsKnP62dL$a%O5lsM42;nm7CofY;o?Uqy6{=jeK{=(ppgJiRhaJbVO`%H$!t zk~oqeaclv7X+fE$=+hjOdtu~9Gv6`M(DDq2EnBk{j5rEEBSsvLIhZvqTOwURng%lV zjxpF4>v=0&lLSBH$-E{S1&F8n|Pdd(Bk>i{|po)_L zugVZ|P2iI+Omg$CUDFV8UfHg_Mu%g475-tkf!VTbxPi>NnK!)82GN-}*AK3@cb)+= zY;$0_4y^2>wta8^)cFymN2V|n5H%C(`-t=W!$7!~oCCJU96Jny6sH_d>%%zG0 zaKoFY_QY|LJAfq-q5b~-gvqG;J>WF$_WE&)6Z2gS2aPv()%X5y$%O4G9+_BB+~vGT zw->3Tq)77SmH8)fL?Tljl{f#@he+=oQre?k%;T?RLOeNgfkcWr(_@^dR;Y_Vs0NXD z@;bhK!w*A-%xHv%sR=yH3mYntu^U~y+9Q3|J3+39^-frfg_)8OJAv8e-%U15qqS>p zfjLEthasXB=Z?}SW~sMDBWv*TG8Un8c5(MY2Is7d@26qEcUOd}*M0Xodg;|;DW947 zi9}a%b=Udc^vk!BC%Qk|L`KY~rzM$Bu`cOM-}|5_FygLs@YOmww@O4P#GzGf;OEO` zAN~MusARp@lRj)$2XASEH?8H2lo-_Uiv$_c#~bIPt|G~^}+xkKT;+^;O_q+o|{z=M0kDkS;gT_fy| zOy7`Lb|mUoN|8mVUBI!XS}+vuUsjNR%3VgrW%T`wnZKqcbp%y1hd!VqqnAv zArmcZ9v33)Cek)T8Z^4_U&<`94=_neH6(|uaecoEiXpNW0ihb26e4t5d_AnW^SW49 zLFjT}W)c5f?zwjU!fxMT^BDAi%UulJgC1~J2865%W>l56`09VT0 zcXm549t|bgvU`c-;0oqhVL;$8!(0=SExxOssk+YncKgdSNH;{XPE$}(zt?vRJpG5= zPLf4v};$@4h_=)?A%XtXsv=&-keF;y>2+XbhSsI8Zn&P#U zDclvHSaY8VjAAN75^m^6m>KI;dgX-8T&Xr@MzfC;I9@L~VQjn7 z@|95{8s?CH-~1{`2y*j#3zSyeqW(gFpsl?DsnIt2zludq@BQtI(uBV!A@`1Pfjjpr zb}PS^{L;Y$d|5Fm_FlOQKpk^m&Of%94Bdgff+x1axR<#xu;Q*dl1y35h{X$~F@}l$ z=KziiOKFsO z$-VSC|1ZqTXH);myhI4!d9z}sT1S8EMs(>4{AAAC5N12IZNY7wvKx{>?ILobQV?hO z-U*JZw@L5EL`ThEH$^t4Y&VZl^zvu?)ssT*Us;yC)S94EkmXCAoB|HYMFh>>ma!x# z{0CzJ6%>{p=SA9}cgi=C3ojw0s0kEJAo|hx*)MtaTsISdL{TKoCw^V*(|fOvC1b-y zs+`x5p$hPuUj?EE?i$y9yy3G?+2-SJomV=kts_Qe^1f)CoXMHlfzX&8X=)`*HFx-+ zW;{SZsaHg*vWrt4zvDbt*;Y8*c0z=$DjOievPyMM<-~--&qU;HM|PI7a37Uk>pBr6 zp~jE+4;_p@wo4`ysAV!uBuFEu$^W_1ndP6w7u#A&@rC+_b4OB{YG^=A#6p6GO$~X^ z55!uDQ7b4}$L9GCt^7MMzAv`3jjW&l4*rKSTWtUY87}K9dHvS*m32oVc_47n^$gYl z`HN%kFO8eYV&G*_*FvopQo3i#PGu1^FN$WLKq72Or=H?&@{b?CO0se92jD+(9q@)W zM`NL^>D6(y?AioCsYD%0esA0iqiTw-x67Mn2Ojp(DkGW(0c(FSRP_!{T7I?tnPPM9 z1p8{agtbh3M=Av`A5=wwtTuU*9E5{j)aIlURm15}CLH_yuDU`L{l`vkOMpvP z6e4Xv5!w@S_Hf@RR38FRSHH^RZBg`}HuH|WU>KJsAY=nnIR$es>y_4R2&Ed(dl|kk zYnCqJf6>uW3S_Q*+$)4icbn!kSf z>NrQ|4Qj2a+mO6ba`s-tgf2i-{9?5vddZ5X2VtA{Zw88OtWVMD*Ce+!FsWRG*T6;! zc}cHguz@Y~#-Tk&`-btcw2Ua*pmspW(|2@c5UG$ex)ST}D)VMZ`rdSbKBWBTlq(*- z2ICwG3oANUqCSo~wwXyWt5qM0sOkgC2he1q&O^ry5dVd|;?Fe^h>O=kbgQ*L(Rhd* ze9(U5U>nKq+cysm)Ns<6&Zj>@r^au%0bE_m3bya5t!qZS<)UidYtOF(yCh<>cBLh< zQGZp{0MtmYL>S!3ftF6}7_mfJB`HRX6-pa`Mm}pyO`#3d-eq97Bh)NXz2d}T#lq{? z0L1?Z?G!pnqY^!YoApn2AO)jY zQq0lFy%t`5f{)9#G5?uztury+5~ZNkSmaOa(tu`XFB?_!;sfWEoO?^Q2vQsfmH9Bo znRd#pvfxX55PWGtT!&JVP>h>GEt(v+WU#kXFF4u&`V}jwK#gX+t<)tCZy=Ghmlo{v z4DCbSBn1x8#RH7^Pv3**s>{9yta|TX1qDul)lT%56&@1G(_Gbsp~hDZ0)#T{%;^>s z_Tc|2%~ngxcgpfgvdgiG3%a<>BqFTCFo`(B4uT7q?)=2o|71ZDLd|4Ykran!h~OiY zDD37W#n@s8hb~~;fErp?_tOm#_d=iG4JCKqv#%TfdT=87r%qU8idJpNa~Z~&!q@rm z#cq*<@c9FZ^IKM^2{`BHVC1Ml?{^7R43ERBapWbW9M& z9xtpJ=IL$EKXtt9IBDpD1)ySJcQ_DRV?p)!Olne5e7tu4_cQr3e27hjf)wxZonA=x z^D^)vLcpby)v^=+@F7UVOgNR@dlU(NCd<@6M4pi#pf#dr(;;1MmK`mp&eXqyaMop$jK^b4`GdmD@WBq_WetR=l?SbY#;jJrXk>84>eJE zKx*wpI`n-QAwJU{NzDiNf;~g_Y}vZIc+vxN2ovF%oLY6?;W%V2OGGq&#e8W`A3I|C zG567CTO*5@VXOkP_Y`~9t~)mdw^F!#0pDp?&$a#5b;hmSp!9lSi735}LB6}a9)xTU z@ZM=lqJ-pl)0zS4!2c>Cuq>-hU?1r$r3mcVrwsDM0&i@wY;oa!*ALaa1=WS`{WELg z7EeW83=MfBQguB|H%e4}(|nOS-|Oek=T~e{w2crzafLgr_%?gkyM5?(h4qf2;N3r} zy>K6|b(&?BE=q>GefABD>{`M&kZC*F-d*cy<^>0A$;+k*K03E!__r+jytFdEXE8&T zd9nbPRnCTe%xn5KOxl~}od6+k_$<>9<>JoJe6NDS!ONOSCmJO{tNmo*=Ml(Nw8C&`SvEjxb$y`TrkoDcFM zy-3lP_p*Fen(5k?^RMj4GFgzx9LT*q^W878VWs2h%P-yAb634a_-ayU_%;jWyq==> zJ0Y(yY3hR&Rv>v<*AJjwD0lg0-;1-N$+mbfXSDI<#73LMh5Y@wd6@HWu*@~*d@mS{Eb|;!2t`4vs)oZmTg!pR)=P)79>Ej}G0r>9 zm^Im#H&uOeOkO6I5cKxo1<0iroLDGxG3&px7w$`~0cekOIC^bQf3MhLI@+Yflb^~( z*-}OO%mT4>e#zR#P?Lxxo`+dFPy^=OE-J+|&fH(lE)3v(exOt3-+<$(KLE!W;`~+! zi*Z2RO*E=TRck*+DU8SNZf@C4E~>I1@v?l-x+(e`91bopayJ8=hW^$yk8$s%5MRKr zdo;5BwTT2)R>(J0_q;?0R?ldb?NgE6^3hj=g?*qj-kCqOWw91Y=oo9N)lCDHlrg~F$-7eDD?*?N3{WPj2%|^E%mf;W<}N^9CraiUm8_6bS9CaMZd75J3T>{bK;&WV?`-A z9M?oQRNdoJG+0v_@dbNk%Q8cHnSF@1W47QFi~!=tii;3m=Ib60K*XOBA|;@j`Dgjp z$9t5e)sxj?ejFFo;p0e2UbGiQz7iw-+1dDfYHQzQzDT=Ue^qU4V1SlPV5KGd zhh+cAZ(PLlr^l24D}E#!w!PZNG+7T@C@N1kum^Ms;C!BAb7V1A8ACpEV!`D^6uryZ z29}0jnbIqBvl`_j_Atas>%q72Y_Ezpxo99=q3R(+92glXw!8t757r+jxsB}?(~CU3 zJX)oa*69!P`tp0b-)qRG|{f7QXydo9*R#d)hhUV4>pd+Pz!rWsaKo6XCa#By*2bObUKrHCO>g8amhe$ zxdZ#%bsljIVkTxp|A+#a%~_l6-WBDdP9&ZbQ#Dw)RHTNPQ3eDDQ%O?{QUX)+Yuv3d zI@IOk>eFUBIv3pV2Ek+8gM}YXsCF-W07QnhIkK^vwrk^)cZdWXX3j@9@twtRdoHTo zAvRs0!~`*gQTl2zMbQnPipkIPRjhKU>#Alp?7IgD{-tHZGX%x;JB&%K@mf;c6ML^4 zcYjgb%d@nL7cDuzR)h2F{BxAF0`(N!jNEATJ6^$+n2md_|8{0~D}bvZM! ze=z;ro3P_y5;Li!1N6keDq0rP6Fom^7)-17oqjy=_E9Gy-GTwcvGrM-r_RIx*}5L{ z7Zm0Kfh`Do2~2;!wt_LjII(J4?Ns;AEC$NKFTuk7@i%T+bcioNA?Rm{!W89H&J7sk za|CR;^5j>BvHnFXmmV9$dd;DQRB@L(s~utYTZnWnH=_Icp~`~T@e0G0!Sc==&V!gY z(>pwmA4yTOQJ~`(-x|UMY^Xr@09M4b=*yQ)O3lk=9e*O(tWvVV_2{t4`AE16alrf= z5G&%^V85pKdTN+CHHbaQOf%4r!et_F;*6B<0gNRXFh%g~Rb5z!)*<#LAYPs5(AcwY zm3@)OhG2bC_Dy*^zNUkD(X!Nx8gVrJ8!US-wyN(otjD;*I2Ws7t&8g9iPh5|bn@Lw z|Fd*;Id>5;TCq+Po#4t@!_ijZu~E7d$7DpAGdElk zaOg)Tx@4o$PY*mTNup|m2har@ykX(<>G{yp-}Zuz{SNgy&HajU)!SMi*gSHsQ=Zo` z94+2+Y+8L+k{WM+kp2=iZ?D^v?>hyba~{nH{|#YgME5TvLf1gIO7Ed|#-*c(sP|yp z;H9dh&wa``;kff*2D*k@4b0{HQvH=$gm)sgnJ2qy_0jH^+LJ3W4Go%#d%x@d_{} zd&laSEnAAjfQENqPIeXE@<`2w@C6B{p2C8_l3Oe_G7?IJv6Va-pEji1WYiEa;J z^Y9r@v~gk_l{c|Q4_bkO`l{$(U-eHb4Z5-$hkl$`Z_&#OZ9HO=1fKB!bo?!dA2^z^ zVmbNR;ILZon;!9v4`E2-A^j&QyTsPtHK(Yd@6EtTkM&|_LrP9?NIdN4hiN`av-_C> zcmOaCbmm4hr_OtSYEEl@I%fQE#a_BDpejuqqy28`n@*iaur`XSL0)ObGkvrEnLS~z~6wCU%0zE zODfa<^vQ_H985d!Tw_=U8^{ca=W8pMa3cB+g8{F>MOUH%9CYCbw{_?z?JKV4drj1* z7djG13iDkA`5$(f{!a?i-?+JAbX0d=#EvZ^u5`Z(ONS7PG`{}+>yUZ&l{+71N`P8Zopj{EDlkTz%OWt)BZnj z=7#lC$9jP=0$Wh+_6rak5Xbg@MFbG$NDjn$L%rw9{lViZ*L4>9p|}BH*nWr<0|O~m zXC@>MQ~p8{K|Rk@<_m$OjG|fr5v0xv=rvNrmBUh%pf}kmf?RS%wdKpw&Sw>XZpSjm z-R0MVWtL&rBSX%?l8IIDsntf39FycO_X2>hW5wP!kIcV^Ehedjs6aXXK*C4e!$#p7 zy!47I5g87rxft$N-4)Ud62HA)LzWpIUPwS`c#qhzI87UXLx0NE!osn=t3rH9B(+iv zqal7>O$AL@+t&4*P(u<{ptBbRaZwCVH@LL+1ns(~F2#b6jINBAEhf$#j1MeR@xe?z z>jF)7B*Nrff2ys-Kp?HG^AM(>Mt@Q7Kr)N!mKo$!jAdTWxEM* zWPpWPfV7Rg5bXZ1jakcBX_zM0jxHWC-b2!um9&_eJ1 zVwsG-%5q|9>&+?SJ29jU4y=}=VW-)%URE195>aew6UG)@G!))`(Bprjjj?ipiyW;? zWS8o_w8VIGd4a}r7Ee4GF`mycqtviVU%GtmZX3Jjm~VPlDOAJl z)SP5Ly#QM{QKX2J@@d-EWInTa(BT*B5c`j0-^qz zjjpEt4mMw#eJ|pe2L_4EBsp5x#QAp@Y{Hn62iFn3Y+}swP*P$*J?TqjRPjQcHhpPq zZiI9Gqg?Xb2gjzjp80b>ZjgS1DKXfKPQ9TB7G7JydAWY)w0@+-L$_B&yOlpl{+rVK z*XE@CMsC;a&*lVRNoSV;0QS`TaaGSYd*r@;@-ErCuvU~eN`n^i{kfgtzl6T`i>1&< z3=cmX3wUrp@KgcWKZ7538Ekxv%RBw!(_$pj)GG{<_k2Bw2G6lbm?G32i@Bp_lNN^h zOQX=JyY*^lR8e;7a`JhioJIV~zA)9n(4E7K!*3Y^{T#rY!rb{7_>$Afgmk7&|c$ z{iRpa_I^Pq)D18bO>g2wdaf@P^=lz-;>6gZg`Po;b8*wPbqgsXiiFqZYnCRZQOQwd9Z2>(iAj=QmS82 zfI|68qZqROn>Aip8mzrmA)vt~uxskH?Rr_4U#2Iq0t7SA8r2dl1<71quUZ3Qs;!kt zTm!PS_oOSG@-!Rc=L_qB1zUYr-F%dpW{$1~8Kida6dqZTZD%}{N~soQU|nnghVwwl zGYk5#nv-lbgk5)pqax81Jz9TD13OhQsaAnkqfhC=2A3rd)Wl>P zP8T1U^H^ljkxSnG^23!m_bK(TB?qv~?e;k|$1F^wtmZU9==M~^Zl2NLS?x2tq5oue z(-F@oqWdYhQtJST1QxeYo6ixjDztIgS`vjvE6G%=!~EjQWO$Yf z+IR7lUY6;Zt|`(v6t8>~ROq{1(IrbXW8mx8?>d!4k%g8t5cMAeRcn_l9G*RI3(mO) zB8_;w-CSg-xd0(BXkXDD{tIC-ZIFyFpFsv5|ja zWqMmAb^v56(CMwnp>w4lC~aOInSv1opvi?ptcw%^Y+-NiZ3TmH-iJSJ@wAXuzst^V&)=#Te2nGogd?6BV_Ka_H-aGk6~g81O7uHC% z&rJv3G5^#)+cA(4t9hn?SMq2ybbGN1u0*#RB;0A(A~N}GN+xVp{}x>F2}SxQt!FU% z5#i&l2(?z^Qq1`BhN$Wxikq)=tQI$0zLxF#@pJCUp^NGLwqbuq=?Qd)C&-&`0(M{a zt0a)#nplNBfc0R<4al?VZ?9iP9{q_&xXMryuMQ2mp2h>{g?_&WJwv^}$Med{q3^$; zkBD~X_PdD&PI=g=N`Qk@avzrKDch{zj%D$9OXtMD5x_36IeE<%ZN@|%?C@T4R!54G z|5W_lwUAx6^xI!M{|e^4kcqkrya2*wh`*()csLsbR#-DQIhk`?uQBaL2Aj^=42<`l z6q`)G1o9Zg-Cr7#x1aKE>MkLVX%c7hmkjhaG~W^#&n%+eQm8icSM+fOdVpZQxYCnc z2V0%6Cu_f@sY^8t;A&R61pn^U>8>=rJ$yz2ZEOQ86-+jwP>_??*;yICkE(ey>lQw& z@w5LK*GrChBT29>(3TAu-p=i;-^Skf3ZYW|Lhew3J-5XW#l6Gs9A(}z(eXO4Nn@L|5? z;i1Y_ipA|O??n2dR?ki+V!^%du65p3`<;G_OoIkv&^7*bN$)XC5kBJV(lP&sVnG6osogE$AuU( zhr5B@A>K9jRhi&pge^@r6ZhwX8OZ^gRFL8oon9p42`egF^8nh(^Zx&{5Eza7Bf-K! zA0H__#l@NhT+IHd%mH4YILFe`-U#C6Mtd4CFg$ewJW1Us$6^GRZ+ginTA;1R;GwVTH=)8wq9X!cEg2y@tW2)XbGiS9u%uD z?Q%ucYReOaq>mqRN3>Zgg^b$AK2t~_Y2hO^ZBsxSy*VO*+a$TFTT-0xc zx`-fevWU)e#u;1JSBbvZh5&~eiO=`Bip@OmHuz~?5cBYNuBPjWOSy5NT7|V+M3eF{ z7$Ao6ae#N)%FJ-m4Pass#8wvPpuyE}IPPr@;-$OH=$@#5*p4{%%d^alaiOyQ$8VSe z_lz@&WH2uqL9W`-O;qF(u|xf{lLyffuRD-S*cUxIUK?>ou)MZJps;_!PIE_#46;2d z#K0_~<|8bKg^OB5zKH+iS$SkkMa>!n5c}CtnYfG*fw%I#`Ll{j?-7cGVlXpduzmVe z726T)R@fB#^=GP9JYN6akkfZ)ou?pK%G$X{G?fh_Rq7V47Q+|_=8H|%?V zs+ix>@ejQ7JPgroDtPU3n~$w|BjE|Yw|{^NosE{E!WC)lZ(~jlz^;F8i$#&bRlKT4 zhbz6dgC^0Kz6q>D5EJS1YXt9Vm|;@Cbx^-D<)Qvasq|w&`UsXz%9^g1#l88;m>*9RfE4CYESfB-~E|Hb_h2lJ*-uZ_kXn3hoX>*_C-p_eVcI zIuFjZVa)2B8b5DfbhXs4kU;JD-IEIG*B%A!_%{aCP{>hY#=I+U@|hU9gRfYS$o&&O z7rdVUS16wtUEIQCKM75+8Mt3RH`%=a4G$ zFBIM44uRO2r!~NnOb4Fi&dl$TuDMFBulb)R_cMVDZjIke%hSJ<)SSKf&-M)jm+sC278&usL4(lD|e z6*vli+6dkM+Vc*3Etx+;T~cWW>Qc(bC=?s>!qqnyqJ<7@KfWe68SmGpy131RAB=Om ztVwczB`d8zO}Xfj_9&7;fBL`3N~becsa*AqQ`dRd`GCVCR4vM0G&rB2@%7(elJdCl{VBpZGiWJyze800VNaufVHR)M$27v%-HnuJ?) z=|o{0+gjsW_lWPqcyZ@eB=0Z=8UxzjH$kVZ`)l-uHvck_JUhDOd43>5WgkX3N#qQs z$9S%K^6Lz+9a$IpDA`^ubG*J}yPE{ZSK%o7&GMXNM>Ugn2&vNii=5Sha{#W}IEId{ z(&v;Fw=UxD$v)B38t=2y&4 zkRFi#lQ(}%qSdbj!U7|hxy6Kk0SDYdDWNJ@XZ#e&IdOOs79J!9ozo_pX(x;UUTt` zhc8hKpDjHIhV3{~X;B77K57GqV+DECniuvg zq>1C2#Ql*lbhp%VF4D)k01C8v6FX0u@v05OI}_SeO$TJlU9{mI-Ja7+p-0?E)PC{* z1j!L~T@rWbKC^YNBH}DGCtGJtLk7(kutsDxTn1c;w#0*T7RC-m> zoat7I0c<+to0x632Rb>x)uDKBDNx0?W<{R)rZezFGn?f|FC*P1+DpD=N+2p!ARkmJ zppE-^!R~Z&1{aGL{y(h?StV_NzXF<0UUtOj8P#+Sg#MjGU?fazp(wVNl%kJLtw=Ge z$mW{Th&oZM0^cw)ynGIiWW|qB#|@KgyShiiD@o36M;x-NZuMS`WmCdauVp{of_bwX zQUyP#QWYS)3Nk%aLLnBpd2Fz!cjtu!#5wgRFR)Oy77PcLGRv$XJ&3eavttpFR);{( z7fa$l#P^SB@>n_e0r^>NX0tmgcwcZpehr*fw{K2oYFdL87Fr+(l)pFNcq zf1oWY8WX)XMDZ?Vq|UCOqk$W!C9S*8@lzlAw*3HiW!ioptR23B!@lzZ2*lpa9 zQbmPtG3}C`z3p0OX#ZNGJk}~qV!&j0c0uj?!gH}Qhtc=52{XA8q$DIRVsjXB5)u-f z+Ax0Zl!M<1TN@>T*iT0^Wuw>@01M zyj})Zc4l!);vK$djra6J%pB*Qj`e+|mAT1$&rF5%;DPCj%<~f1r)e=(c_h+QBqVn> z7I%pv?;sg@37g$3?(buWebMvTA*(OreVp#zMZQzF9=f&Bn)e6gUXveEPm-H@u7hdx zJd^jWc;@wP)2}{Vqx)|%9~{3a$1zlZH++1?fik#1E5!c$!{<>qnJ<$$#9X`7aoci6 z!#e9FPNS@1YzM>0p>vcrkM-L!)ZgN1gdDO0F^6Ttr0#h2ZOZffbT$$`$Lk1(y9^pQ zweqKPmJU-sF{9Qj^>Jk7gSZQSb9_3%s^QRp+0c^B$T`NClEup2 znI;@OmQrPGrqGaUug*)qf2|;!oxQV#WK&^3PGASu6IzC9_fps9Ga*>v^6k@eZ}W5r zoMi8kaVpBjyZ3rXiXSh3e55Ty`Al?;$$Cjs0Zx^z{62l~_{@v^ba+_hvFXOE*qWz8 zY?WdcaubY34v`j{d63TUVDNtNfuIl$zx#OcxGEhyufIsVGTSB17j-2<1V))m4`I_B zQPJ#x7uWR4@CPZs`gI>QK+cP#^ZTQsfyF!Dox_OVlot1^!8e3;Pv=c$;CM{z{ ze9GvWyZ|YkIwAhkl$(H{SvtNPRLpG@dpz+Bs{loh0U$1S0X^P@+X=hr<#u@IQHWEIHC4z>L5$_#%k z4r=Wu^d%8o%Li(y?rD4-$&AB@d&Vq2QWuJqGpf+9n0sPuyTdexzOCfRyT%x^79;)> z4~{yATzM(w>9=990e^Ml!JgfIdmGPTQgx;}kR#!1|J?x+{r*mO(_-p~7rQUa%nt>Ou=wqj2i7)}bmDb6 zZc=|cRY`I8SX#|jKS5nxdBQV`QwQFfriy&Z<50I*7(ZZfys}SUhYI&>$UQn*o!sNu zh0DmD(=#F`RylTdmaT773Coqek4BqypLFT>aG08CJ*tffpMsO;^Q-7C9OdYmzF(@5>>XgeS$IUnt3f|Hj7MhCQac3)ytZ)m7S!wqC#N<^*ee zXb(IMm~=7il$dQCWs9*gw2%;+P_oz(UGw<(@P+bP8>-K&Q3A8+$LsKfosCWXxMW-n zd8JkKX}?6JNW(M?w{%%@j9#dzfJJMyaPoBwk|wevkOc9`a+-+}{@&r8;&9B}NJlM5 z5cPIBHQ+6*;@6ndiod$4g?A*55Fo$c_?}jMsK>g3xAvVtAmx0f<1HaE&y0y-Uz>&N znEOLLQu+UKM>gZx7HbW@cj=ZxYAE~14cW*!7hiyH(`Q`sDU(v!@q=;}{Z0$?s_9<; zcuMPNT5H=&#z`#gptf@j&pPC)_giRG_w7+Hk$`6}pe*j@GY8g>Cwl%=s6MO2A6}c$5R)jBgB>%pmdKoTk z?siXs@FoL`3#X%eviA!S>U$ok8({m3FOnk{&>6UZ*p~16#uNd+E$u#CmBTNcqOBtK zBRTIlZ7OFH^7x-cxvNIBZjo-ih^t(^reazXQIrBXC=*H6O2+i0m zA)g`l=Rx;WpiG%Q5b8R`M>?SybG9qP$1&^e&!}{7841nWDRfQOVj@~YYyI+NxjHUy z`%&XEbSUs^1ivnr1Y?*2&Dn$uuy~EHe1zDiaV|DOjmXs!T~nAzH&zmcJnOpRI1KWv zr^L9cVt1zDJf3uE3ky?6ho#Rvk^eZ>wFf;Te~-%g(*`_8eu+vUC;{1!5Pn43cH;D{ zhp=y|^QmR;V$Y|SQnT6`UuC*{sk|xMO1ZUlJ%=B^9oy-AMOc{c@PK;x4}1N3C*x=h zow;q?vnCZ)3I+|>j_$=GTynUb5n}?J~nZ)HNF36E#ITiW-7@K$>X*NN^ zHK+xLxRWLxrcSFGM$AbQ66yo_Q%|U?xP)1XJY&v2Qji>D$~CodjSZ4kSXdXhkdowh z%t2in76;*P9jx>GdlnXdDZF=j{aSc`8_07{FX`y4P0FsoH@G>+c6CAG*3bEd6yeBo zKejwDttWgc*IM1Cr}#vhpDMdC)|D+gs5pADw8`$OU8UFMZ3*>F$VvW4S}7Kq^TGh@ zE&jmRi{ex6H9a8@Num9@VPr*zx1yH|yXCY!1w7*&_p*C6qto;j9eA3QYxV<&KARj( zvu?47iM1YeeuIJXX+|z^Sny%>(P;sZky{jM=BFW(1PNSy_3k6#(tB5%g<3&^(}Ziu zsZu!$j{VM9kfB zv=s7~sWRO3B71+Xupn}hpNgqv3xBOTwv*GxcolnI5Gj9sd7-C&L-BX6}KX~pBUJ23jrRRidDpFg`o}Dl!}6y7T_>l}RkREw3J2;9)v6 zQ`|8+i!?u?2e``Nk-vp@Utxs5{4AvMJ|b_j_fn~Vqa~%Oedgn< z2bvf)KN(|h^w6Em!lf|mVp^Z;&1|$TG*Ez+-*r<7r{+=8mLBEK>=fK~Pc~z$wem*N zwj$eKLbIa7?a9~TNYlMvHwInVo~oXp_-QKYRk=&dHQl``tS`hfMUQRdgLn_)blfge z!MKSU&Qf064U_S*64?D_!vXRFS2Hi}q<`DxcF+&`>4`;mx@G0{Fx|OI!_`6A>GB4n zuWs|{efJgrj^O%WjJQC1R(Fc=aVpK2=D6ZPv9|n)&$bcz6?w55ozL$d%1HeUj``J2ejkIH~H7q{ikN+6oA-qX+#CpAylwWuE)Lc*3>9+ien>6s`?Zx8* zYmhf6A5kW3(av*RoETL3_TWvrAe*7{siFnK4(h%|VKWaJryu@3w!Fxv@TOFr(lo%{ z5DuT%ZBbc)O*ydUrf}0HoqL3&C)I+LUYC6dl&bT5NWK7?>esXfrchJf49*)>Mbw zUYE6=vBz4E2D{e`yW#)Pt_@EUGEog}4nE9j;k_UsBDGhqo1S^B#(+XyMeU2~HOqn| z7dv}(bzXx6UYi9OEY!Dycd-(LmzXfqY6*M0I{0q=qVXpqjB{zc$m4@J@?1BUTns)Q6=NB zWI@qkm8>)SO3&%Ruif*N)+1WuIHV#$!dJ@@(o*iE@!a#6!yE=t81buitx!H4LwedM z+L71S^Dnaj+L3IggM%j{xi?};;JbZxx?B_Ap zm>6@PFegKc_<~%otFm8cb21LC)FjD5;Flti5138N>pKwX{jHBV7sIsioI3=v@Nhbg z7u&Nb4=&z0K|-6xyk?A1Ixe!D7yf%a8ejMTaKJ|yV26Ti^g+ z!#uj?i;vLRyDb8vt=mse-uDn9#0tA-gnz2XU)?_`qy}YVRx*x3T;*O38S$!Jqi*9= zUKCA_Tuuee@>h}X#^^lOy~%pi*F`b1EgHkUGg0%~@k&-t7AgqK!7R^Hm4W9T>z=Hv z!AUw+);!qL>So6t9maEbuWfGpVDr>*y6Bp-F_(?7_wPO5!U65CN0?fakFkL=GNGDE<}DNh-q=>~Me)H4JQu4pU%Rz6#e*W}%(onrMwLqJP40 zID`njvvY#rYYq=^`TTY`Gb9nO?Q|bO3(dcukSIh5>oGOJ-oFX|n}h2M+s2D%;bh}` zE==5nx^yEY>Qb(HAmfEiS7%QxbueLLZdRbC+N7I$| zcWyN5kIu3>%YUiZd3MaAGIC8aZsatZN6KuTOn1-B`QWYzIyCtG(Ff6~eIJ$SY(Mp| zNHgZQ6DyH%67Uedp*MJ%^O~Ww_BFhc4wW_5KU(3xprYOq9cJt)NZ70XC_$aaAJZ$T z^ts1O=*J73Vubyd@*`(97HUOGs|jJMEGi%DOhB5t-A!ZwTpaMY^GPN%C#Z9(vvB6T zXU?pt-&DTuldKK!t0a)3Ux`F$%51(UzN_7*5+JlnBx2Bi>}V{y7YWVi%^{074@08E zzP9ea~U1w8y% z_(LKYyTKam)Lx#fyomjDEo`k3wyZPg+$jTW)+i)KORf_DAsL5~A5<@U5Ly`fE*%$0 zctPHI`<`*veMmirJx>(_mU*gkytS?74*UH>)?Lh>p^Q*&b$bGz3{Ijcjy>ku&xUNf zIu!z#k=PKUD7nud(z~lK*FFt}Q~`XkFkQ-Od<3M)YW(}DozskwJXZNQYopNC&2>6S zFC0T3x9Cj?2&Tv+<3fVhuQ{EL%URV`K_4%jC(=fSblfC7cPfzAZ*}FV>Tu7QY>aSy zQfzuOt+d5r?DQK<{^Wu&L0Axedtcw;j=#CbV}LCswn_%r z;Di%z9$q%U@>=yl1)GeU%c?P*f1IlslZ>l^=h%29r)Y{HTEiPobYhHU%=8pHl1NB! z=g{-|p(0m5|AW`mL-A>({*r*;S5{Z?9w8KDLG*m#0d|vRvYoEwT0z1K`L3J7?iQ7T zZ}(*=>Z8Y%%}Sj&9-5JN^l71I(hBgEx3;a>sjK2xNl_<9@xqv&tdcw#=R$UGYV}bq z9h_xAzXC1sD>&I6ifnu68)8|xQQrW;Lw0lqV8jnU2vU9mhw{OJ6#h49nEQJr*AKqK z(2T+^o$g)H81dRLxrFHX=*Z`ftSTd^PHgf#2}z_q6+*{+@7L>D z#;R=w*h0m~FSAN_9w^&!dDBCGX3-RLZKw?|E#)^ZivA#x0q75s%ou#HX3hKgKBkQQ zga=5%j}~InEz^vI`?_*inEqrjzQKL09Zy5Pgcuw!!t$EZe=Nc8cxX1Yd@k4eQS`|M z$_f&68=BW%x%Ha9T}(jl`>BT87;$}`Sr-TfzDB@lP;QBN$il`0>jYYxXv@BT57OURqnkU=c=kcxVnb8`L zPwQ?KWb5_syRK|zC`ia*YZTf`w$A{Iwiy=G#5)k2v9JS&ESLNHogHp=uF*AvymC+y zlxQPA4II#$elN!p9J`4LRxJQ?_+(|P8(JG2xPal_a(_rOrtI97hEUfETYd&FLu^sl z3%KEegkAOJPB<#({$;}#xn%bpAdyPrA z4B(gSXXi9y0FtV*s-tMO{w2ZgI#wxlGV5&+93~vRGm`8Rs_{EMC#Gqrz;C~+oB(jb z33}_GL?N~@NVafPZ5g>|`ZiQ;IIYg>wXiLsQ*r$P4(KDGMo2P(8iCNKjorqPAC5fL zJ9w%!Xy*SwPW+X8zTd04%*SzS(fI=Au!-e10G!GtqBRDhHTLK!?Q+gQ>w|@x!rstz zOn)>yzE5z&i3U7d=Mm2ewayId$}sWXbDlO2{ZhIx_2`WFLf(y~1fKWK}rHh^&;ocgo%);uw{^v$ykoyv{kg zy58gS`F?-5-}T28=bYDbKIZ*#e;i=Y4s7Dz@8|(?9ObJ0%=tr)m7s)$4sqvadUe4z z{XuRX!-|(PugRt*fa(%zVZslL=MtyGCcT_P&$hc9mzm6tDd1&0Uyeq`JmwWIS+^zr zIt^g%WX@iXBPCZ&)c>}%PAJ4;vx^6>GHhE1hBSdo$hP&Dtkk&l;JUHpJ@qgeGg7BJ z6V%Ux&py}|_~MhlNE{~<$u&v8)NSI*)hZ*!2}S;7Q+G;Mg=EG6-EvC9dgU@uLvU1d zgoo{FAjDHC@;r^7qA}pKkLX{!m0ISHhd-=>gEKr}T+z%yGVAyNuh!kg^ds%yERP6t ziWvH-?WEwuMJf|mG!{T&DG^&_wWlCoe0z#%lBa^HUDi+|tg_+i4qi67=+bD+Ec`2T z*3BY7zPxSn{asp5+wiLzg2nP$G(31|9$x%+o=W-7gw9jLGS|d>>y-BWO2Iy2GkDxf z=fYr`T%|?{xpgaUfAUv;uH3!@BeSo_|MRks{loB`vh9o4ADk zG^n)GYLKO=Hy?wlM9CIj4lsdQgEanhJDGX8N{hEP^=8^wk*V+^mQ*?!hPTF!G)CaSW4 z_X97!Sm4o)mUOgIV9x1Stuj&f7og9HgW@C;|K{gUKelNf@_k$;gYtw= zaL}MY*uS=h`0=|8<$_OO`>`T`k!dQ1fKfzDYe%ilPmYV`W&VCDD-GD)zv4Tfa(C+z zn>FT$mqcO`mN7@CVj&$2hHYZ;_FQUAw8L)8@K7$*#*QC=+p(+{RfczybY+l+9KfGW zvNs4lm%iM1xFkUSptVr_cr?a!WRC zv4$QHN0LgMpfT*ugIaEOu;NUO8i{~tO zBey7K54QYPG+6y4>@ZKChve@fW$z6^1I>fK3nG73DIbI!vwnH=%704w%7`4KplpeT zWI1&nAJ)W=KK_Abum3}u=b|BaK31JKb%g_?Q*ro{znq=iO+lfu(hXq3X|$fcYxDi^ z4Ui90ohR>0*flQZCjhG8e{d)Bms0=D4+^z6?)Y-QQP!L5kcBQ+C67+Uqe~ar2*P!5 z*{03O*Rz*=JzoX+D^L9?m4C*@tWY7v*TDbcm>^HvhLH(6E>=HwJZDzCJqtD3XUO3P z^C66k*q;LWFVXQUE^A}AnxH^^QfR)19F(a`3aCY6b=Bvz1NAE2fwji(xX3LN#lM=v zi*KtY*Xg~$Z^~JgV0^d^MJ+^DocyllcpAdzLm-j87CC9Kpsxmj^gJh}^FcWxwA4D| zlfI0Dt=uoOZ?MgOa#-*KxK=2kT{6}weA_5VDoEmXkmJ&%9Y-#)Ns7%qGNs54ieZb-T~c;N`3*0b4>29v@A!Cv9Uuv*#DMCO z>0NGXnO*lu20VTvSqe0~F5&$j>k=t>JrgxvvI6k2!zC|fj4K{}ioW#tG{o0}E_a|} z9~oteDg7uGAP?Hs!nM7~-!k~Eon<1B5VD1Ob+{@AL2}*7!Qs)906K1cz-4aqHZFQv ztbWWSHU+w6U*ZNsgp(mVk8j83JLeraX3ndHIs9~4CI;u9%tPyNsg~d)E;D$lpq|W6 z56yRF9Pb>g&xAUH$E!r+msiqmS9qDf7sE!4$ERQoy`R&Ra{N{0imCj!c%mHQ2^4_4 z!-Lm3P`R*rK&dg}lQ`JozII!XapAhwb1tE#k`8}Ildiqf_h%SiOXUW5y{}p?8KK&kqo(_; z^FEjAIj^(zsa!o@DOG2-Im2qnGPLl5`$$d)kjyON=r|?@zx?A^0j+Z@U|%2SyDM#U z;iRWh0X3S5kcV*mT~^ylg*0R3?L2rrOldR_K)^aq@vxo$0P;vv*Z6#} zM5I@Um5zShNU96EYW63%Hh2A_ghhvmKBrUz%|0mB^NkE~AS_>Qv8_5zU;iIs-83Aa zEdF0C)&K-SBZojZCbShfYOSjZ$uw8sLN-Y*tCz4Q2x5f2~M!<~}~? zdk%aZ_-$>xI{6Y1YVsxMcqel||R61%#m2b{Fjz?t8pESB%%V z<)s_mWyx*%n>4{`ToGg=5X6Fse(BUXeMa;B?F#wM(<|G2mw9I4vOF@(9Y*gM)_W_* zL8?CYuVJg_2kDo|nOMHi!i9kDdxTxYnZliap@H-_PIBDj`{^0CD&*n+A%Okc3LbpTwTGpj|D1y}^ujvXH(Gx9)+iwezi^K{f_C-)t&s;M$#!B=Lb1oO||ZWe1e6v-V+h zpUd#DxnB(g@Lx8PvhV zqs3cpW{k`ZNVY=v?Bqp{UurYS{2;fVc|gwG-rq;uar}2i6=zX#+k+pV-x#of7NL(@ zJ|BGh8?$1^95GguD?P?k{%p)gLQVitTg9Lt{ z8o%j+D`pL#M6OF@G2Ed6Fx7Z4p9sJEn{B77dD;4spB0_qf$*nMGYNYou2qx!H6yio zKy|a`&8nF7a51x<@ipH^N%sc**QwZk53IHV%6(85EJdT$RiQhVUN*QyZ{eUJMa?)7 zviRxLv8k0pMe#p~AGk+K{si8IRLD>loGw!UEZ&3rFfV>d|JwUe!oep0$vuBE{C2O3 zUis^GiT}1)k1p$lW27JqSs{xa!e1KUb)SnRVg%4^+LA5QDNR2ac&^9^o(8qDsJJXx zyyy(zO0BorVB?wI^LY@D(aQ9MF;sSkq0lJ!#7VW4)l!J&2lR?DpnCJJI_-N5q>C>4Nj?OCdqCsFr{{XM z1pNe~cRL5Ia+E(+TezwI@XNuHbt^=g%s_2U8T%>5!TVis}mccuS#QP~$jy+oveU z+dQzgEHRJI)DE*TNWwNkwpC4^LNrWED*xXj%w7L?IZtXd$)pvMm=wtE&15kAHVreW zR1oQ~YaPP6c=t?R(gifl$ojF;PcCmoT=hKcaPtcL-vzGw5L{$I7CCJ9v9IZWsS^N7 zNOs=0*(kGm%c&W@qNFsfF27Tnli$)}lS=RCk#ZUzRB6)wpk4lljK-X)<1rV@=tX>F zvq}U2nK=(~xgPFBv4?sFvaP7+qgI315CTSXjN!pU61-ji1?G=82q5Zj=D`D+T(MIQ zW7z*qU1vo%y@ru{K?sTyP=g5VWLmwO1zq@!O$&Km6A?TRz!6)!7GgGP-W~TJS{nf12d^P4^hg= ztq@1Q`&e?n?HXO+i?*jgKX}PLILB(tUk0ar;}3}cWC}KoWXmGNF@_17g85!SAP z=eJu5BqAFUu1%5QqvM4W)?v1Tm3j6@SW>YM2CNbbXaeM+;3Mw`<}wv8G+oBSR1Yoic&YlCK}2p>7-FL;riw__p4^%~U{p?!8;&ev&COp+t?Vma_$gu1?g^ayLn= z#J8ksDjdP_h+PJNfRS?PzuAbJ1LTvr^qa&pHw084h;Jv&O)8>-f*1Z1ASFRPO?l9S ziQajVAZ5$?{hD|PkNc8811o41AnSj{?l}Ovzw;Zr*X`#4kMrMXN>lD$TrU!Q9Ypv@ zIU(|al`O>S)UpZH)L@wa4KNgh2;9&kE$P^Gv^;Tqr$G+60QyH}Ovy)jFYwp1*7iYB&Ws@jor1rnGc7fH!1ZmDM_>k=&(+8U}Om@P#^YC7P4c$d-&x0REAiNPuop4GJOsUy%8_ipT*tD_M+_ z6clnH z6l**%1BFWg?o++=XRWg?z)LM~E1zc8Of+$=KT*n)6#nn0%x~gw)J0i_x}}}}sXzo)#9zJyNRgqX>+n0UV*ZDEky_}0EE~x!Ar!B4 zB#YR!OL7^{EHSy@e00LB?T;`}E-XNP_nn*9)FZcHN_Byig;GrqyG}zD8Z8wS5A)z7 zsG0-y+2}INDtcKz{fG4U`=Yy)9m6F~M_e=w$sHkYXi0fEl2P*2S$pLJ!NR=A=JiJ? zYQ$=rLMiJA`yf=x?EgrBzg`&8^;7Z$lOCNT&DUe(_3d|IDCV%n)iVF%Tbj|5`><`g zQN^R+reQd=ZJu;`5U?;PmrgL>_b1_n*}UXXNM}1)(!L$jS1Yy6R_lf|Gy2_Apd&$9 zN)IE``X^yq$^znkzi}veT;akT8T@U!jCsTUmlDwZ>l%WA4SJ|-bJCE5%{w9YxqC7@ zxD)Hcx%4|UcNh7~(VYRf84U#d4D|ef`953>4CTo2*Wv+?KcD=c(+eTK6wn_vJrvwQ za0q! zO)$|5H7ZR1Rw(&7cnGRynhq3h`^tnSvw1vhx-vJYFf!T)axu*#fapHpirf>KHo`=T z;gKt3Tm#u{H5*zu_o;5h#V4%&p|Siw3XNo3+@bpoiDptiCD3gX2S)QZC=RKtK=qqT z|8Fs#wqqIHt(?0X~nnWDapa?p|Q8_7Z?Mf)Pbi&RM#80TX| zw;BxStY(W@1%(L(G;u%dO3P>`G<(FJ7~Ei*fgScib7cmQ`@4*~k8RBW=@Q}~TSUZy z>~@eVyR#rKtD?z)*!ltr3ZQ~B4}$ZCJ(1oh$-zjk;x-ADxy>|M?7ulQqPlqu;#A#= z-8P^6x2ctnZ~rITLmbmDNHzdG`$cDs9?cr}KuY;8>usMt zi3@0Fq+e0Z+LlEo$wOKEHmKpYB7Z;H-&hL;kcI-vpN!$qi5ke${|-KrLp9MI25)%r zm|cANlfqpKUlSLHr_P{PgNRbj&`T~$aA$Gx_JRx0$8k|6ueg;Guf-J(sX(Cko0bv( z_^{XI4VWXFVc#W#d}AwUx$v=2n~KvvNJU`bOe=bA;&N@TxdZ9vb<@wr9}-u{+pDK1 zI}^nFR{lVuYq^l5(}lp}>0JKzq0|mFWuUl&6t;pvf4ZjxJeT1#{O|q4stRD7_+dQ; zKD26r2BM|sLrMg zk^$<=yR4s4>y?eWyai04_@3EZEK|ao?N7NPhf~%&F@SLrKYm?Z&mM3U2>-AWQ~5im zPgC|rDRCj5R;91vj4H6K6TiLWroS8+xFMao?6J4jf-Eo41#n8)|GG zgH#=|9umtOl1c5r?0Am!OiJ&E)Cmt#sEu@zQEEiVJvgEIMWlF8ZG?z{MRs+-VvO`Z zV|&^F`5V#Xz<$QOVu2BIDWi&)w$C;uVLJ?CH9O)jX$Qz>iQL@<%|*A)eRiX~26Cx&+A}ppS+^D7&};M0C9iqtA3t)OKDVb_Ks@zM+r% zXV8WDGw3?~yB;BOB7G1rU(KwQQf(qW(PgalSTNedgfx>YB2Y{=w88&Wodet%gbz$>N1Dh zioIetWCL5EVvj$bVu|TL43YdPO$ajo(Q0HmX{!#6M%BD{-@>6rK%uS&YMw|cVw{EU zj6Z8(K|-U6JEv{Ql9HrCQN7pw!{TAn2kO>>z{vb`B7T(rJ168v@otj5xQej-Cs_Bd zbkc<6V%I-#+^AdGcNe!%=GsD;D@Ql6>YU|Vqo97kuO0uwQ~+8T%~F?595u%9?RfSM zr&R1c+9H2}jQ@n$((~X~zv>n2C;QejAxI2``ZOM8cwGZG z`|pS?+O5+-LTs0OPt*P#EB!l(rnts<78Dd36)XVdvs1%_Clq-i`?tU^~rxS6-a4$K*eysEzJ9R)2Y0n#j1)h&LP{I&3sTR)pAaB&ydr~gJ!xlHx!(akg{17GJzDMg_Dp%g#q{xya85{m*4 z>kPnnam7vF!Ab;RLWUBl7oEo&0VHFn(0}y`}Z0M~0g4p~fZa-Qv+A00Uf} z>%+cI!t!Zntvu0o8{Dhy!-A&8hzK?R9!=z-vxa^UbaLi=!>@54Be%R(so`I7N4>8*n>`hoTM0MWS`aSc->l3xq|%B z4>f-P^w$8c{YNmQ{)3Q4?yg88(HNn^{vhUjoNh0p(~P@ncMaQq*f63eEj zQeL(Z@<`+$i>! zYghFb@Sqk{ro}{`Qi=!cs2bQ=lGTyMyOOX9M)jmj2YFAaXdx;fk2g4$KDpgZtOEU& z$NmAV&kAb_rrjf>>LBH3Re6B8ayfQ}hYeV~Mr5f#G4AS|ZGX!IRE%RV6)nony#3u2 zZB8RsFoE%y3RH)uqhD+;0Ae6gEU}Ji!Wm%k>hB(24cwECt?e>NKdf!p23RlHAyT*B zzapE!DYIED?sIn?OYdH(7skFs8*va^6vb*FJ6gxrJ}`?Fq*d<*M(IezPJqpai~R95 zZ}5^}s7imOtz+lshyaTp@i<#f2UrTog8tuZXuy5YSf}>{PajaS)zt-IM;esldre7S zkm{#Hf;8OB#fNTfNZC4nS{%Pp!`kUztyhou+z%u4(&JPE&@MAzQd5kJH=Kn|h z@_4s@_Prn56;L=Bk@BHP0FHrLv%jT#Ki=&z$^Mb}%Rj5|FFomD(fxwZF$X>CX29Mup_|($WNB59-_vH$9;A@w*wqEe?)SIfKz8=E zYlba$46M8@lL;2!x1%$WhBHDV&lVE<4bgPImGK5?x@_+DfV zNn4SbbrC;xUnwvy^(CLi57S;raqTGZTjpmAp%VBvEF|=7=S66VJN}=dmo(tPg8_Hk zbQG<31B3P(r+vWxoPyFDh+Or)mT^geFQ8{g{KnK{_h_CsngF@p2_gyQ!`uAvGN`k zz*HAGvvaqbI`1;?aTcf({ANX-`8|3y#knEkmhY-oew6Jeh8Pf~7YC{0)1X=cJgQ=; zW=I1wcGCF=c**U0C?af8u}R2)Zs{DRy(*bfpChchm-U|d$8lWNecvlbh=llpu`R?5 z9kk~Q%E5am`BOc2>-dtFk3%hoLd)HlI!0;SRpClu_fI-6wnCkyKM@s59|2(}x`)DPBg!^( zlqpfXPSdU2k*2WuHXKR75)x4zfdAzK1`F!*kP*9Rb+Fbt&s_B{Cr zhV}qSsgONnhAv<;JK;oTe9oCx%L`7%yj;iMuKlJ{XL^2I&A5$%a9}(jt33Ha6F|0n zFV4cD^n-R+w_O9Fk6dJ1HWAj%0o2?EyO@Pym~w|bf$VEwB; zeW%ABadkoH;Jy5MI*z-r84vi4T(Dzv&w zFm>ze>z+;RzGZWYEa;~xr;E^MOJsAuAfc@3D9YOD(!@0o)h!h9B%35H-=3iTIXMgg zUN-vzp=B~X0%&J{hKRvXS)S0)p}o3m)%q!A+41WqUi4(d-nCuUb&x~slpz!y?~@t= z|Mve-y}m5CBXBGk`uQK-uYQ8RAHtbhwA=30HnK45lu!&Jl67}AL0`ZBDWE2YRiP7k z3I09wrcfA|Z=(*^&ps@ggNV-N zgzi~m4%^Bgw)*0To4{{bZ@eRiboN6|f8boGst;Es%LA71Zk@~C#f#^r%gpZ&bQ^Z= zn&FK?8}{M9B?_L7gm2K-kA8e99cpj*FQl8>c}BA_e=;7_ z4NsKUeSFI(x>8TdO7Aj~F$qM9-fP6{`xCP|~XfvJ= zNZ8jgCz>I@fwZx5GGPxG&dj}yUNt*TU%7<;k2Ss{58tsUTVCVAWB({0L(7}H+SA3T zu$2N~qO+|yX-M4Fbz@l1J>4i@QdRLMa@05r1TVjhikLWkG+W;Qo@4h@_|g+X9~L^u z;E$=VmsYOu;`6smuYMzaqY#2Ht;@~_caXwi28k8LHNnSB+QP?TTtcX!MJVAe&YA z77%yE?DGt=%F)WeHeex@Kgms8?_ozarWLnDvc|p^&ZKZSOlQWGk;<0{?!vkzW|XME zhSc_AN#s0S$)itw^5i=0wfD1C6?e)YQK@8_aSVWjf{nI=2OpOUorl1(GOQRi3nI=~ zukYH70+b<1wsVcu`jgx>8-ZDJ3;UD_+9v$*u$*KtR?3f$_Dt(u;j@zy@hWd=-E05$_CX z+x;hpyt(v&h{hUs2TsqSJ>G4y%}lWPPf9+bCoeO}Z2gjT zHt)~sc`H&{I&wxErO@3O{GG}hnd;0bRJt{089N-?pPwPxB8K z_EoLbKYQp?-VSE6cSHo&(xWOzw)mfJ3*EeBxv1TA)UX9JlCc=>z11)oJWcMw=hRS-XD0KMdHxhABS%* zS$G+*@oj-4>OWk{t0^{z;Vy3X{nb7zzch#sb@q`rjkEf_Y3Kdtt{JU0`-!qdo(D$a z`lSq_k%kBV(T7}z-m2LDiGD$A)admf;seTsAg_LJ`t)>>r^Ha`z$*TbbF@B$76!mJ z;t^soc4>;z0&1C@2O3;ts8{=ETTQNN%_eZH`GpZ{uaPYmf}{VfA2N>LFS!kU3(bBO zAG?kD&98x+FD!W3p@>q&yChs~L;M>@L&RKN0^n6I?YpDF8})2!s9ti$E^SUMFCE$XAWKy2 zb@hYBKGR<$&+jd)dGk5fp^9tp4GT9g{TZ+h5Bs(Hs;;$8k%#0xAw>t)4Fys&`TecT zwB>~J%rBKw`M@Z+jX!Lezmo~N-jBc4^;2%}fWAU#_RL$V64PEvu@5h#tS0NXG}d!5 z=lx7W6n{hAAt- zZTr0v?txFcT#IK1+*X`r1)nGCH;}4Q`9KXdsu=Vv8_ys6xm@_uk7FUuy)Y4bgtCm- z^;{7_-u(EqYo&xv>({QiD>WJDclgx3LLCMzM&`lA2W{N^{IZUeY1R3EPpeb(u#ULU zyqSd9{2m-?^));3n$*qeeCUhj(ihNe~%9Tt{pZcyg@w)6MXN@4JK+Xp0; zE`=@RMs|iPfF_i~W@#Bc;bFzxg*D05U-S9HejG_bG?b^mGyZ-$$#DO@wKA7#P?3C} zHH-7m0#@_G;O73d(AK(K-UcY$wJSBUWD@`C;IQX zbDaFw9Pb)%@~bQAnHcEX(DSR>>e-N9ku%dZGN9+bY+!73+lEt6KuCz5U(Fb6bDL98 zMC2?z{{>?kYb66KX$!Nv7Ul-#Hk|O9w8b3@E7iNY`Y_@}13P1V16eCwM|${K-vVpE zsd181K$D(d-oV@lh7md=aOw;_zl`x68v`p&4StzBx;6&nPr`@DKPc&1nOSpcpzBn! zGQb+^+gMm}3Y@0QWX&n?U)N!4W^PShsf2_ky@Uikv zs^{hLrNbmb{M2cK$cGs(Yol(8z8@9{37A_*7ZrJ;DkL6zJT|#BJnG;DJ?}>s8PDtS zT)!aqfYDVimeE<=G;v;YUhJMk>(@!EvDx%g;=(v#^_*fNE$5X9=0b}f5yUr{U9YcN zC!$3HrRp5~*JlhssvZhw`*@u5{cHGTnbd1<8IvIAFixzn>Q$F9Uq9Gra~-~32)C> zw9Kdp?@juiUbDnst}T~X&d_8eTxi$LaP{MhP;>K;8K1$kh?0Vd*frDdq8~qUXsxBs z($1O?9I^*bZi^Q0T&~&Ez0@I{s=?uS=e*4x}7~($MgkFADB-S!1QykDLh4P(8vil-X6ecgxE6VZMhIL5@vYPAkuh zV(NnR9@8SCZ!=VBrRnZ8*f&XVIBVN5<;?c>)SX)@rsh}t+D)Y+XCihfW2*h3q39Kt;dg9vT~y@)=^}lfL<**#{Miqiwcl%gyn#JvMg>8A~Y*VTXkxg*A3CtF`HPL6a!d@cjp(ARDSH(JH4WvV}v%(w;T884*9v8uQ=P#BUhx%j#^4* zboEQN%>FvgH8q+x#8N70XiSSc6*qR+q`YM;OubWahrubg(wfYx1$FEb$h(W54hozQ zJ9W-=I{(GQn;jt=a2r%oEG-(fHsva#+eN#werRJa}7vq_mVPywWUV7ULwH z(Qdpf(Qts%y=!z_wN#uPCcLFWh^sB)m2oxp<=8uzJy6zZHxa^rF$UqZnBjk~BSgD> z>dRHtqaCM(MQKRt{dO&k&|g(`$sKnPFR8yW)-$2K8;Dc3#gna$t zQ`|y`%>}a;%w{*WTK%)y%JYvzHAUL;7e22ZL|E*zUG+%mDHKo zF&^_V_JSEpc;i5#d~V-daF_?YaV|Z?ZEyB-4SmiRp?Qnmg^q!n!+V?Ux*E^u$&QTr z8d#6#&1M7}UV`KCija|(9*HUVm0r+r0B2qkCZaoP%k+N3%NOlhPSg^a&kx1=9;)-< zaL#|uhMQ6*RGAgcb+@H(iEdQ-D8iChX!dg&)*gE_J^zc1U3u!`rZqcvF+-$M+Kit& zgx%wNT;cQF@u9)3Nb|#Xtt-@-#Ee>|OOwSl0i9GJYW!jM32sIV@WH+?7K=jH2)gT3 z9`a`VY$5FQrnO)8md1{wej)G~JS6Pg{!zGNmxDq3wKQ6L(^?C{WyFoqoYV=N zu;{(P6@JG0h^9-F>U*RuDr2Cl#ra<6@oSvhQjgrSE@^5wfDHP!hgz(}NF?FxXo7&KZJM=5$=~jP1WmEk@d#J|he23{4w|i1o44)THR=P(@ zBfs|N^T#l@-*2wT>nLE9GK?K_>>b`6uF$WrPi!ecI6@T(&lvEF*T>~p6*5Zgj2#nc zN*Q2=2b?q(ih|-TUhfUr5Z>H8cdHExdwE`qyljqVNhmOJve|^2QXx!7j;StNwC!Wx za4g*@G0!Pa`aN=>c`k2v(tuX{a?^(5nh=}WS4}(NM2~S?I?3^bxUko(feq=>9b{5+ zGjV20bM1@aF!5rdN;)fTj}uiT2-Vp!`YJyeM{M6Q8@?Ia%~{3RNi}@QtS%)(am^_R zUg%k~Ecwc^#>T!O{8#hb=$?gi>Q=8>MCqBDMRsM#I5MO{NHr>CEFy(MWpVlj-96OB^#j60il6*9nrk5qX4XqvKnzZ3Zo9EO&yJbsbVC_y$D;|Yj!7S_>INh4( zE?*H-y29Uicha^_)*UHlOBeTs2U|@uwN5Qnz_uMDGGyB(GZT#ID#yA!`Cji2q2d&7 zp4)vztSC4%>zAHz4)wK*WXT7}E`U9eR&wDiKEH;OEBtU0SDYb>Urk6~c%tywdez*UBPOU=_k6ZI&2V zN1T(sA|}Ok${uF`1HMh8zSh%cTDyDV=4D(-?AYwdmBEj}pq9N}{Y*(`)5TqaSEj6a z;Yy|k`{Mbt`m$jsZQ&U)SB>dn?=y5#bwy{y#1pr5kFvvdx?xn>ba72;*9?0NIG_#n z9aPP8Gil?F--indk&60``~Irjs;LCshY^PmR*!zBm-zP3?Yq*c-$_~1UBQ?sJ|59W z8Y8l)``%^56v*3kAC7IF`;tDsD7gx2V-0}^LFUrx!mHjnkKmkYihF*pD%%i_1~F6$D1v;c^;bUL^v{Oqirb%{)u^IE=^GT>ZuCT-Vhx zp5g zKti0yyi@s|B}6w$9c-Qp-RqDQ8H?Nyp0FspdiVHYCB($pXUuhQPs27OwuswJWco-A zd%0M8zB}!koJcigs;S~AUn!6t@zgq9m&iki(sO)_=9CodF;tb{tXDo{?y|8w%s8^v z?I5g=89u1f%;c+@*eO!^RS-=Wt_zval?%~byMIrG5N`nQ*)zp%5P6rORu;=1zIC4x z&6JE;qKC4Wl&-wQq?PHolxytR^}A|fQg8Dle!Mg7mvKj8z1p=z>LNC<){b&}=Qh0- z^QAL!j(W|%k_V4biCeeaV1`W(2DEFvom1v`>WxTU`H)TB7L%d&ZeG_p6W-$#pC;OM zIAms1--ymo(;LIMFUnA{b}+a}OxwYfhQ^UQzRkPcTHd5YJFjUoxe6yM8l7QpTEt<0 zcju1q!&<=(!;ceTDTBE7t`IYsk8JEzIMLVEi<9>10aSvrW)n9@en<|37~@2p4V&@f zk2VU*m`ya+H)Y=Os70i3&I)-eVKC~>$P9Y}A89ooSfp=T>zb}SoTQs7L9BJTxAP{5 z=hpHRMqhRl=a?tAmUO$>aVe=h)YwOQ?f6dO_Y^yXrwUW6m??5JE~K=r-iHMCkr%)xgx!P8HiS!lIa8v>Ye3)I4X;m~W%s&44)R zwL}qx1w^Tp9NrHTGT2Wa1Cd^|op_e;Xk%kkMxjCB=XP{urq&7P#_iNDY#34|bT>PF z(aMh$LVTT>L#^hfVH3qFguQ!iCJ=I9B;=A#FVj02GmG7VbJTE3$GqrdLWt_%w4XNH zS@2N##xCkJ7ao8q&qXDUF-30h%{r=>RbS42`L8z9WdTX6-8*o-HHDME1YqC`$L-DR z;f3aNjz4K+#-;SGXcAgQ^rxdik68o##C+cfw%VzcBfe)2*>fJ?N*L2V8>4Nr5%H*l z@h&==E@vtZvw$pFIs9r?4ppQvxz^r3P7j%fQSD%lIfT_4%G3Q@=DK3W+qZ*osR&rn znW)sZkN=cKhAnEZ%XWasm48%enX|21$nxZ%+H`U@mSF%Sek#r@-DU6_dY4Ln@oPCv zg}`dhozOKS4)&q;Q%P^yeD(7ndhH#@wath>MM&ChRTttk+yftdb6nG`wVkRQw>W<}!K9pMWbc5vS?lbn-HFs0+onHrsteV)QieTp?d!)@q|1jttS8Gg+QE;?MjzuP7Y-p`}gK;QQmD2S{J+Z#gl zRJpl5A)Q+3GI6EnxDV{|AZuDiqEI#}RhLU1j4+4p4xx%I)B}+yOW4Lvg{TNE{)#t* zy$*lyC5`+&RAiXPC+0#nYcgpm-GzK-Yajb69ijPv9%s}^V*lqv2#%YtPLdAGSYB*t zMFj3(>DVnZ3r8$^2TH{AEeQA4${Fn?z^M#ztD_fsi~}>S zL|X#ii!6rpVJq0_6V-X=f7W=;&Ql|=+6L3yiOyq#TcuvppEi?RbLWK<O>0-(1gpf_f3{9n1xa$RmFgZcWde^nJ|+o9 z-dJC%&%JYyZKOps&k?hd(K9OdpwVY4;D#4JJZPSqHCI0b76n_LC+58ho|{t+;+T== zn&Rk-)vK~$1DlT=^S;nL*CN0%U%egS8N)}`IiU%R??F`95Yc{{6Ra}Zmd1?_dHk}c zLMk*|Cu9>lPl;~yeY8QIptzuGjZT`d*yEEm2LY_q$0==sn^kO?GF3Qce!s-hD^MCU zD{Vrdm7NCq$vn4xb}5;v2U@4J2(2LS~!4I|nkH zU@+}DzN%ugDV%QVoEdTKJn7usZ*fzLyzFTQS}`*C*2qV6BpX(CeM*BM%-(twT}4aP zz`jM)PSR(897}NBhjv0y&_~3Ad)Xuzl@fuzuF2csG%$4A@kel^Q|PF$#l4IC&XL*9uXAWv|dM(2@#eejH6*rBtyWwQ zq<~X0-6hphOO^(=)k6#`rDftg5{dqH%tP!^RaMRcSG>$o1UGea++9^+KO}&ayhoen zq}_%?xR6b=m0?U_AR$+HIMO@CFv!-4zA8ohR(OGXSGvn9xvm=S40=8#7+MUzm!{lkq*8c*fFw2Ks?5&Lr@{P1duQun%)qf#5fw_l4|G>NsF~qsvV4 zGc2I@Lem+$jspg4p&7*QkGkLza98kI((h9=2(7^#s30rRl(54$gtm8`F}xVC%K^a| z93S_6UHw;&_MO*lx6$ta&yqGt5jEowXzBDpd}ULKHVa;Zj7m~$AIHpm5_W?58DxVY zd>gL56#C0s0lvdssgOfn#NaZ3Sg-FW5a!Rl{iShFJLQ_;X4u4-fr0|+0go^&)!*rL2a^s+D z4`7c6+TzDtO1;Xpjv?XhtoD~L&e;*%lH*#Sz|lY~FPjIOP2-#Gaqeen3z%rBl<3vD z2ZNh@?Qg(iN6dZGFC$VltoE_WEdf~9_F zpZ9|`aC{lnZVpU?D^iy3q2-PKUOU*3WA|OVgRS1U6)=6RR8r1>j~h&`_#LeU^;z@} zA%Fa$rTZ|}NUjv-dwH37XuKVrPtNdt3i^ETvYWH3&BpTQADZpB!O~o?pKt+tS^n$; zPsOM{%vL#Ys3*U0SjKUAQVZ5ipIs;}gl3?*tPEcb6jXvxP zL6GtX(SE|3g_bs(%3~L}@Y{rQR<OF)rSF7-+k&lcKuKKB_zlfpKU>P;S*0Rj4 zsxX(skax(YeQk1Y2#lEXtC$#iQVbS%VK8m=HYl`|T9?~5&29*T@LO*X=9hd1M~+hA zJ`lcl#1Y_F7&r0M)<$kXUa33utj)s&x9>OE4JcFLuADM=9vPAbAUY|_ICnZ0kt)%W zn9Q_><9)aOLI82Gn&YAo?($V-j=Wa;&k}o(^0%&H<5ND%5zPdV?0?en~i&X2maQtGg#)$LTkR+@dFj!@5=XQ%R0-6gKqv zAX3}M+ng`hY>a(@gDZLhr+4s4=dXbS4Q$~O!;)s*1~1#0ki!P!c;YO?EU^!BTI~WQ zHz3cP#&^YBl*P?_b&)GYhl!wtzf~sGz{Y7iJ6<1u^=4FU*d~Ovt60Ff7A|7w{e0T0 zFO}_@6cWC$N7Au7j$76pckQcVd%+JZI-YTm?Kh%~ERGdka<#E`kz_`WdA{<#_iF@( z6rT;ra5mnIT&^n)20s}>rJ~Ypyv&wxhYnF``sP~2q3L@5{8!ud@hC2Y(}1{AQqi!D zbIa_9F&D#y)m_MCLRy#>q%ZzzbzJz>rPj&M2+qI#_Dpw+cP;WPz9+3Si5-dc$&Q?J zJ1t6mINrNyPCqYgBhq{+jH7lzCO_ObU_vh|bViQ_`^+|ON0ii3UENl=Vf6=WgERKRecEO;zGbmb{i$%ic|_K6 zdT%~DMJHuP{z{3)xw>M=*6`%jfTmmLuWoBLZZ8-)md=hmovhPdgP1V(MhMJz>g#|t z{K>mB-hvP3R@P#{VhnjL-WzFc2 z3+ZOduLfc+y5mCQ%lzdFWz`Zs#~_G}@sDpD=k|n9IlbSH5nP^2{Ok@dezeSW_8#5E zzQHM$i995C=xRk+7hI>fvO8&3-yQK@d&D4gow>L~{s=~kJ)PJAZYX^wW(<|4fV8p2 z1uc*!lQ>1f76KKn8lN&>)37aEbp7|Xh4!Yuz`|aab8a^WSBhc$#Eb>ihX={CzV;+(r#*{M$Wt^dxv zIy-Y6^ovF%g!D+;{0e{Pap}1zQ8QtXqm;x#F@y5^r^pjXWT`%>##ob<(<>b|(J@_< z#_{&i>vs#(Ca}WZvf|0*tALnk?m>8eA9STbfe9QeDcW%5x-5W3~s7_HWNLT zi(da?%2c-g6EHX4QEG(wtMgnC{d_rXF19$o3YJ4wWuzsS$#UObq&%c=&Ge@?oEUZ7 z*E#9ejZ2jXa{MOIzp53yR@G(G!v!O;{Vxjy5vfWo(J8lxLq#f$uSt8#PA`6|DhpF^ zMS-1JDGjhGIEhG!=Q*vpNrIo=`Jypxbt||fsnB$nnbdge<-5 zRjq~Jayy*JRDxx^C7Zla>18}hhb8Rwc}A8HNG(p<7{psytJ<}Eri%Nm8> z+rDOIDOu>U0ikI?DqvP z-<2wuzEa`Bi{RcY)IVxkzGM`>ar=j{LYwDsmT;!o&I5yttlCx>L36i_NagU?={Y=m z$o&Tx^Y-yMStR^Jdx20>59S?ra>5w;dv(8Nek<7XWB-SzD-VRKd;im_O?wGh3Ppvo zBxHH1tf5juD3mN?im^_X-b#@WMUt)TYh#&-v9#Dl_GQM>Le@c+5o7s1=X$@t|7Pwz z=Q+>%d7g9bx##ATB{4}K7GVX793GvVqMjg1j?MB~c(WRpc=G!+c?87z5NZ38~m0OIfeJf-j>K|A=D+^wH^>g6>?}xAi;UwnPgw?Px z`7wH}$ce+fU+x=1MZNDsSe&pOTlxIPdr*MCwOwQ-NP=UE?z|d$7g&wkl^s1B3+0u; zhK;%mKFxKw!H4%1H>P^g$5fBN7qhl>X{j;8oFsuT@zcj>;TCg7amXfE`EmKCNSYbk z(q~quBZY<~*7A+Dr2M{6uqG9U>vnpqD4SM598UmLAlCXR=BK)7-J<3ef!z%@8r2v) zFtO>!Aj2?Wh7ne>FZzC0+Fj(hsP{`x=Dz}^JEQO4OS^luu@1IV~bR9n~91lCrMQ(i83vRi>a7&xZKZNtmF&-#tekT;7B0DqI ze@h;CHUQY_-NSePO)8|FTts!7gUs0A;D$ck^Z8x^NVlGE$CqXoHHhn-62mhCVMtzal|0lUyoyV}rq=huxvd>ZeNH&s zi-ympC9~Iw>nG#=dM8}ng16vQ&qKSLv(QtWGvCW**? z*e4`NYtb*mHExCNQ}mKBJ}5)i7A?QHP^)1hIOW+@91+`(3?s!aKNvc=!TMS-z{)<* zvat1_d?hgY%kvteTWAd~{TL5eA8Bo8@xkh# zuY$AG%QSl$vfI4rpKUgh0@3$1FSldkta_s>USOvK0?d9-a>L>52I^Yi8xaqYbQ^NI zzG-BGZA4q!u*Mf&tGIoOcq_d~8eU?HUw);DVaH#RM+pFo+!7VMOF8SR`pfv9H z^@*jIYqgWoR4}TY?s$9)6yPOlXtJi`3}oCp6IUyD#>Yfv{n!?!+p84QbQvy zC{66Aef@21ariP;YvJa&0HiBN4TU_-4 zWvmURwuUM1iN4=**}Poo`6gV*h1}q|e%?lIO{4zHU8Xu9QR}#k5obWXYT=P=CUfW! zygzcNE|$;!LQ=;O{&>>CJvhPITLR8ip9i-jB>%LfA;d9mgFdD&#NG$kvo#^41#4eZ zOaC+j)$`>y@0B2321a>}N{ZL)HcV`0@j;P?%gO5fXYb8`w5Ao-*~e;jUrEgG_6N{C zz0b3Hyy&^{nLU)di0i(xg^|)_YvTHyMmKl~`m*p^u|HY#lIET^R`e)*FsAR(*~ryt z89|aNwKIVFb2ly|-8sTOn}KqRpau}uyP4mO-I1DZ>V+WJdfDpQ4$<4E+Z$_a5E@@&V#iem-Q@2_1TeE6h#2s5W=FQQeKY6$?A+vOE_%oYrSi- zjiCmTJpq^@djGe6?*u#rYkAA2m$ZGKz62xZxMZ=lh->W{yzm5l70^_w=~#pFJD~>W z?siw0=i?qVuz8!?ApPn`f;2BG{4SO9@ZIMhc737j5NZpke&MS;i)-^c>4sh1dJM+M zc5vbOJG-pST}&AoJkVwL<0wJr8t~D$Yh7z2b-L@|xOQ2@PI$Xy53Fjn4m;9&%+aR+ zTP}>7Ir2eOb;QL8)7@^pUr(wL5W47s2WY1(Cq6!>5qG3}OEZ#gck{pYDqMW`j}WEt zglrx75Z`d-Q0_Lb;|gnDjwDe`(HLnil|Hbfy=NpTT+$F|zy_f|%Y=W3>yI?Mh*M!6 zYGA#2i8TXpZ}2=T!kRv^3)tU&p3!UjNlBnEi+Kh51l0XY(tCx3rw1epv;lu(F7kR< z=X-m*rs8UC*%O|LaPC;(y4ll%IV%IN**w-W%?LzoU9teXuS zu>+yALFl!)-(&8YwX$xw=zyK`TnKb!h1Jm`PMDj=o$m1&if`O8XvkG}FOwU}L)FM* zA6U+CvGW#P>BlqA{uKaG)q%*@O*MoG@MRo-`Pug3!8xYqjGJOhiOZ!jvrrI2UBb#b%R=F06|<{D zmT)sJEPmcZ8gX>B>{H9JL2GPA@{zG$x9(p(J6dHp4(I;(K`M7cXC9gu;KohH%_Wo8 zk0em2?FcP8DNScpo(35>@#(idJ}(81bp3?0{wa5FqMy`=JADj76sI#dWnsiUx_x|qvpyc^)C?^ao_p9)+x zYu^Kms9tU>o&`V9PI*A&t~w+LkFKNuv{E2OM27{2-DaN2_v+TEsqip<^#y?6rg zj#HW{X*LtRB*%B25e@Zg+-f|>wT2(RqJ_U93n;Zt_Lsi;+g6#=JCJ|tZx5vIcnyjd zh$?nW5u4G)S*lm!_wdEz#DvugDZHO@Dlj)zA=K)r{^o&qipR z(GV@UsWGzoJg6z9=HC+xsHozz#)31>Q{B;NhjqZQY5>3|dn7s(71ZvFE16o@`(Xl34*%f* zO=ct}Gam@4;cy0P@$6_is468qi^<#pu_5}fr?-GUd`omPzn%6`i4$30v#H^(DNuZy=r@8jKPSm_y-a-g)7Xx#d`cKRZe7l2kKQLi z2B&peS*#E+&+h8UWIk@b_&ecgD?QO+B?LAjEO9_DbIgIu>4P=P@CQlJHrr zjIg{uw`Qb7|J(GjtWS;H0oK(({}9lB)NCJi;@0PC;~WaL@*(7CU%#$X#}w4=UIp$2 zMII37Clu6f9LpE}br3#BxO1w+d4~1ym@(rq2Y7N^NRQi(PmMb^S^EE(-;|5uO0&tn zQeYon{Pyry*g8Q-M%(g&mk!bI;MKR3ZCf{iVQ%Cz-JU&;uuBHy3^}qb>Cg>-!VgW9 zQiL;YqeglJq7Tf5r!e7L7%;*|&|foKRn|!u{Je#;;2%PE-B0w;7PgJ6SK#^h4)pHL z#vD_#+5}DsGkIEWPa+utwr(2t8W?8EUM-?zZx09X{!Hri=nV`CvC)Z*WAK63xwbz@jILvMp#c zXstTKYf7(i$7Fx;O6a*r55D;Z%)XqpqqPHWrNs7sYh|QQnBxWZz5;QZ8X4&~5aBJw z#hYBgG8=Lh=GbR6syI;qy`5H?oCRt>;bE!Lap0xDW!|c|Sn65#vIzM8&f;P$s=QGU= z+KeN9_8frXjcL|cktw4X08w@SfA_6@dwOIMGdZe+@g`cnS7yU*n6Sn4^t^PlXMe8( zXOE-0l_T)rj;FfSKR1M?YJ~9@10ZfyU=p6+Tv0*&Wbq{iLtPz?1YxxCq*L9>prG(Q z*2qwt*2AMzta@^g$>)(wp=m;D3T$8~PUzuh={q6e#8V|lqQMk0ApWs)1PebQs6efQ zdP-!tR9E9dlswrNkw;ev7JF$C+FfU%&I=LuWbf?BS~0&>8;_!}f|_3n$Z8$dQ?gG7 z>UirG4#z>p9S0M;WgKAAhc{ZUzuie&N~Uh_d<{QD=f%7}&z2k@StAq46YV zWi}|tHUDPf(cp%E_O479`_xOFwdo9T1ffDVnarnl?C-G25zs!A<%$C9+K}9^P~(o( zG8!;l@l8ACGj}rhj72WB+-$3?qXz;WPp4JFz;(-q z@^VEDo0NCwV8t3YnKG1Hc}^qcojE5b(+aj?;Z$dSFWx8}+~D$SwI+;}*00eYNsU4f zW$IkwVM~0dVC!&uA3PAi;XD(@+mnVot&b6>WAaugA=^m(O9u-{-r&5s(#O)A=$9vt z1gJ*>{1{-?adIAohyFNU6B);)N~O2b2^r-08}3ASoi{~mDhtHWG=>4>U@H+$^_jWK zs8QpNi;2LE!CL1M) zd36l^mM8IH3-ajQsY@{&=Wg#2o1a(Tn z9yFYA%9C#rGj{tJu#*>u3pM;`6M+q#1GSIEnMOq+Op zw|FZptb-`JzdkvnbW%b6E$X%@#Wt5?EVw=-A;~ZItq=(J)5P_|FId#uXlM8LG7(~4 z)4bO8oyC*-kp0LlEj@ed4@(5rhrFs7gqIvcf@CYEK{@*nKy6BE=TVnE& z8-Z!JW&o-Q9<|DhMrt*3hc?Q%gZDtk(BJxd`{r2{pWp#0PEgh>$W%^2?cgY~hxNJw zy>p1whPDs!vI=UeF-|k@mf1G$*omIQ891D`P&uHW#>8%9&5(ews2v-&h=OK6P3F)RvIhey&|ZBjx*TYb25GEa)4=3C^TY2D^M}%7p4a}@D*+SAQw>RL__~C}7~G(Q4JIM3 zGN(;^IE(~&q01o8DTb$^&L`8<Og1h~~{^`*$PngbXpO5_vSEQQs!{cMvw!_T0$ESm)jB$bUL3OQULrgRi7hU4Nb{NYSe^u%Q1R1PD*PZN^#*Bcf z9%`Rp;!Het8U4zb?;E(9hP=tPf8eU!udjpP8ru`@=Bh*6ls{zbZ(@I`lhd(Ql!`>! zJV)mncN}?(n7);64)21+@5H!nvtNXTPD4!Ome(at*NG1|VO*HjX3ISdYEZ%yY)`xQ za&SX8T0Iq|U6%0IYrx8l9Q%b1t;QXNm?Ayvdh6!Xbr4nSrB)H>hvT^-FT}`}Kw4{P z_)B&uEksMYs_N?SaVt>IQPj35b(TDGR%7sAkOucO&n*1M3_@Jo-l2SNzjg*JO5oge znvJ#w1~rJG>pg9gBXw_uh)H*yh;YqjTQ7Cq?INB5rTUi3cu&R+Zh)7QR^hJStt+Jq zDtyjC-gH%MBoQ{w!rpmkB{FR?K0Uah_IA+;uJ|* zGi|ILip@}$#2NZ%%HReaq`vFi=X)24#D^kC$?r3IY+yUdjk|~y;&sHzu`Kcp*v}4v z#h6F&@8-L40=t(m*Dmx{sHhSdlbABoL>b($oP=~)c|}=B;ZrH5Vset?I5*!9Gpxtk z{&wCo8t#vgTBEDKzSgz+@&OC=3&kfFV+S`7q!DX+vH~H`Oa+ma2d|Aw&!5q_njo(L zerkO+dq%Gp>ZJ#WfSKKVQ#;_y`xMGIczgx5O&h!8?zb~GNLO+8M`QnV4sHm7#VXZy zcz6xdb7ZN)#)b5W%8PtZQ}{aO#gIMj{Cf_STMhYt|GPRSBXE4atpSG$i#XHbZ=<~P zbN~Hro9q8}P^A~@B3xlR@uST_m6C$^8`|QlOZc;L-n-V7;vq{OStih+qWHR z@7w5(&W+(Y`oRY-Fbd^X|1*+!MRRvT=AJ|J2O7_huUdQIsK0?>i1q5{zN%4xqsdly)gkLo1${VOgJ1bssK40!t>QywF;a0+ z%*_*&YWFTE8S@U-oaD|$7X!xR&OTw@LW&TP&OT+Q(Kfr^pE)vM?PUa$z$~FGcegg` ze(umeMNm%PHlJPiT4}unN+Q*#IRata{>(y*2wXg8$@a_5DLxFSZaQ1k-W|^5lrH84 zX#D*3sJBovI}*88xJ&VKH5=UO0^$DwfcG?m09=*-^$DhtFn?4<%LsT>y87kS0&Qt4wy6!W(#esU#yJtcQIen0}cx(_E`tOV`m5uk49Z&i|H zUP|>tLtaXa)#iK3TomhtTDa!e%%xP=B!?p&gZoOU=Fm6o$Hdd#m%sa&NcZ)L_l{hq z!qwG-1wZ$QnR|UZ6uGpU0C?3OF_vlwd-rf^nlpxJ2O!06_&E{0pk>$I(~P%>pmV}l zJcZxRj~k{Xqj=t@6p`R+i`-}Xxpse_7j22PJ+F6}tzeZ9CAPtS>?Rj&1sy>ba6`d2FX&8?73~KG zKkX+3G=Jrgtk}P7ufbs|X}2nJWWrU)o`KNUz`4>6zZ3~ULO*;_v$Lw0+&vWzrOFfT zh=-*~s5ISfI9oKKBZvjfd(ZH7rF|tGJzNV-P%~iA(MqHwE1gWU~H{y_|hVV1!@mY^lM)%zES_cMbqURy58KFv7JbuI#@ZJ?(#5!SkzE z=P@cPT`|>2s?xmF9OSw{%pWd2jn9g3*&9wmHV`V+f3=0QAM( zuctG2S&=L>UP9VWIP4HDDL^#Iu5sq9~(EmkYF#85( z?3!A$Z&?gxm?g=_W~FO`W9)8*Tn7$dVrWpAwiv9p&>8~CIH7-VHjiDc1%Z%^T5^89 z&3>*EX2~wpI|^#zkx%P(WhZouVPhnXyg8{Nig>8{5=Uj++ zlvK0qtQ=$h+P8#Wwqh1w$?XJECy6oNknL#)H3_^$`UM>d z;AeKB{|T7B+mfw^w^Xl9MSS-)%;x>Qzs8D`qpS%DMRkohl`&GrTH20Ae@2X+@M}{x zI7}hDN6~h%)kV*KTn^TPagie?6J6mwl4x*NAs3a!T4O=qzhck5K)(z&A!r@|g6bOi zd24da9W2H%?WX6ul8QSVF=}m~L{oRSZbwqeMev;Ug{B^T7mGVeBn($LVftopt;CZH zC~1L28ZPeeQN!BK7w+{c7@BQk{*SXZm(S@@-UOi4n{yrf5I5r@?n%fc$fA(FON?%v zj&CU>FaBZvumg(^+b9xonpG z7~$kh$$GMv`o|S1xnyQ3^O9H$ZIO`|d51XM!8hY~tEW|va@gw!tYqSNY_qz1L@A14 zP-t)u!utW|i_$MR$RRH@J~f?jsHf#UgFgqeW>S(h5%H9ibcHGxuoCQt3SYkpwFQ5W zUm;-LQbyugypJHfs_a5`3`-ngbXjXze2X91Yl;<@xT3LFEOE~Nr1;f9)t?QjAa^4P ztIim4kXJmv(WUJ`bJ4rI4&$3mAkG@9GKOH>AZG9^M<#Np>vXY5==B1^&f2^77is@Ck;~`W38=UV=WL&THhQNi%hj7#jbEEb4lt_Ig9fK7NC)y+P7*P zNgZln8^5GCp^--@gdYA6NdA)4Wb32=CLNMr$V)N!9mwQ;gR0p;UD*}gdK~Y6@%06{ zdrbs{+tEwst97{|0II86J!3F0RkG?9@54$d zSVeBdB*sH_r$waCJ6H@Lr?$3ktA4h02Bm??w?AHdC3dqKQ221l#Dqp3qA-xvA|t)5 zAE>;Npzxy5{VHQe9YLXEE_2UdnE0QPzjmn)mnxe%_*`3Q^C~n_0vy5*S@$UCNvb|C zBhwe)I77x{mAn^K>COQZU%BR&X8Ua+Auq;bx=QVJj6M0kVXi{M6+DlOyyUjdde{G0 zYmE+#RHhKdwwb}oLW5@ao{;8B*Dpwkky!;Z=J|NNnxg(jrSWdncX*!U9$P%jq zs&tKtf3V;WX1L^@Bayc(+3QioB6TUbyT_2KL`2$Cciwg{HL}BdfU=?wV)5d~_SgPQ zt!yzsv#Odm>Ra7YQ#%};k@;=LR%OfVVPN<1kFqfJ=QBK=!{exnmuGi8$kKc z^|$VPadpR1nP&lFyGeFV*G@l7U{vu0Q4CmL<9v9r$C|n_%I%A^;vq*G>~H})(i}f$ z*SRucLooH2Wk>!c<#w~IyLr_k5Plzb`-yI!uLdHnx6V6I<@gwcp1no8QKs{cVnhY4 z_-eF&y7lWAynb8V$R;z0as#9GGDp%B6rd|+b>8Z6uZvK(t-7l~>>dU|yXee1H`q$` z4x@eU(CIs=k2*@mt|7JOocMEJN4$(>j^&i2&Xvne3l5~o|Adnosk&R5*8qdP*;j}$ zA|Exo+@p3aS2E%2*x?()DDOLiS&>o#+!!434={|+QjcEV_LSY$o>^ORv4z_kDE zk6h%LvBsEyBO#OF_!5QrO}!}c;{7G7e^JJ7ksZ^u(;+Jjnb{$bmpZYeYiCdP>fX7+ zCfu|qFY;nOEtGp}c6^bX-w`uyvI^pnJF>ZSHhHfVTj8i6xV(_F=j>989lRFPfZ)mH znPM2-(t)}fqCQ88)T=LE;fl38nrnmaow}4x_IkDls+*AK@?IqG+p?72BId+L4A}Dd z7-7m-Ti)zWwtDUVT0ZL}`3ySFgn9A501I@!qRl=Ir!lu>s9ZpfCUt`5GfJuj+n&dO z=iIIFxgIB~(onGh3U#RyRKh4}q?@HE_XxwX?^Q~@rsEK>8dzny7d7{!Dj8cvASGFj z#f;;LjM4)r>`$^XLT!a8hl{a+BRh6682ds`Ae`WiRAgmFJJL83!ADPS=w=;mt3`fNqJFL< zkAc^}5_=uZoG!{0YA1C&(y-wFJa`255&gfio7#+ly-YM+9OAX5QoHf`^Z&Mj95OP= z*(HIBKr<=}oIwBft>HCRv813wUnA zAwvfXapd?WYUM22*l}cLv5gemZygL>La&ood`;vq$5WonqkZPJ{gaa5 z3m;#}AFyJFE9wnza+iljEg2zXr2>c6z>o-_e{S6~CKiUa8x)=`^&NSPoWAJ&W6gHV zE!=Ndu}iUKj34XFJ8vU#9&(+cWba1s|KTIqODA>+_}w5r?R?${3;f&hR-|#tM=q#_ z)GAqrN!X0=eZvZ48zkHvO6|kcQ(+o*WuhbIS`yO5jYq-EbiaQsz!lQO?>V@M?txW- z%>s-}WQ30wpD^3;M08C}`@qVy^{Q+;Gx`<#Q%gbB)FtF-}9?8^`{HeN@_i${YK z?_P#!ehM?S%rzJ}a!8Xu^C%X&r-sT{9E7|===QJHVanlj?CNo`a#u|JH!mz{7>jx) z|FNB@lG!naAmCw+{C~gJhM71l*PO#9jzR$987DDO61W&fC`)WV=Sg1tWZ#eYx#8ux zQW8ESE0uS6M`N_l1gs?V&zjN{3p-4)A-5cS=u!}18{#DEI>xk+md>P+7uyu~YePv_ zpUA@qdx>18p@3+`eqDL7_%se@_>V;mc`@}ecAZRwsZ0}!(ZQ>5^%E~2)^R$SkAeNt z!|N$gET|a3E4*-ZkV8E4(PO+FEEaFm-2g_MOk=$reA0|i3Q!31bkGl1MA;#_>bhpd zR!yL*yIx(&RTbblS?UQB`@uo6*~ws{(rjzSHz@c}GUKa0xblNpo5FD95Qa6r@jro< zG(JdC4gR{8q?~)l!x(@d8)t6rVGz0#5F_~7LzF0FbJv?L!m?Uzr^D;KAkc|Yo?T7S zF(#>~4RcUm>M67ONIE!R9N(grD@b`X5B=d}z;VAMO9aPs@`38(l-}aDR}iathjahu zXqh8AIf2aHqHjU~Kyl)o#nol8##kIQqP#h`~~2)c<4KR6&p=_n0GGphJ(I@ z3-Uku^P3L6WNpM@TL#>?3EIJMwJq?puq>maB)=UaEHa`|V$H+Yg`6o)wiBurMw=Z1 z*`o&$V#ykTjH;r{ga9KRSA%O9r?x?!{2>n2_#pC@}5*(HD1 zJs$(Rooy_geS8%`)!95#=yYP#On8?h#iDS~=b4K=ENJ=_zhnNfWCvj(aXhi4Sf%VK zET#ZZCN6oYlt0BP&Ett)(o#ECW_7xWl<_lmUpumpBV8I|%wGEX{oariD$RK4D#Fcs z$N_!MTH2}0l_}lWYSQi7%l<7Na+yiUH=ir&buBx0t&}4zM!f9~!KWFH2!D9? zxgC^srDC=H@Cfg$b03iN_)%d~DFN6$nS8S33qOq!<4~-IB64ek+)_kGE>kP#=e1@e zY4yWhsec|@hxSR2hrvMC-_na@e|bMu77i0W>ROovX~-#=uplWvxT0+9s387j)2)Ro zs?o|Me9rdx@79@oXQSX{*=;M_zq0;(F!COF>y*k~pB<3?`YI`34lTTX3TbcBhCe@W|JR;GZz5zc_gj zDc!L9{yV0}2<31r?0f0}-Kgs3D`d{ZjMlzt3UEe?l1DPL>+R)vL$&w|Ek%)R+b`hH zM{`X>UL)|9H$S>S|;zg>UXPeJl`79%F(8bU+Wo2~Q1#jk0g@D+U+ zn9ZDHI8$*>W!;tiWXMHTs?3JUk)qe7j-*hOtPPBdXD*T?Xw2%&(x}=TD6#PQB1cDx z-&6t(qM++K;6sDZZ8X){Rx&nyZOH{H%8Ra*{w@~vHmBQ=)S<)KK40yrN^@V?x5|+J zNf{}|_k0O=;$>LesoZP{sELbYxL#dspOP02J55X#0XR3*%UrtOB0N-`7x+7K;rmmp zm2o=zNsCRN%fovU)y-2T@ZqrpYxd{$J|WGWESoNud*1f&97N`tV(BM=J|ablycRa4 z)TGM3eqMbShNntTvE2Y9H)OjG{^DE`uB>){gbe<&i6NRlP{4>;SY%HY4glnRPLHM) zHVX8AV8k3lUKOX!gU5e!0~)o#b%ACep>^U9{>TMoN86T~voQegs+VPYgu=#Q^{YM9 zj0{K#3kosMt7k(3k<%IQUHV$p2LUI%85J%meyO*tCwuU-U%|{r-u}rA5A6atf23%I zyvX?WLPnzSGI=o~Vk`)al|ZQBj_j(0tdfnn8TTv8VBIAfMp&O$tODi;A(T{B)$TZu z;7f5n<_9%NG0(+R9jHhHlZ+D28Wjmuhvg;CFBorztx0bjB+sneZi@0ecPR4t`8|9d zc6S_i)Ii#Bo$<-jDVad)C(Ss?J!L3UIn&O{(SQn^8S=)W! zJa1oD2L;d9a=V2&CHbD1frS%py7v>uMKxi_{s-8QFLV{@<}aY2xpM@z28O21IL3^L zpY>;MvnW)=;xvFRqr(XMykE1d2_XA((JU_czl(Otpa48iY%hgW81a!B?V8z1e`U%Ov| z98xb5^AdLLRJUAFYAmB68U&xpRH$-m68#gITAwUw7=gMZg3MHwWw~oIWL?n+`fyUu zm5h!tLkN_9siL%0>Yihi@oPVg(O?>xv-gvFjNW&|++!=MW5XG|e)C-Hnu8mXd8h4| zs@*CpcD6)b5!$1s1Z{`;G1`w0ZA;jDf--J0jEE;1n6`G^Z#h`O>YMj*LEWWp zd!9>r0=ck39Ro_-$?mRE#i#oiJ|3xv)!n@llS#cMWl)v$AqwTxOzIGIuN1|!2g3eO zt7q)(`Qq|Grpn)+*OBt#q{Y8h?Utb^A~iI&&cE(ndbRr`Wn0F3#GP7tro)dqv(%T* za|mzbg^-0BO4#OYpQAR@@%lTzK>-+7Mj4 zO4=MVSnIhJTcQ@cUNocami4Cnj4*+Fc+6`X!s%&yDJq8^1u?5VOflcbr)D}b7ti** zJvH5Dt3-x;?AzArxNy~8Kok}U=049H5hLz{e0LK%Dye zMNsGcEh|}l2eBdF;EOZ8-+m`6k&#euQ!^cgF6ama@H2cSs=F}@g>SK-PinxGuwdo= zG>Ep_XYrS7>sUW4S*xt1K&{#%92a%AGr~reTQMo$QHJlgsTeMRn1k^hP`{}*+Z|>6 zZ3z5+(|RoRu-=Hj8RQh1WY=G3@%Pf!cC-36xATTUwidL*>rx_MIx)bF{_eAr>*=bm z)ZPIG98$$B!p)Rrgk^oadB$mKMCZ>elmgmWtaoAb`DwyFlp0jJ-6-RIh3(T%(vG0n9aJrxP6u(AYKgvZBu5uh|DJg&%`nI zFN%suj3ey?8aVU8Es}9esKW1rk^v0Zc|Oc`uvAQwU`ngb083S+>%C_72QZP1qz1ia-lPjle?}rqraq9B(&{W+X_y?J$mdmL7-fB~12MnU;^^+I5i4m* z?Z(8t?e1X{D{1B+hi;CwI2I-5Zhj$2VPJw1=?;<%;2D!rGCyBnd}32SB-QFl#}(C# z$`KutjYPYljif0d3d*a36Zbqc6d4*X$bg^sIY{Y%;*OMk!sO7y~u;gvn)9_g^ zLX7Y~Gg{~K5;i(T@2q5X|7WE=a(TjEU9=S$OM%ZMPm#YayF*RYGqJ~Fi*x)=NGW|^ zR5HsU0r?);{3jvtLShhe4YI|P+wT40szyhk`1k(cV1%46CF|LNm^_)Zqb-k|(#ARa zm!3k%&&lR}uQ7-?LP}8@=R)om_ts8jQ#f5mfH6+Hqk;8H`jPk}>oN=KsUfc@amd`( zgujz2TiwVxX#D7Sy>XaoZ2ni=Xa9wz4&@IMsYt&DN# zckFq>tgbAT+mBtjb-Oz3fTYoqQ0li+zk>!UkQ~~n-4nm#+S4I56^yHG(}7*PI_f%~ z&9ixGcMueZ`d|KKBfgIlhc4fcy!u?mezP#F|9Q&vA>#f_3QRFWqCdSKxDb}MrCPW; z>4CY$OCLb}gX!IOya#ozBrqINk4Ww<_xNQ~4IFy$$TqrL%$(dN?5`Z69G(^L*@3uA z``){``EopR1EHhvz8I0tTG8 z3;zb}&NeTH;_=$lIyBw}5G6oH(xR>-W}!c`0$sU1(Usg(bnmPcdu)n=F}{<#el5N~%|dz^qbe}uea;g07?EJm>PY(oDdu19l0(HD z;?GhY9pq4!6AV74%ig+&e>b@p;9l^e!1Gk%%AE~gEZB^e@eA;L(&pG)7V50AQdRoGN|HYR#<=7ANIrK<6q%Of4;Prp8?vAOaK3i&+3;AEaao=nmt+3WVwE|g{BQtVVLUe`TK zLo=vtN<{kC4p|5SUD^Qt>+f^0Y_W7RdlI%U_@3NiR&?Z@;$?5m-`wL`>rigF%V}JkJvARRfMLbYeM`f% z+@felHa{=d={=~|rgyG{a3QIngt1w$#k3@p*}q3)sAA3RA_pFSt^ryMrnLG&5q!%+|l^22%^oSkXf-y@JoIE~oxU<)g z>h-qr_p$;iQu;c-|J;z;?ZCF)hF7X1LpL7o67Rc#jA4pCW!`xWQlB8z`{f*vvShE? z4*(MP{Jw|c+phNKEoW@&5XNWfuk{SRl!dlF#S7vt}Ztp{uYR;36B#W z2I;S;TnygA#p5H^INUzz>HN|FPoG@ov*_jSc#NaX`J}xS;vX+vOm6TRZ^Q)M#vj9O z{;+P4qJQIWOC5HJWBuN1_f}%sy{WmujZx4PrXmuEk^v1ekpmjj~Rf%}w^{Re%?S?dEUtgC@zvVsHvL zJqE?a_D>&aj=^T1_vJFr7cA}eDTNtR%%{?&Gow3M#~D2@q~|m4uf?UjiI?mX$$!eM z?QEn_8h6H{aXgI}JQ4qk@J_m_Mqy=aO+)`K@E58CxEL#=jb zJ0nVtNS`;s%%#RmCV*IHPFCkxvgq&7OjUI~e@xW7UnxRmtnmFFmGKyRE^C%GVuIcU z-4V_g30^Ma(FDL|EPnC{GW%?8NwW85wNy)6wL|ALzmoR{T{m)UXP6S%H`-KJ<6f9B zS#xBaQz7T2GUq4c)??u0=|nwq>qSRTj$3wa3A~qE#AFrM0QWF8P<_u=pm9Dkw&zno*0zvyI&}Q4-hu^j&4a7`o_Qw!i(~_kDeXMJPAK{z5T|1u8ynY0bT-#>EpJo}+@T8+BiSR8HuGHKd;e|p= zP2JC$?y@A_1||B7>a2AtPtDYhF016ivFlQ|zj>~FXRJ^&K$!Ue?~{M7{qvcnRK}|Ba_-PVob0|9vqEfeexMqVx|}iYP_`i7tH$tj`ju{(`#2()w}qN>|TVo#s95g zW2Co_d3d1gd|T(Ai?j~@hm|lr-rYPQ*SnYY@b@eHwi{Eta#-Ec1`I}nHbWgr`%1gr zZX>PVZk(9y$pZj9?-VW-_;{R!n11Uq_$;_mBHq}NBsjb97#=4X95dDL+)sO$)VEtj zG;AU(3Bm)7I8oP_#nujyys{ov$kOm{3_2Pfnh6}cVn?MaWsDJ`f0kMxME*XoWD1mo zDUU@!b$u3pkbtj&pAffox=c&b9gQp{403gE3`Q-BxNgjJ7M9JcBXsRUe#gVR)T0Q) zuJ2||1Qq>wg>2dIaRN`E@1gmfe8LoSA41Pp1Ypnha* zIha}lHk!LcW6uUe(#u)IF6Rg|yozb>WGzUb<)Dw$6QTl#BE6J&%jzuRn+Qa zSF)1q?CHCc|DYM<_0ogrf|AOqzI<#-c|BVVT{zq85rg`3mFvNPuaUBfMBM@8E@1+z zH(sK3#7H0}x4FK#Ycsl2L70-P10y^k49K^Gi7r`^YD%V>jM#2laNAq!b4vkJf?O&k z;--6gv1IG3eN^2}ztED)z}sxOH)>hC?F?x_P;%MD z&=v`bjT#!`-LX_Nhi`ts;C6Le)L{qeK?123g(umn6z{t= z#blig8V=ud+vW6M!eCOD(hxmOq!qmaL_`D;IVz$9M3N8@hZo|2pq(gka|{YmV_j&h zX)%Wy%c9135oGM&sIeiZ&uq*64%vr?;S&a^*#&t}5&wOp#MhxopwjiIhsaH2z}<+a zBid15xKpU}?$M<#4y%Zey=0}WsMUv^$Oe1S&-YU3ClC6Wa$o|rsw>RX5-`$Wr-(j`qKifmyor7qqMzHhEsSN7bu=S8_+KK` zeO!~=#YKCV=g+*00-i5j73^z;*0dF*?@eh1mt`IB+N*kQwoOui2i(^8Cr?R#OE=lR z%GZ%ZoL%}WzAT37le4n!tpZ!2@#aFN{GH#I=YbZ!b1|}pE!@ zA&HQZy3ih&*K!NpZVN|TIgNKRrhbL^D7RV)z#|&Nz5_aJf2N01w=L?j%hiXq5Dnah zcf?>muq!P$%S(W)WPvnp%ltc43mTUvE7>gFB6B3I#_0~F=BA@2#occTe#jq&wM>{p z$8;~#sNhMf$w~y&QLJU`UTsB(Y?&Zspq`Ug-^&%HIVZcnNph!m()>irSPKRAUrfJ( z$F}6M)7&oGo3WLH5`H&E8u4LT+|Tp(YiNf^*+I%claAx5lc*plm}((qJu_32u_P%Y zQ-tB=ZSbQzf9_y74<|0q)5lQe@2g%+HgtOQmEV%&xLBI3D7gjqzJ20+^5yB{!~3d_ zQ%fclHAZ0Az|^r#kxE3ylzl~|@?TyQo;pt4K`moa2aoF}*oyK>53 zrznk^-}`bD<@4>qUs9~VHsCqFn;3s=jLIYq2!I|G`(k?>!r`31B=La^kWTLj^X&Kg za2}aR>)0C~i&36Qwf)Eb_3>u;W0^f9|G?u5v(0$P_1nx>s2=7ddvBV9Bj6={RNpN#!V4TGW8)QdBYKE2i4`i(ZpRj z3z8V-hI?z^ZLS=4%`D8;4)m6>KIa&$$B91Uvk(e8G4DkWcE$3gNvoqiuaLr2>HHN)t9OM!kxRy=M?^=`(H5g$K706mAf zDOs|P=vs2|ck_FTM^UBKK%x81MOn5RYyks|`DY8LFx0qladGQQrdb+R?FQQmndNT% z0{g&Jn}&uqOF*%6;|Wt_qA@Y%)h68ThTpkukS*M1p`)Gcv z!4QvrWh-GZBHlUoCm3?N0g<8e!^nQWE}YfbzvSjE=DM-`ASL2UcJ^u3sb$mExU(nn z##&;_vf{4;&5D3++%R&$CtqFIWITC_nKpoGqPUH-vCV*e5MerfFWdKXA?b#;bWd~e zlUo$X#kw)1nISA6z6xCx$vRbW_0Sq4fj8e13U7O+a{3aaqo0hq)O8@6d^c;S zG&Cx+F(&P^B&8zd{N!1fXXnu$Y=>`Hl{aCFl_|$-=?_3RV|7M+XhkP3&2D61wlXVT z1_UMjn8`*{OoQ{``HzJu5f&=XHnqM#=ezb~wKtO)TiaJ)HtHzZ`NKZD-7fg}G8CY1bX_!02@G&(mw9;)f_k zNsaKVO91>DrT3hB!e%{i`*;9p>jNy_kQoF7d4~>!PgF zhMs@h?^3kPT;+>fFQM{I#g+4N9K+mrvx+SQ@?b~!<}3(g*})H2+W6#3e#{|I-{d$e zOQ0#aa_)&|nBU;Amx>{yq+m$Xq6L_xKvR3S@mPnaX6i1WC|0bI0P^>^ zxIDV_O-eD{n>!2rr8mT5{P zOGT}m;ZlCIU=pXAM;F@8(AomNr}9GPIybjUD51nb!?#eT|RRK9U_L&9rePM=2MvQ=5pBdSpx9i@6X)- zJyc~*A8F31Z)tPMPTJZs*J1a{!$HWILbzyGEGDjw@@!|Mj+~8E`BH6&)*E@12UqD7 z2vXpUiT=lE-R{YFYOsa%h?VjaW(yqVhCBYjF_q(3|Dz5)A-$y4s^$2(sBaY#_r1zo zd7MC1X;0=6V?Ux;iX zn+qV|Qc)=+LC`=DVi1(YF5*rEt93yU7sM)7#Hfg9>jqX7(JH%jV-X?>0TdPg-*e{9 z+`0GNn|JSf!JqwqsMRF*y*YR0>~qeUGqsVU-aUK2Ntcg0GB)P5>PM?qH=p=i3B0aO zZyeWk$q7$SpM6!^@0b3Q*dhEy>&uV7vF_~k69@eG7GY$?H~l|=HM)E47eB4zL^&Dmw`Y1r(?UD?&&?aWXaW^tbcc2!QpvlR{mkhzzX2{ z;2Y|q>+iey5dP+zb0+Rsvb^Qen&rKwUHWzJm$&@X78i~5p0Ih^pPs&AMyT^GL#~=Q za>WzmsBbiv!> zmb|^ZYhKJeqv1dS&pZBY15~Q}14I>Y?|R4Sluu zoU6b2?KOj&H_5A7w|L4A?}0UD44Yp!uluWoc{dF=7TXrUrX4s2o7_(ho;d!J&A%CX z-Ob0mIp?|$Z>XEM<-h;l-Gjzmw*K*7)#Bm#H`Y}RUfb$YvXC=k zuXeon+ZF(S)!>rCvG2^H;eB=$e>)3^YxeZ?X2YJ(?{wX1<2U{kIqt>%SDsk=ew%~G z{P(BIE$_TK?}<(AZ_AI&3|Bnb=H}V2ynVpBeI9*b(%^MdYabg_es|TpUSIsD+xq_F zKIm7ytljLR+E!h3cHNm%&VTs%dB6VqkjHK~appex2kn!;vdwi(R$PC~y0;%IKlR_g zdw1KlTfW%7tLb->H*I@2xn>Oe|T$V)0))iR`o5;Kfe7wc^6LD*!>CsNZw!DZ{N!%KGO~p z`+W8FTLwOJ%DDW$oV=>d_4og@{hOOM9E@%j2R}FP(`{!SbJD6dw>|Vmi}gi4@^1L# zoDY6CweHBCAH93=3m4SypSP%G<;)>dD`pLCws1$`SAX1hQr`i)Z+&3+t!q0Swy651 zp_?z*ADEbQ?KkIq@HU3^dwpkzdEIH)lqHEvYvbecyPmkJ&76}aP8eE`t3GaQJ7)aw zOY8T)satKovP;j|Z_?D|@$W|;(zSBN4P_-=*Z-$~UhDb8N6-1T3%+t@ZNGi!E1zDp z)cOX{OHLW*LM15arK$6{e5;` zpM&llvEYdg&uymLwnR7aruTXN_X4>K56rh@?{_0f79AdtylE= z$Fx(9I~)u#wb#6pRvq}!_V+JXc)~a|550TnteY!Z9XRgVov&VVMrGclhYzn?(4%(R zzTIzYv7#+~;r5~H%jZr%V?%t$*0+csk~61Itf@QsjHllHX}|;Yp!I;So^W!pWjx|>i4HE z+;!vq?;V>LxO3=bC1oW&Kf9qM@4Hi0t|(g3YisgTTqks6b#rS3}(pPz(FMVU+5C2`f;oy_+tZ4OMvxPsbZvRjMvBj5yyXWu1Q{d<6Uh{YTZ7!zQ z=fs)QFTs2-_~_}oF6fE{_C2(2^VEt~@9q9dblf zRNIyT(0?u#QP%#V-Tci73RdN#l7t-PAc=M0U&w)nr|zgym@V>w-#3~yS)BCZ{A7hs(tLobx(bCMrB}oS;@whtDE$=?$Ojo ztKa)|`#&C3Q}^(S$#bfXJvr~j4@Z9d?6ijxH3!d~-hb1$e;)O(!bz`fJ^s|coV2Rv z3v<>Fd~P6?v;6oi5BBXbclrmTZ^hNT{lDLS@3n{gb)TtqWs^oW4Gg+x$i(t-UFr{* z+qHJuf!9n}e-d-!T`0Zz;nnw!U3A=vUfud%vSau0;FcM$&)@Q6S=ajg!(h~7@Tz?; z+`8n(4o{vDT2viAp6V>`duBnRR*?| zmE3*u>L#s^Y2Kml;d7_oa`;zycbxwI5l4(zeRTUjUR+aGcIU{ZGnU8KjQ{cT4F`Yz zmx@-e{<$RY_5MG-^uPyQD+3)d`V@?w`sfQsj2PAK`opp8)dybCq8QJjvr1d1R`gm2 z5)}M>?CZr7KCe3H5xl+$UjNCra}N)dmAnwZ_ikxEp~IjF_4{w_Sv&0rtooe+yZ-dR zf4Wx&p28Qd{QUWy=RkLvn-{?fzF znR4mqSs(SevE{18$KVy$Jo)1%ZF>VlD|&rZ|I_m469gspoAtZD{pgB^x=*TTb=RpK zzJL9tnTfobf=!h#Z2V-y!C#-aqF2#**Y5b${mK8AK$ZJMXyVzPkenT zwBN}q-neE$yO!hf7o3hO!7BHQ@7P`?4Nh(n}4c49Mr3PXwK1J zcR7#nsV)&FjjlrZ(98H%^5Aav|Lqpk_zoGStW-tD?rliv;$>X{}aF@57 zyt>Ja~XWq3(i-s~&FC?9G}cc=|Zl zXf3U?Zdr8Gs(v4xF=f&pYwDI(w}11tzu&YruhYG4zx(7Vn3hftE~*|nW$w8b-2dOx zdrXR6_~U0ipTW~6i>rsudh6!mFOLNRr>`3M(XHoxkRgE}1^>u}|!;mzhv>pHiv-5W23^A^9qVDp{#HpiD~GD zHBjCQX70Z8-s5jvo7eTERSzD~>)Y3^8Ar(Y&-E{k_}eEf`_DbQw#%%|JD+OaY-{Ph zhgNL6<=9i6y7l-buRoHQF>U_BZBtAC{ZRM3&oBI}wB!7jI*i-*$mtc6-#K>FH{CD! zqS>J{zq#?Jmxhx*+_mP~ZU5SESf3N;78bm=X*N25 z|L}J4mcJdofG8=@<7qy3dj24|UjbJFe{C$$JJoi1`qo{q{r;;_O*b5{WyZgLTUK)9z}LGM zoi_Nn4Tt5md1l9lCD9VdVwau={dCvU*8qh*4q4Ldsg|oAJY)X-V;5if#d{~=0_?G` zZ<+Yeicg*`E4icB7vD8MXh)>!KO#%cnmG3R%^MD@Ipgqs&YZpZ&%b*2n+d1B(rjq; z^3aNAEzb|_IC0CYeHN_!u+@m~zIYs8yLfKlnU$}lT6|nQF2B>vig6pBd+ze;<;SdO zcGz3pChRU;_&~weQQ({NVT0H>LwyfK!oesZadUD-@m%s*hO!{o|(#~@W51+Yn zaSPl=fhFH``KJ3y3NM@7Y-(N2aX+q|xch)NS6}zU%G0(tk6ZvwtjFWlx4n>m_Xi7p z*m=Zd$=~EpfAEmNux``W|E;8^&4Bf1-*Z~YxP2eKzhd&|ZH`TSbr7ymUGb0I_rKU; zWOV-mkmSU%osU{HX7J|ekGkpfW}QAgxa0cI zeuO5Tw`AMPcW-@j7ckOuZeiaUt2XSMuoO4aE*txHv)4~vbwc4CB{dbtKhx#*#nnA- z9dXi|(>Jyo6Syw^&V5%t_2%Y2WpfLcJ-l;q^XZ@BY0ry_Zyh^yczwa5CM%ku@?v=N z>5s3zu59_$KV9-Z$>V)Bbu}H{D(o@o`c|`cUpc?`jMEn{s_xP9i)McwH{sJCcYXxA zU3+_7&G~N?-thD{|GZ|)6E_~;dZW{?S2WxB;rAc(dt(8tYRw^d za`K91vp=ePEwsMwi1zy|dj8g(YuXPVRDZyt*otPqpRxM76Ibq9Ubu6~h+8ggGPc#K z6Hc0cYlph~F7Nmr?$&zy-gav~x+8Gl4^t-}lp6eY)5m}4lmC}xKfL|!XZ!9p zC*M*r`FCGl_2uk2f7!QP*{gq=c;CF%H`0%>AX`5>f zpYYc%MaiQ4iplsC_-X#q+79b384pIh@#!JE9_rV!VFm@_m@^3lELI<-o01ta@wmqi0q3IB7+*@7^C?KkTv=n_nU$2kDQq{o%I#FFkkcTN~bAduaQ8Hay?___3c~m%8e`-%c7_Q}@c>3n#4Wc~aq3lj~R1 zZvE%Ri5GovX#4!uN3UqMpx1XdOnaxpTdV7Z*!z*{* zdFsgnN7s#iX3Nf+!cm=S^Gi-%bHa-Ad*7Sb)Olcszko$w>D6;gkB8g#Ufpp^=LgRH z<7v0oy;6js4?ox9gf%CeaL-+waa+cm00!Q6*m=GPiKU^K0K+xc%F6 zUz&MArycW-{{HQ*SkoD|*L7OI`TVi}TKwi$1CMT>Klk*f^Wo84x6g*et_|nDddVRN zPJd?H%GLXAJG$Fbd551_o4;S*>d!+bP1&}*u-)JRYu^6-v(K#g>VVCEu4q~??3EkN zt!)4JnEHYqw=dbY{ioqEjjzixkKU5DKlF8Of7F`e2i zs-Dq$*KyUaUAbj>$+-Pa{-Ab#$Buo!U-URWy9b|Ly{pAluYFRvsuezaYuDuFZ$Geb z`AO9?;C1vV`|F!6I{Yy7%{336)o;z&QEx3Kly zcUE`&^vRXeubutCi)HWJH+K7bkxBLV;;@5{8T;CQZ?A-izW&_o>b1YSZ1AK%0uhsT zS03}#CFjlkd&}i5E=@gm%DDY&+RiP!VcGhnpR_uz-DBPB4{AN5`JaCLrYqne+|cQ< zHP_!)zwS>TuWU7L|EfFx(DbIWYx56W`qPGgcE5Gy%fG|3Gk#p%a>|Dv7Tt1xld|a* zO{Wfi?u1r_?f&rj!uKLGmh9g3%Hyq$pIF_s{-8jMvXYwL2vzr!X7i;5(C=#DQ`4XmLs(S$f{>M^3x6>C_&z`5T`ZuzhKMv)LUgp4w1Yw&a;@KkZsRdfR=I zn;hP=7B@1DS$gl^o29P4q2HFO^WUF4_TP84y?5Ye#U+`6j zia*pJy7Hmehs{S^bkTF;7Ixp%sn??FNp~Ie>;6}MeeC|nKVSLRZCh@9_Q4_J*Sx>x z&L@uC)T!Cx>Pa6xe%g!+w%?!Mbo;Nr-1nTrD;}FYaYE<2%G|KY9&zptOOL-ckS;V zu(ba4bH>;IdQ#c6y1eOqJIwp|(fm_i-0|d>&wMxO%oe3<{`zv;q07f_{9(MRbZUFp%jHjf+2P)g`~QCJj86wF==02@3$Fa;rmxzm1-}YRDJ$u;?5`Iba&_vC=e`=a=A!!ID;}G3`G(gzt{VT%zrOmZ{<*Fbe;RPs z{T1Q;Lcu^VK);-JTA;Z9*pcOd;%=2A zstSrvA2hn0ehU;2N)9Rwr+(YFa&To;W!uv$E6NIr`&~7-ioe`{)K%p)tbm7|Q9inK z)Uc6Nm7@Zoa14<9;`y*qqpP|M9W*Ks2^SQfjq8Z{k8mtjP<+9#vZ|q@@!f>@ZvV>j zMhq*hEGx&OI6vypLCrLjai&93W#yrmoN3?k%dV;zG|Jm#Q{E>Vp^0E&+GHby#l8jF zWW(BI&n_QvS=G=$Dv^rQR}2DNSx|gNdG)Z;^1j_q50s8B2o?c|@$cx;5&EZH`dL2h z*QHlM!Rh@AB5`~@kqQ=tV#z>%P^DWK4?_5TNWp2bXgm}T$4ld}a4i^33f7uJb{9H9~0+d0z|pIERcoQV4uA9I{8KCw6n3i6kJ45M#e~#~h~%P9#M98cneo3`2OLiCCNjhXu(q{&Ycc(;}&;)Jx7&*(*4| z9Kj)4cqYD0c7j37aK~ zgu~@N45Sx93PpoOF=64&_2~23D@i|(BxNfhcBxuy480#-+(cgyjOm%ZHI zxZLjtpIJ&u8YOd;lr(^bq{Mtpkb`jXWUMHd2>Fo|`#6iFu=R+RLoO1q7>I0;lt@bf zOHzuRel(H7XV}DGE2BKIJ>hvNOQNk(pRFI-@BMCOx%0(-X5=f4IyuXS$<#WzBXM67 z6nvgQWZIX5WgBLh0NW5d&qE3j`GSp%h1`?3m5di5 zh(Pv6tyG`#UbfH7_6_047sqKLVIxM)5@Ca97>uO9>CvV<9!nObk{ItjqQ#qXZJf?u z5r~A`lpC9I+FS_p!O0&8KoDXgOkVl_6_!64h$ay-am0Am zG7wD_g_2=65=KH1fB6=%CkUmAl5zh@^td_BA_Y;RKI{Q;G5jLlQkTJ3Lg9?lMgmrY zN@@1!h8vrSAZmBO`_6Oz|CL{Vj&)@#6Lw1EEE9HshFu6nyzflUEpVvki)e*sqMonM zpvzF6*JseEa#Zut$EaO9r@U;~pwla_4h*2mwHQ40a59jLhKiD@OA3m+jH(>z`r+vn z<>h6rpY|U$Y`E)(okvx@%vev|o8uU_f!7 zGrFNtvHWUOCiWbTrJZj4>|*@vi3M=sA`KH2aiTg;h>CH~?f$3T*c6$42DB`Kg_dq)FO0!m6iNeL(^ z0R?GU{)&K-5>QeCN=iUU2`Hf;gSkYnF{Hs%x;Y>upcP;E`-|{MkTEdgs)~wBRPiLe z!CL0oYtZoW(NtwPnvkAWZAlO0fU|~`0Y@QJ7Se1(A)bV97!gBzH-Ms zUQ5WvClQYpMWdV%(TxaIRwjap6yi#$cp{!mAkQ}l(b-5i5+o}Z4wm6x{tIO+WIlK^ zPKGBEPtxWaqv$z1Vt_%pLUOO@8-{ac!lrB@MX=cILOmG_6^xi?#pY$}E*1-Q5RY+C zTVE`anp|iGOKA(Zk?rJEXBifN)F=K9VR}^CNfn+(F)9bMIWdZ55G;JJQ70b`qFOD5 zS~Y$C5mj{>9u$ob`Y<=DKLz@j3`1b;%V6EhX$4VyMgc?296>`Fcn_B$BtHb4Mgc?` zsUXmp2#7$W7Ij7ZopSLFf{OLS!;S^9dcp&H8d3g!wPQ$?W{62_1M3q^G# z*f-YMLKe&s3BnDd_?6BZVeeaia}B8o{>O#J_GhyEFp??)YXuUH?<8@71o--);S_ukla>*7Ff%L!kt*lv({l?P-G6e?q$Bpf>Hf3#TTr}b-G3op zVX-lwjlhMy2VY)ZTE%+}LnnrekA;qmU}GY7Cbq3Zm>qkIH%$I95n+JgF*o3t^E<2r zv!B0;3>gv~9G0h=dR7gp7*^`(P!p^w{B>_9uuxsi-_;K_@#aL^aPUgyTu-kYRaQPq z>>q>Ja&>0Z36|?zS~aW^Cz$#LiqGrYvw;2+Xg##5YUJp4#l@vKepWTCy1cY<`0&aR zql+p>T~>@0m5&%*KDv1D*tR3eilarr;)?Ri2362eur|C=QwPq@9ya0%;ttSifbBZCf$D*q*=E4(u#DkH&U zV0b|&g4#y7v*7?rN%&bsK|g8zLv%LA4MZ$~l9sp?gz-!RfvQ|r2zX%(C)0)-bBZBH zj_pLo!PY4Y2->rBFznaZ&>&GlKgk>6vjj=}k%))QEgYSf6M+{iO&m?4aB7^EtIbX! zJ{*oCrV@!_AL1GD8XSdv4USjrYhV-!v}frEbS9$qW(7ujmJY@%9YT?af$k!?u@3M|kb zDuq2&LuX=$5PMjIP(Tv9Ba0d{o@G=cLJ@*wiC{?SAPkNn=$3J?E-n&+_ADKYSKg1X z4vOMDQ(9m})b2TX_pa*51^wDg6%T7X>6MK&Fp3Zw7_WrTz$j{H&(d+}EDhS56&USV zIvB4c(bSO(U9j(@xLv0GX9EJEO;k}tNwYAt8F^BJp~xX&c%_8~!y6KvX(3;$V8{pA zQ$f>Aj#Tin3wD*09AW_BpEU;XzY`mY{;YVhZmjplM)XLL78?ogjg62Jc8-mNX*(=8 ze*crP5hDQce;ykNBNigks3JBJ#or>qI%L1ONDG=3WBa&oj{5ellLc|hLYpO0~Hw0 zQVygr%vglbN=U+nA6NzoqAb%SkEoWw6X+dQ#F8*fG(&TcT7?$DeXBd7!gND~4=X$hhP*~S@; z=n)54$WoY#^r!}zD+vvZOhzw`y8uOmXtI>70`XH*MT{_I4~2>emqER-;sjwK9R`Ww zAPfEy2quWcM$GBl)@%cwoxWo}>t&fH~0?`T>@0JIA&`tZT?e6S12mHGO-Pqfl@%im|0T1|LIoPzxQag&9+dFB%AAZcd1lN} zG2%Fkf!N!P%^u(y^fU{hD9FY&Rv(5YW2kwDNdc|AU?4=c9b@x=G2kok6PCls*M*dv z(?~25EsGiMsR3WOfuxVf0w?g4kxa^gXF3ky{7c2-a1O7|S1dvS&WJ91AEJ?Lb z&LMRZp~HS`dzJrAh7E61gxV8J4+V>&lApNuBs3E0cxc;XY@MXM{Tw}l*zCk`YB?fK zlIfLcX4N84Dh!FkNl4a-!ltrqgpOmhN?w;Cdckpu#Crg>@Hmh>O|zcXG$qwWF{b5? z3W5u6fwE`Tr?NsrNNp1qN7w;$<_gObP&XNNR+%d5>B`>Y-ogI z!KIRhe@9-S^&868DzxddNc%QcKy!#TzQD$CDhhJv35ms>x))1QB9b2jtwGx;)HxjT6|Az%OOofCf#uYN{JBC zXOR0B+Eam7F^=py%Zt-7p>XLQKr<>wLpY6KGe1J$*@OrU#y%fUk1QdTsuTan1!N|Q zcO9qp|8T&HA~@-Qso86f8;l!hB!3VS}kTW7dArS;>AxLmV+=Rz7JDccEpqATTPbqKw^>}U}bjfpq=p>;!+0wrP;;z@DEfC zJ~xcHg9QRDJyXC_pah4~V!#R1o5YP?h^)AYXO9ZjMmEk=)&g~5dAph10xpz&CA$T@ zQOpA&VqlqF1>-mHG0&7fFBOI$p74w(lT(r0j`~twfeP7_-;Cl3$0(K8xMUcw$x*l2&cMh&y^60ti4 z2#Iot(Au`-<~R$2$)kq-V=a@eTPSN_L?hUj_h9J> z^=xy=DTS>Dipl;`%vV}ig=h!o)Yz!`;yd09N3lT}#vP64+xLCVq_gJ>~Y3_H}g{ugh9d~t$6coLbTOSjj4ivwkqW7DIs|h(qd|j`?!B+i_M#bTi`pRH(8xkvOCt2Vi~E+8n35 zebDE$zlGH>QHjY@GSvt)#Ei*$<^eDM0h$*Vg`R$@V4t=)wLnd5Yn!a`9=2DyTe4o;T{M+0t>h#179R$e6w$!QkOJ~AS(`w?Lf zr|;tAHK7pj<7GBTR0d+&T1v7}7zObyMmbBWbU-wCuqDb$@i8VHn3Y6Opu<0JbEIRu*=_Pmm0dKn547r-AU~ zlqi$iOZ-aYf^UalCI=5GwnDBm>3YYu?>gU0@(Q=x@D7uJ3&jCC7TZLnmjW|C6(Ch4+ zPNVU>a7Ml;h->w5bVe;*KGRMbxEvr6AkaY~0XM<|!g!{Ea6TcRCV^9#^7KuZT2drD z9KNy4SOCygkp{)I2qV`He;&Nx;hn*?A!a)9EM-J{TzkqE*fuop$Ca9Vv}Chyr* z3|#17PMQQ=Xbz2c=z$MhNYoF<<$ipGQ$FwkBkT#E4U2&Uq0PcZRj>5W#K4&#atE7< zFz_aXcOrd{AbQ~73B-qj#PG@C1LJRa3GfT>7Y6}pXUcvEZE$2oqaIQ=>l-P2OyBZU z|HH9&a#LyVKyT0^q_kBr*Bwg10Hpg{wC@nJqj|v%#vZ{Xpx~~BmCWTP!_qylXaU0u z$;f%e98d`ZxtD4HgA+K4pK-7$J|Uze1qAI`IvB5fr}RJwzC|jSR``&K-IN|6Vp8Qi z7%LUPxeU5sNZ3#_b`Dieiri8SW&waUqu3M>07M%iI3L1B*aU!Bw#K@8;g|xGz5{94 zEKALiiz+esLMj5UOrg=x8(kaJM<#D*^RV%kSH{o;Gds?Jif|w|M`08Vsmvb&u9$*$ zw3#@LcfB-%Hcn;)hhrw}BRIrcWNI8+C~T28&PYuShGGf{!z)KHZ_Xd@w*v9Xod^J@BCNB5sHkx`ePkhvlQFfB z9fhlC?h8c&Kic7FO`7Y3vl~=#uVDCgoD?mUpn5bR7Th5~rd%(Nq%_Bq)yhbZhSiON zV5}l*a%y7dLQgmdhUmfpf{59pvwGxKegkHTm5oIO@mO_E%c2f66+`b}XNUG(6mvHA zfBZY0KgH)^I{5=p$9@pIK_s<|q#Z^WN=qcVthZomTw`^aoLLXSZLY~=k4=Qi_34Ng z;czYMA|r@S`jgGIaau}ElMJ{Bu#4JrZ==aKGpbt*y=R;(V;w3JxemwufC!8Q66iz@ zSF$szxU`H`rNqaI2z2SkIJ*~OqzAD?<2Z(aV`Fi~`6}iOI@v4Ev_jS54~n4&QBgxl zMK&#<6jU~!b)mgH?U6;DplJ;35}iY%lf6w~otxwCZ33(M3kpZoJne1&+kRfu{l{&8nJzuTDZu5I7Yvf1mawK zqTLGh+b}|Xd`{4oKo(cExu(dK1=h`-vvP4y0rPesfp(}-`0^@Yi^fvnNH~{-vIL1O zosm$^7N(dXN|RHF+%)D44UmmALnO_y`)JGw8W6qC&nem~aEA`SAyk~`dqKsawW)FdKccG>n8gQ<)y<6v{kLsJ$Iv}fsHylz5O+B*?P z8HG&0kQf^0szd~&%u&jOiFU%cHaCTKV}s=#=Nb@&cnQQS)-@R35a&!h`C0`-KFA*P z=6=xy^^K7Dmdt74d9SDw42uL&+$J>QQAVCML;O2W@7J!Kf1DlE*yaTc3p&oHfkp3hmk~td#SL zbB)p6kj{A=_cJR-M-STKimk3Ift=UWIGk*F2Nqc}o_Ul75EA!(Nl~EY>;7W&SiAtB zkvbiUSGqvqr$Q8eL|6jFEosSCS)S|@+1lK4XJmzQ$%S4KZk+{VU3-*{G-t+!+5HJT^ zM6DzQzH$m1n~a04GZqlEXX#+PQVY&(3I+ipf@_Il4tKk85Zx!bwV5fLYmDUy;TjBu zbqT{O$~71Y@7l9;tTikn3Wl0T8uh%QT@w;Fyz3b&r__j5AhOF=N#?a^e6QFQLS<~O zED(%m8M#_O!256ktr7_gj{D2B(<%f6jkxJxywWBSEs7_TBoaZma%s77$`@uY4+e5o zLP$~|Bd)AVqb;%t!z;cu7~W9UuskRjQXaC$xh4-TNcULXpod7@H*bx^x^XmHN}!vA z&iwLOMuHl1fQw|NYiV#a?yG1P*E<*xOzJv-@yh(zE#qW5T&6hccY{tTTT!Bzy#yG{ znhW|K}MvTIP!?Mh9yAZ-jIMC5N}F=E9M&(0k#L;s&;$`iNtL7EN(=%EC56Z zEhDv9L}&(Rj4bT~fkV5wjAKnon*g+DX;8ch2nJHQF$5%mpt638qY+LDqoFF)bJhZ4 zVq9Y?(lUOQED&tUhxpqM1cmj6kk+7dn0S{9$r|aJaJXR|xna)i=EQ^vgsxLu7 zElMuA(1{N5B56(a2HNpmS4!oOP2PKLhI2M~@3k4fz-%(z_q+E>QI~5okR3DAg#VM- zWNcxAbPwkLbvD`iwHbVKC+Be)`+Xa_HX|ah*f{O9K(Ud=O`_;2gZmQhAlw6QH2lU$-RNFui*P4pphE1w^+~YVwiwB;}!E z`%l_x32%-12}TkDG`JD>ZsH!uApAA|N0t$75fI`A$SCRqaC{2a8Dg1xLJZOdJtlhDjE=}PKVZm&0!pF z#*Gig2^&BpcytYcIO`&gLd&f%w>*}~G!$T?+}c4?iuy5YVXAm0i&LXeis3MzA*rgE z($e1t4O{UK4q;02?9tUpx|xI0tYVo|m|5+nN8AGRZ|ZNmoc$Zt_`1NmMg{^JCa{8XLhS zH5tchG6<<<0OlhHDE_n?PLrTHUAlHNpSx%`TuY08QqXSU$RIgzlJR#AB+^7lr-!EI=y0Go!$ZB(ELSezZ==;4zJt>@2x0S~ zL2&{^9Ejng#dLy)VsgA^;xi!X-X?rPNBN*Y@S8ld0o>*IhZ<>AaOR?;=*aq?MjXc^(Zihe`(*_unXs`4z&3j zdMFpgWYR{e6|aP`&cg$4otGnDtLP&iWKSGZy;&%ssW+;R!FgdTC2;W2dXWxTj1MCk zP2fyb#b=Ri>Ji_iV{Tr3HB;@;Hp{9i$^X-jK~e=F&UIT9tf7RVZuvK@g*Tt+L#rzz z(t_eq9Kc9(l>iclxEUljLXW1S1lrcMZ72>^+n0)|aGVVPrK_9hnnih1kiJdsa2fvL zqm*#e_y9VcD8vHzdl<#7zwr&an-ELpgX;L4XGx#pQaX&}43PY`SiW+5ZHq@?YY1g@ zw$*D+I1mr5N~adtO5sh^Ylz;?2gWJ8q^*MvfFdV_Cv-(EwUDKb*TzXlH3vUVEsPQx z+kzGWbkKF2t54V4)kdUXBd|P&Sq1~SS_ngBWO>9t9LML#qcRpcotqdO1{~LeR7d z0YPK0bTIw|6n9M}!m6>jio(Us=M4yGJcoU$NfV8!DT$F0oz~S0sz?}KNut5zhe}L~snmi=xT+o!D_`=?UFE1~x3Q$c* zzp6pQM~2Xx&iF3>9l_sJ*wdHFL}*0k5hE(AMh6Dqd@!B{a1M}uzy;wS{M7(z?)fj# z;Q(jA@z*6ZT9QjPo*2M{Yq)GhHB8XIi?=7DIERC)fvk-UWXl9v(CL+<%F0It2GDwf zmtg9=Ou-(VORI)ejwmSZ7brfjZ_fhyPoVYCs;ZHr+Z7j&DIYw#s&Z6$(XjH;qSB$o zBd;12FXw+rpgDNV94H{8eUQ{{ivf{GJ zF(WD}2bGO3ZeY0@WpS?`%`rlCT!bV!Yxm{4X-m|c6ye@sn+)cxEgN^as9U2sYReU~ zc3-ZpFpZi%nm6rGIetMvEblP6QzHx zGe-iDjGD9dA*gz)0_71<-6Ux=lPiv)x zeTAsDN~A}mWuJV+oipF|XS8p2oHAdDi72~yn~!-fBX{AWmVj8ad5sd4qaczk5rF~< zN=BsL(aUH;OkNyEqF#Ukd7_22LOqa*Y%sn>*<2(sL^R(vS3j5Qc}Hy+`ZYb(fpfM) zD9ONFL+NUsI;9-=ncs;s?}6he5dk>@+H5F6k^*m_)QLlm2~|RvhfIqoBy)C05Wxi+ z$U?_mM8yxKOgJSENFrUq6*=@)mI_*1MAQTC0U1TVYrMyvQwb-j{wJ0Ur^3W%a*137 zWr!+07r7=gIBMj4tk=CV-xv_6m`eOj|3y_IR}Fx>aDI$Pbf zD5?+8Gc+0nER;F%JrD-j@s0H4o015U1^k0N7}kR$VB%ePCw(KAVj?&72M0D9N~>$4 z7h{@SifM?aNJ8QAEa2RpuF}wNXnfZmC5%{Vuu4m$s5B+*SkO5lEnBY=Duo2`6U>AX zUsUuV3qwSPQnY&&2|l_`mWYJ^0j5aaQPdl%NgJmchRU`bE@$4oC8%7`ikilvxQOxU zH6J)$PRkIB7Rgo0Q<`-t%&Wv7Sg^5FMi@WWiu53Mg0Gn~gi4?!0JY+_ol7GD72Ja{ zCZ9 z5%6AwLX+a#8{_aEag~RkN!iC)Cq-BIhKEE$`04$$h8If{3c{hnOtl&7JOvE}gfyzs z4TZ3Qz(qrrH~wtbilgfk-2`BLyXl%4TugS}O;^IX0)yZV&3HM~5txK!$&?G|WIUzI z2%zL(lBw!I*S0POu>tey_!da6KWPyR79r&O=S$aNPO|BR?`*S4E6 z<6^Ad#^W+=346ho(Xis!;Trv)4XvqE0vRd(jOdQq32Y(AaIvX@q{2Y3W`zmD@01Kh zO$G6a8i!j@$pyj)GBW-sDfCwm@d6z2_O18KaTcUwYJ5#B6}@2cm>x}<5#gB>O8+74 zhYp!+_`ND+W(aMZb#l;q-qo-d{sTv#k$1rILR}4z4dC09spEJ8Ml~ECEbzl75G1#W zxw-{MQyj`4R<0IZ(hGyx$SReZF-M@pEvqqADrUs>Rwx-aZr)*IkLnp?WsU9np^+I5 zf>>sw<5oJ;p83iPK_h7P9z@X8@>UH8+TnU%Hr>m+qamC!K&;;KZf(W>#9K%LZa@gd zR36{UEHaJDNma+p`Pd{AF|$S`q?Ankg&HnZe8;}kk?PmJe}&|dA*Snh4YkhOH?gM_ z1>Dl>4?*G6-h>o5+#WHK^guQWI);EL5*EG{v^LIyY1%E?FV0e156=`ZRWwQ*5=ck+ zupffK%yGIAjnc(VFmgh>iR}Y5v_K$eNPIAT2At9c!RlJ2Ye>U{(xC~AkQ-}3Cvvv3 za(iM3rG&y+EY=)nS*&egq)@0#3KLd#U(|~l_MSs4Y&ftpGU_eyO(Tdy_kNHcAU46G zS`-LlmL-ovQCYG$zFA6M1;4`x&(L@_+k$-+Vx=kf$-;uxAzYRvx{LWU!O@@T-)06wXgX zTx;h`P#YNM^gb^V!-_+Ln?_IP%cHY>ouH?=d|ge$V7i1wK?|ui8=#3PhrHP%DWx<7 zMczRzP}r|uAaH{ODmsGuHoTO0bs3i}^6c|TqZJPHK&j#^R-?)wDb*y-Wos+)MmBaH z6ycZ<&LLyY2N|viM31d2@9p_F5^EAh?L-7U2SJ64NJ)q+Ty`oy!IiuI3F|&CH^Q25 zZG=U2Mxzo`2%-Kui&FIuETPp zqyn2p$VQKo!8&Sh+Y@v|3jx}Qg;?6K9f*aH#S-VKAca09k7Hp`REft#656ZzvyZbN z7EBeRY<$`t(Pyh9plA-Ou*H3*_#Kfqc=GrT9Yupe_PzUNtm8gPoR{*C^#;aei(dPD z(x}6E9hd2n6UbFln9K{qb3Xil;%w?!6DBWboc8iv3N%4>hFZ= zDC5QZw2!mk8i`wOEJg(sq-p4qa|F4Wd56SHJ)1=3b|Xkp6bt(b@d#!x$5|(c{cEF( zHcm+fw29i7LEFYeDKkYj7Ux=7{ZWofW-T}@V|_|DuxrwX^H;qb-F0xD|{e@`?n7me7@W3jvP?iQ?3r|T@G=ZAnduIi0QO`=<`VJ`w zp+l#2uz??!$v)14WmIk;+)2e=lwhMBHvNP($R;0;>*I?s)X(GuYnkJ8xpA8q=s`s% zWX#Nbun}Bl+8F_8Y)g%Ap{0yCcMUCMlOUyz$#8OC5=zKXTo9ZfG#CHP63ZcLOY9M| z5M50~1)Vs_P70Z}uOzt~pu%5dj%kl%i$VI=hB)?(q6cpB;nfRcBx~bzB+C*iLY#>( zOqKTDvQo#Nnqh_u$LR{kupeHqkFzi;IyX}TOBg#@93=KAOe4Z-7MP@>$}H0KVRM|0 zNyOo$krUOW1{?Agiqto;fb`Bdwt-J5W1`hWWw8hp5YruBe)mw&gl^+Zr;*h2In+gHBD1;Qd z$$A_ffs$ZqQm#d-lQT?0c5)-c6xRviG^~Gmx{u3^o+exyJwrKlg-9>DOVG&&9P-d# z=!K3<9Tb4DKW)_MGHob$Vak_K$)@~?Vq+e=W-TzKJ6-w2hc zhFK^;E&has!4{8AICnY8X7e0EXbG(Ao9VQ17ENe`q6`CQnI5o8AtlYaP_M!mm4`!# z^Iira3!mW$mK+2Hv#N&C#4B_kCHutxbwuxwu^!usqC%lAq$qF zLOP!X3d}RwI1AGZ=AA!P({drcz0%jSVpf|o>Ie`E`m*zaTIM)MtjmqNWRA0- zLEA8TrimwGNv(fzl;-ApruJ0^xOn&$8kS992ZEqJPeC zAD5Fs$F zu`mtUbtn#13BZsFho%Co-F0ZB#~@5$VRk)YhwUg&Ldq7`ip; zFSd}|B|oK;l4O@OI=cv@`B|@P!EKU8l6eYf)Bc(W&2ceuHN>7BmYQpR@OK$t`?I-B zNV>#ZTz~0ngY7;nCqkNFZG_}TkW9$Nt=*u!F%eRKu{$A|eB{j;Mp&p{c9$q+2xCkV z=~`iv1$pAMLGmwW?!$5-j|tXBo-nmqXY%CIJTHBlB*~+{*gJWo-^!&Hny&52??#-d6JD7E6pP~aA&)uqJ=%NcmUG{uy?1V@1LXGO*7m>cO2PiO z{rmR6>HD-vqC*2=Tv``Ezm0epekwT#x~q>9Gkfpca_xH*g97~D?t6sLB$@;LFWtF? z3P+>O4P(E-=0z~XCVgaoiV)7zTl!OwAaGbBK^@A?RIb*UBA31u3Z}&b<4O$dASp&b zQ5iE+L>XxZ&(X6ptU@0N91w;#?c3wm##txa_&cyD_Xf7SQ1=xm?1tSv?e;|}0SCO< z7hs1DzZr3^MsnZ;6W~m6)SrWGA7{ZE9sMK{(?)<&ej*HqlzA2;jUo{0uf$1g8O(9k zsWm=Haj9CIdV{Hn>c#|^&>}~6FI*DSAUTTt;I7eTi%yjg*5Iw<83o7aME@SkaU{YB zYWh1=DX{E5E?e_#hnq&d#&zBi5@G6@3vs6&wzQOrMktf$0{-SU=M>n4(29Vk$VyT1 z2)a~&hR9k`4H0jPvFkDtrnb+yILF92atoI%_F&ZTERHt3e#4y&jLVIJ=6up9*tlU1 zNkRREx=PjM&$IsV61k-V{kTk;d(9cB*Kc>^{Wq5%_^jUW^lmg-2&3jeBcGLTiASM( zycAqy!)*vzCPV(~gcI)La^p4=u8rG}4WY|98oBU0h5jz6`O%hR#lGA53q7<39U|*L z>8zBpD7DsVR7}tXO)l1qq9kmodW)n$wNKlTCqKuRnro5}F z$)iY#P|BRjj9`;j4*w<#Mn_x|SEgn$efM!WF}gONG)8aSl#roTEics7Dm+#A^1!?i zYLw9_R(nJdGJ77_IRo>$vaK&xWN$Sdi$ZFBnMnIM3(iTu0v_0oJTx4u!QU1(^fg8H zdw@*nRsYr7+BoYJ_k_1gmA{r3>TID~TZH?C2ZT%D2t(vA;R&Y)SPM~&fs9D|6HY-G z98N`^%8zcbkJGUg1IMD5lxy_>vYR+~3Oz$DL(HOZHu3&R9Yd8=%Dh<5i_vEm(Z=bD zQCS>HkgBo=7D_64Ac2I%f^e$tV@93;9xYdSVAp}~h`d_^NC4rjB^2mALAD5E(?78U zn(;n=G#1N+9*PG2SFoaio!hva6tD)@$~z=!;WC_;4mPr{L7l4TFuLWd$5K@m}Z zvri%#tqtJxP>K~Xf}fp?xE?BO#tOZwEcbD_kQ@oV928WW}S=_-!vtS zWm34`s=f)&EM5^5GG)#!(wLQ^L~nXDI`U%-g@Sb-mm6_RxM{>`^p;lSlEm~ET4U`@bZRyR3mv857y74z`?%cbV8XT00j7$Dq_N9}m9Ep@ zY#|7_SiEzkou~+Q^KlF+CZzrzL=M_okjDtm1sabwcUmVSd}4MivX1gcGWG{!6g@x_ za36bA`#1|~;U5}3YK`+M(!uiYB}P%a6HNN&CT(0Jc!|_PK=yyooCZ)PL5FQ9zF^#y zZcxm@7nGDXjs0 zI33-3ui`8w6Gwb83)eU5J}xIsqQSMWdu&f^GQ&7IZh4_afrt*!cB{$fxdbbsWw+lG z^=u8J)Fw3xPql$@x#8TLPa4h}JrTk<*I(!l=h=8IXcvuZ`?An)?&EU9w+S~5-`=yA zUOZ#$PZ{6(3oZCgqFV&+-w=vd+7p|fXmC6fC7r9p9+1>9^S&~kteE{7MIi~{a1p}h zevD$Kak){(oKG5MydO36LmB;r7Rs=%PVr|7XOYPw1I0b*Z5oL~EO2Jnzqf}?tOhX~ z3Wd<|AnL!`A?iLZHwu|>(ZHQW~L0(2>1=3SucbnsH};lwrp( zf)X>I6|wel77QXYgTN%Bco1?bpP{3-)WcR>GQ!jM?_MBmU6jls=dX>^eVr@=kkl-Y zj)HQ!GEKWtSkbm{Yy^1W7?ZOEMPdnDH0CQKz&fshaXCql2G>ge#`m!3)-kllQ0v!8 z>CSEVMB7XoZCSR7Q9HePKB}{g!{PM2w}oaBSa&+U4jt$`z)Hw#{E+4p#W&B zq&i<1O#@I_mj&{1$zCX&1@hg;<%WC{ZW{6%*#{HI*Wc$2`P5keeOKu`dNv3TVUv+X zQaR#2E;odmaMKX(eR-Z-D}iwReI5~R%S(9X@*K`A?7gem`OL!JyPAK2XBN-~8dXk> z=Vt5DoUL++CSh1m&ER&>Lc4kix2c7xJREw}2$pik7Py5RFZ3+#&UZEAe6?8<|37(G zGgtNh0?sUCx~ti|a2e-nOq?6%5K@R}SdJky(s2Wi*JPpq0W4;_{1Q*F_dphoyeZDz zaYDifQu@DC9IqLUUritfG77}e4!IiT2(zHf+XeH1ClhJPu1 zWppny^Er4%_cv0>fdk6Z+DM=-C7o!L4**2U3((TBFXr+E^2?}AfU$kY?+Oh*!;^wE zbdeu!&GMTW!dvAyy(E~*zkw1?eW3#ZrkWL%(3A&PZ@eki*LD%7{;_A+;W$3&U})NGKn=6&X8M zXiF(cxRK2H^u1trCnTwfDLkX!7s~4caj$4r5G1B00FQ`P<2@kDnb7iu3V?i&HL}rh zL5RPOZ*#Zi=BmMwOHwXEDQJsr4Lg^9xYI`QTn-Fu=tE6>j3*hHSiK!;Q1U-jaDg{6 zj#V@T1$el6kPgA003=YyEGkSa+jYazK>(b)#<(L{%`8{;RhX9C=M~ZV3^F0BVF8fX zRx?N=mseyf0nqWS2>_kKps)m;2h$ux2mm!)rZZyXrct~U%~2fPMt6z`##882=<$kA zF&_2N!B9k3{Kk`v%&XoX0jo>S$9bnjJmQ1%FgEuGl|DckI}GefOP+ppND0uw4_+F2>bIJNE^{^$T&%cIsiVY%FE%+BB6|sY^1CSiPED~iTRzDsnCksd(^7}gU@E51I9SOfgjkH1PaHsa6)B;^g194FoLX_wVa`bo4>~Mo z4J2_pyui>O@>7(dsj3J${fvW6W|rgClXMVXvCZrqOH$uW!(KRU&zw_Anc3UK zwZ<3}OYpv0g>4DJE3y@Ks9lO>D?$|XgmU>x1wlSY2jCUqlD#cBH`yCovj%YPAgI`VkY&`J3T7_-NeqNES&mkke8r1M4G6I4& z2OG`2B3y}pj&n@}$nCQC8+JAF)#%ovzCV#v~Dt{k2juVWD+4yct7T#v@nTg=>uy3HjbvtFSF0cty6tju(72EKdr8nnN1Rydqr5 zla6y!o)Ffcqc~u9eaB|q@F8A^y;T5PJCkaSC^%*VPC;MuZwi=mm^hB8a4Z75EK17s zT^Sa@*TbY|l&~zHDaLlk6f(V_mR#CKnw>PZH$AT-QAq=UQU8)D(w>>5g&S1XG6J2H{`$Gm%)VEQ?tM z1J)S@19CRN3wE^7p3YRDwjANG-28Lm5*Pv&X1#YAT&o+_rz0YKquapyKHM5aQCMQCAWe1neJi)-Cwb1&|W z%umhZZfRF9^G2RhsU&^K9X9?Vqwq|T2TzMam~rJW@v~aAyS&g6UGuXTkIornli`0N z5QATsc0dZnBq%*fw^0nnf)kt~Wr-DN^e{%1;Il23Qfegu5ujmI?+Nr`W0Vv(GwM9_ ze-+6heuFwA#IQ~WAt+f-Ri(n2A=k!GmZa|ZDF>3&Q(N7HNi2}jA^3$iK?>q~0=0*xd2fgU@VJxO4J7c6+i-`!ji7y_CY%Tiz+3j#d%*=4kd|u+bBDi zB<^ja{0l5eOztg7B=^XrBr&Fy$Ng`XBvOIjFQ6n57n+2rKQgA$uWHcnktk5YT?zCz ziV^Yu;?5&RR91}+3_!seo?b%F%14w{4!*nqCPVgBCUP{~S2^MQUF->PhA0^raaBdd zB?>UTir#SAX@TO?D@T=;j|vQ+#@WG33Q+Snx+>6mRQZs$J-c>^!wXKe4YvyiL$Nkk z!BvB+#*Qox6rVk8#1+({y0j`VK)LqFGo{eL%yh1CL0dcpkb;4Dq5ATu(Y2g~QG$uP zp(8>1&giO9<%5P7TuJk(9#&f3xBKaVTv|TksxOoUu?426uU^B*m2R0`x5oEq5s;x{ zPByn7ed`Cm#ArgmTR18#w0b&lA>fw6F{PeL@P$x;nRz`vd~~&IMcY_(5Ak&thl4iS zIM;$hQU03I>-Iqg_u4_8R6L4K``D7=a8n#!W-1UxGsR%ceaqMg^JP= zqPgg7L7Iz}FwI403zHX3H>xLa8lmwPEg?4Mq9x2mT6CBWvY_(0@fIy1Hs+!w%*I+Y zwQoWQPc1rIVNvXjKER?dU1{%ZL7MC>VVaB17ACWIho8#fz{Xhp3!cCQK;9zc*VU5#S{9R38=kS zLD8ONPlY5}H?n{0MuiMcJC_?%88VX2KB=V5Uy;ekB6=4M4TvI=1mcxK8Vqm9b*7Pg zt%4yRWKSJLmW{1~8+o({0y^M_Xx>r0Xh9KJuub(Do?CLYr&c=apd<6p7#A z1tt{vtg+GN%=G4a(VN_$p7|^X?3;?o8T+^Znod5b3T3~PFehn}LK9e`O-2lwFeK7d zb(DPI1BOQgI@3W-T@t}~kOKuY<)f3pQjuYtwaOHc;`A0-a+T@hoH7?KSjotx4DQ7c zGPiA{(PTVL5udB4Or?q2Yf*AwkHSGwimr8(?4{=O?qckWY^9!ZQg<@?qq&6gQAVyY zW)Me{166)VgM)~CWE`xi4++40ln%tRzQhG{$eYJ-OcGWr$lc-eqAAo4_(iliEoEEM zWzNTXjd+_yT^i4PKtZ{SK)X4;bgVgZjy`({MSGSG#w+rbx^zK)Oz=F4Rv?9<=z*ij zN^&;z81g|n0I!5FwWfs< zjj1&$AD~r8IC$uwGL^PK;~L+?mKZvi8YY(_%#5-EWDyXliVjiqw`xwnG*7#kb2l`n z#zk@-cq8?mw)INF?tqGH@OHs-m=6``@D&1jMgyPI+|Y&vztLUNTs}cHA~ zst=)x5Vv{9DLNmrYka(s&Rfu>FI2ikxZrX)L3k7ECx!dgFa^k>{EosC}`*BoEqMB+)JfYgJ zwiQN2$)rWQQ8Fc?WD5WYbt8_YTQ%{-<8Zt`1}mmce!_%jezRq+Vz~JTueX5kD$10n zK`%`hG}Hn|kgriGMq>lucCC!N{xm10&}>y(p73l!k+{}?cto}dLm}LJWXG7Z_S9ag zU}(?mK)j;eG-WPmr=Soi3~${Z-HD;iRZ&AT0G>#p!H~3&AUqO6gWv^=&ZLmA+mF`WvgDd1{muC&b7`L~%dSE@qqk?N;lpj6&2CNGh)opRMyfgoc%m{wtG^bs|A z3GxmzKqas+o@_KN$9Z7p7=n%Ih61dla|BP z?CI?`5MC7z>3bB~L*HZH7?af-T149I9!GZ-qozgkWUHu&yLgllO$vrYtiFAb&%8tN zf-z?$W1Tt?&3uvr+D(1$g7);jzoxwE5+zI2y

PB?RAigKDt^&%c71W6+m9Fh+* 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�qeCMr0y(JpX;obyfa`Uein$5dN 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%0AG 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

My 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

^Mz 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%0A)%%wjuqXr_KrIPnQAJ7F#6rcNa%>`=d-U( z*4HX9v+rU(v=utaC6EvjSgvo+t0PtFbvJ*C16S1c9`xI_pEgXoMOq*?K2>&)sJNJ>4@B7gX@vaa8~^8ThCU$?~q9M6bmI5MM%D}u&c_70>1C$Z=2mp`^9=d-H^ znq!|ImuO>6j+77}>mz&frIQd?LX25N$@>1snnoo*o;1n1b#-%hwD(NjV2<_^dfv3t zjA%j;7yX+Pc%QLQfRL_`ewllZM0i`Da()KV;{FznT{TYL7b9Hz8C$Q^$FPswA`#-- zkCVUv$tkX(2pfzvz+!ke;8t+s=wy&?w}|)AxbMJ_%%)+yT#1@IO|P9*$GESvn$|)I zgB?ho0nDHWzzm+VI9-RkEv0JmkUWytDvKb}z+&8LhBozAHwI_}{{R*;AnZOKSVz;1Zr6zNii*~fCTKwR!l`z z#0C2T8vk=+P0stkQh2{|bqNHJCbl?DM=T{o5Z*He>}8gszZH0AUunXxS7=C8#pe^I zxS9#|Z1dSrfDAwt9lET~CW>>ORwS9Eekuu0_7T|fP0MAM%o3UA-p~Z?0pYu^;iU6C zz+?$1%BPy>C`tD$#q-!`7u&k;W$(%8(=PvZok?rXPP$%0)rjo*1#OU7`>?7rG^)T>%=0 zg%imxvtb%AOk4oQ22o9cw|TT~izc$4E|b+Z{sR5`83!mvKIK!wzd6+H6UA;xcAW5X z5UweGT5SfSOGm$P%dtxAfz)E!ON>{NTyYmB+e7XxUdQKTMj*)OVE>J6qtfYSH}

  • Py#qL$+?XHAwVv9 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 M_JMU6>fDj7R>K-1QLDZ*3e@(I3s=wWR@Mq4lin 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 z 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

    gr$nlKoLPshb* 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

    2vieu=tRj;w0;)$R}}^ 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⁣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 z zk8MX_h28LL62tQK55SpDQ|HEE}f zlRMUrxxj5hGdYxi95q_JVj`L@ zo$0W5q88}9%>4Q6j{-IdLXic1Ja**LX8+tgNoUffE^Am){`lHs(y!HI`=4J+thZj{ zOWt`buUcFXe+l@uEbGy#{C_Kj#-~c5Xw%nv?aR2cj^>z{sW$j5!Sd297(=y)h~vA? zvOb}-px(1ylHj%YRGpw;E<|we+Gp1r=s+3g@asrA$u2)7xhpeg}CWOYO-m zfO1;K6q`?>IL06}=^*^<{@ffs)w1;7RkXf_FY3&vArsTGpUOM9w}-+_NF3CLAYj-@ z&g4mh_!^WD_PL^l=8iFF8SkXOfM=@;SoL0@`Ru z`uBv1dRAFKg?Y)Pr{9jf&=Ng($$dcsd_5~=vweeYu0Nnv%wy!;x8GSFx8MKRDh82k zbf(he=p|mO<>`InNvHL#yAI1xW=`#ktY9x-><|39}P>z3ID^b%iBP=f!x@)SQ5AQt-`r;uw zxYDb^yN*rLe9(q*LThWetHcnYcv+#ck!RmS2#UXOVS5j*4PMEO;{Oq>l+W?W zV_q5JsuU%~&sC1CZlhgZT<90}3A@4)o)vH6sRUIpf{FI|JG&MVsg`k<>b)z!C9bKC z5PAStaj3PE;X7-^i@#u=&Fw;MuL#I?x(;dVF>iq}88bTcHEs;=j6`eb(K2wrZAtxH zog~|@-@3G2PS-NEV2)wDZ32kTOG?VtbLOGzyq;r|RhsNl?No-(- z9c2b#$wW%Q%?HK@>*LdEEhRh%B9s52TEGP&kl+Qc>(=6ZT(MyN;M>NCY(Id+S&RE& zZilrJ-Y9|H;X+5;3x0+Bi)C+6;U?m;;TrpBz2{Wcg#|qrvDM|D;e2aL4kc1iU%rF) z+@>k_wZBvU`GC*t8mOa4mBuCi(c*9xIa-~h8mt+fWfwuwv|_pMI>|h%*QPK+y7@+f z#F&vb`}r@jt{Q}YaIfNhS5wb+>^TJibsGX?l9BODRY170bV)1N6aAO9kPmK{!G+AS z@8y~63|JjYhgJU9f_JEjCtWnU1>FWdQRyH^3Hk=P;UdHM#HoFUGgXR_)TAO+^Xxa( ziR~N5Z${n5Y_vPGG$ui#Sbs{V!Fn}s5o9I~Fx*4kmchsCIu21m8^fFv!`TMi(`_%_ z;xdF-EvohW1*IX^VC-`)JDYg}@?xZ$ZJ$erGUbaAJ#Li#Z1`_7X^YE%KLE^CZ-Cl! z<~7KMq{S2|=@sA=6b0W~9|Ef?uZV*eA>XN+Sa6(vonG|_sS7p}i7E}GuG6XN5gEtl z0cy}PkP!}4hyM1D5P^y3JSs8K;I2hvgEP=+a)3^Q1lrA6(8UM) z!yT-)W+@=&tGADraH6+AVERBJ*I6so3=E#!H}QraOE>4-humf->3gDy;)c@(X@b?f zi87z?Xd@&WUGf}Qj=BE8%%X|b*e&XI@SD6q z8EO^A4d_ON4?V_jjSz@6*5>6hHd^iOYVnK+X|m>cLdi$%V=aY(m$x?J@HyL}j~hoA zVds-nMi?(ZHE44><#AIl8c-pCkFGfPGMwQ7nDH<6FYJM(HApH=eF&O=aHaq{{#W^_ z6hlXnz{JIy3CBI`mZo3=AepK;Jwijoq3>M>9s0+2-i)ASf0033Sw&hcOS=5fdtq^t zXx|=%qzzRrXoc%!=yFJeD|O(L!WE}sQqaA6Nf0gjkAu` z0x&|Cfgbz$0L`AwfMGh4;5)_lmVbfF2&bM{*JfP4VbG=FAEs0o-R83=RAmhUiJI>l zTOh(zr@VXouBjQMn6jVKBkE_ekyaK?^^vRXeX9YR$y#gQU16#^5OroTE_WUS$wF9t zLED|Quo&*3evQ=W2_3(q(0D+ejlzYN#z8bRGj}S&9`N)7kuR~b$EpytH}tG{!=!Ar zrP?B_(q$XfJ{l@6N^$oP+yWf#_~3QB66A%?XAsKGleFGytqFLM_ym54%8+5htNXnk z`X9ml%Ih7wt^prFgFevgK00*l^1^@<%#{xcU$vHM1YmPq=P)*k0m9olGCSi8q2Do- zEJ10#wic1$@KkT9c}t7&m(|J%18^wHxK-QyZ|^gZTC$y zLY*C6w(2c&<}ZMg7*D|gh2Ysy_|1C`E1UO%>tO+vy0%czF_q!|=t21>@~u{Hjh28K zIUs|b)qj%TM1JKS!hpHw-Vw~#>mQ>05FPM_uY&#GTD$rSi0FgPkZbd?i$SgB?gB{& z;0|32gl|KOv4RJ{9|NqJRtbuY!@xF>c>Tg-tXI5-&*b0lS9@-Q`~kZ7#-b_*^B;~& z9l8%T;s{WvmyMnlJGjXXPQe)-V{~gaSm7@cfY@k(jS?a@db5V^y!0*qK{W$lxZH-0 z{W9|$)&82a{YBBvkD>3fB3Td+g@K=W$}#VPj=Tk&zfg_YtXb zB)G09_6IOF%B0Z)_zZj4I(yJ;&^k>kYuuvAffu9YZT<+bQ1xE}Y`b&K`9xzCz7T!J zrRZ<^48rFkD+__^NShw$w;Rg`@PPj1!*9}ETmI$DC&Ui4@AVL|gZ^EnvVr@>8#H8V zxB}pDCUAt+(mGP3uz<_z2dKrz56SE>9`P5Q2l=gA{a{8YeQy^i%JM_sLHA0})*TXw z{1?ugdR<4XD(NxbBvf1M+P6n%r9?de{S(iBo~V_Cp`J2qnjV5NLvV@6V#{RAAW#j_ z{S-M>b!jo$f?fy~N^#q7;thq-^dvxfo*0RV0Y?js14>1{6QJ$f0#&iD`2Wg6F z@?~f33e{zJ3ZO$sjMyQeb7AC>#X$^XXw4#u?+PeU{WjD*(cnn)^bP|mH4>%T%8D5P zP^$JPMC<67oz|wgm$_rWZS^+OsUAf33+9?NA0wb9$Va4iHXoQRF896;uzwdqZXN}K z%$8wRiyE7Xocv8zr+1au$J6rML&oONsKxFaWF0x0{|jz~i?^>-O{K^M#}w z%(Ff7M~D#Ik9yM`g3(W7aKIfOdi}8B;j%5(wB*%Rt22h-m***tdouoc6!F!3kz_4D zmQ;yqN08+TE5q%XsV>Df&Ju>yumNU^;>ZLKZ$iyt5@J%SzjB#M;mS1uggNbIA+?%J zCK@=y>5XuDspORM!%Z_r38BpWU`voWR;er#H;y_?y^Kdr+kv0Gxto#0;!jvq(1rmZ z(PGj=!A>LY?s)-4#Jo zdtIi|Qdy&cPvWl;i~5iYBfy|?=w-v zbj*7rihp3Xz>_2MBlimgWP7B`hjuu?JIl?*P8Rs2WCwJ))5$B*^?w?pW0-#!dv=v|BHjn`^v<_JOFyF}=0lY(&)kMrzTtU$sIcl~6Z0U_ZA~AShXX_&+*+m}} z zL6Co;$+DaJ5ayQ1D6azR1UBmBrq%e1mQkkV2LS^p2nZ^vxLqKyOB-dUQuKjzgaTQW zTmXAWJJKTrER&VbN#-Nu&M~^yW?pEgmS7Ei9$ki03ZULCY9yS;sx%0~FX+q3b}B~g z_g!hQsvMP>xpb}q$RLllM1KU`fD9^j8ZkEF2vM0z+pEu)^x__|&93sI&Hm(-N0$ID zD4?~YEYLJns@lDY4PZ9$VTan>Ba{oEPNc5&I)XkxD*%`)*Kp5Dk8TR3$~HN3^nR_# z>f6D4{$oWr8TX1@4iPNTR$`AQEl1CI=`sT=rsoN|420HhU$BpA$0*JZmm&9Khy9CH zk|O2AD#>^qR6t1aT%XryiJ!PuIaB1kM%tPTyE%=?;S60dcR_m?^E=se%Y4uGiqThp z!Y`18ogm@@>Rv^RoFYqvgP`dggbmW5=xgUUmqxOU!3`u+3p#$t`Uyj@IbG~ZdoF_c zd;tiJ01GMGR46t;E&K&+Tfq6lXL0TDF`yPFoP85Sslvzy4r8-36+&jMk*tq*msgI4 zHOBX%EFwu)wjO!*lSxgSU|)3PU*MKgbh{C}_piByZD{J&SxKsZvIdnFj-f7K+>KnM z;ob>i@qKT9iha5A#H13FBUpY@5p4uX-kjCKECMixINkKh~g_s(nmMi7h@A ziD#<^l|BK2?2Wghk>Hy;Y&Zr0M6HB|`&DT|VIDD`U0ju}Djj@ZaD2C4ZIE}I$8|A9 zU>}6qYcby0M&H&EQKervN{OlhBAwy7!aRilm@fZGe4z?xl}NUY4jMj0S(0kf;`JIY zg$Up4pje2@;|s8#wr%Tlu4e99D2~4*_#ZIe)7}ZMMJ*JG2H;BpY;ax5srxQ3B>UOF zGVN;cFzp`ciEfF*JGNKesE&s7fk6g+0(5B9v7D%9W7 zUJFD)Atr+kB*Iy&uNv2~G-eDH-Rrsa;9 zmx8I^$@|A-l(Kjp%o{^boH3c;F?feB@_b>mH6wcuLG>O5wtIZ7*>`lmPPnkuKD$LD zuHmI@2AXFgtdF}}d-?8rdGNGYHyv2$ z5L@1?#DbHoeCdQvr+D8~_yhex=@ zLr#(MTu-;*Kue7<0SA%Fw&#W1f4Np$KEK_6QNnMzxTp9>RpdruRbUFUdVfXGLbg67 zd2CA^zLN5{R}jfWdZJX~)?e4|A31s);!C<6d|bl(YEolIzeaH!?U$;l`?<6rPxnk& zhohbL3tz^(uEXy)UqXl6unK_fiSKRxrQ$KK>0Q%VKCYG1hvE~PqsnIz)X)4O;)PnR zmm+B1x1Jd>R+DF4A`VpJopL&hzsR5#f|@yf2TAglT4^tQvNl1ul&{f3tjq5NWIPTv z-f!(!uH}eEZe)e?o9N<|!R5xhOqfC+{0Y%Hi*cjI_dy_46&&{u9dCH|Bv*mZ@t)8U zbzIzR7o6^t(L&>ZKstUygP`aGg7992{Qfi#H>|;jwmLt2GFq)-ul{a+UEBi#

    iz zx-@{_Gz%-c&2s*V$?{J&3Lba9!lZk~?(J>O2&lkQ(nf&(|N7`ds%5BVCzqDX{_zf% zR+X%K?k*0C&?wWG=v*yFAwY4<6q6A`@9NZJX~EL71-D>#D-mMo%4^O54C`i0^wd-K zCQZpWLlvILhBaev}&i02}G%Iub@#M1b~RDvYK<)zv~&Jq_Ld{tVLW6)v@YA7JE z3ryT;PSRYmyHdPzS&reAbE&$Fl4*bxoM6U0I~mo}{-bx-aykZ(8*T$ABhSOp8Odd7Xr<^U1gg>^m}kZBn@_?+NvfVrD|gsQfE7Uy3dS%OU&` z+2XUjiawT_z4HbI^3E3!d?Fh=(=kTdqT@xTJ?1NIr2)l@1cPv<`-fYJP3hF&=>|M_Qsf=gJn z!N|zR>p{XS+@{Q#!^(-R_kz7u&-59@^6Tbocr7khpVU^IuaSR(<|3bPbu&yS@5OHU zxKGp_krKo_m3X;bjaP1eW6th4mu0I8O>MAYnZ7Kv1{H{-mJXv5KgAmemHp*FQfe3W zGv+(N_p%V{@**%E#C!r=&Bh=}gn>Qg@M&gvJvU^1{Ch9j0rsM^O4&kPml4Sc-H*SM z6Op}2nE7wk2uU!Z-JPyR3wZ}j;4bKD9zx*XuJfTZ>Z0o#QWkS!a#RC$@qdh?WY;0G z#pzJ>=L39`zx&*;IxF*E8kDT!K@I&Mo)o|+{UC0EoU6P@xIv7s*^96SyHbSxI#^eq zEJNS646lOm;2|P2*&6ZOu6WRR+LrioC24C3CwE?w7?(xy;p}d{-cw-u@uHd(eF%Yd z_prbJA;3MpyQHZxS1n83tNUJ*ys*Q%%c2sq1pH*h)w?TVXindX-w(^fdVEC@#QRs5 zNd{F=&+nxKA{;wPQaQ;%KP!cGI7cM}VA=D^M)q zf2=?+W?|ees@=bBiVd5q;nN^SEP*)~7`b302okqMjALe z2&q%mZ;odlv&hWsk|*>|0#2|mD$uEGK=AAh8?$Te96e&fIxUo$0o!y6JmfoB>R$qdvacUFhW!`}2#QbGLgeE{Cx z4eit^l5N^u1Ur6XqJIRM235*YsbCLn{3H8=%O^F3T5a zNrC6N`y-Z!|2n&IwJ=N7mCbl>l>g;o+y=Bkx<7(tB4;MAlcX;w)_Y!GZ$FP*(a~8i zhI|GEbikB`goXi$3@0xFT3c@8XY?HlE$C~j4n;VDD`x%rgW8RZ@jX8si`ffbMYKke znBVM!6^kf2&z()?jrS&y;8lVDPSIb)5n;dUT*BQ4INlIAFynTvElND{2d;pGJl&7Gr$;Y(W_$% zl*n@?$F^V(tf*j>&<^&KA0i$-!-f2ZVLPHPFX@6mE39e3pb2^e!h%j6r{Pv(H#u+=Yc;w`S7_SB$+bymx17api|S;%FeFSrx>%b8AaXpX}Y_FYzHc z+wj@_qm|>;{Mw^oPcw|w<@?(mPm@MzxBTENZD10F1hA~7A2GmuxI0ngwkwsRg;Hl7 z!t$Mo2=Rm@cYoV6kERkOaQ`8K`Do#KQ#|pghD0y|%8+(NMJkWe0B`U=_aWCAW!g5 z4XkH~;Y0aZ-FW6v);v7fjZnb5IsC5s9H=wfq&_COeY)29lYHQZFu?eH43AtRc|w1X zX*#Djn;#F-rU8B)38J_9g&Ti7#Cn2q?zc|^wAPmsIY|?#p)!50Jz5O_?2(QEJ0FO) z4vZRT=X^xCa6NS~OZk|YW?%X)bv=Ghs5O%)9sV@`O!_;8U15mDoPHNtq-z{6CLOnh z(s~vK&gGfN?c2&8mi~N|^oVIFi`?R|^t9QwD?aHr4c6-{@)G64UzW~Dm4J1+`%%&= zJMNmJY9gdVf&(D8f6DSH@x_GDQ?@naIQ*#`n#csrD$pgyBjxiAg90Rf+2${{wNw}@ zSaFUMcm8Jxuiuk&08zgHX2IrIAOE{x6vR^^Nk_vF9>T~GLrskZWSxb$Kgl}k#TcJ# z|1cJ83hitnx9T%BF8ajm(W}5NHxcyek38PYDun>F^ZXavh9ud~=+Fwtw&8{PiNo_9 z1}F`_WRIw4;TDV#%xA!R_Tqg9yMZ>cbD@jv2#7NmMW=OuZQbzc67AQ`4j|e{ibh9& zt&rSFqD9aqmjM)fLO<~u)z|w^$E>%5lP(WK8F_@y5U4Nd!S|rM3(sQyRpKx@P?BYx z7yWCNEx&Nyc55NbY&>sd6&bH zLXt7|a_VfINvoFf_hL*`;Yf+-GEQ#Wd3R`6|$Y+?)nOovW@`ur|T?UIQt2-z3Q!~K0up#ShLa?EFn;)o{ z1PGiQr~x?X$s@nV=(F$*SJw8pG3JhhSXZZFIuvRMHzE>;qgc6SJM?xogPO8Wk=vexu zsFfoyKe&Q(LQrFR*pm=ML&g7V3r6`JdXNhe3xhxmt+s8THY|RCF|&%)0l(0Fk=iSU z$))%KIEa0%X`w_h?~~NcpyRndJ}Xf()H-BOE3!rKKa3Xv%f7D}ZNc@dP~-ZwFqjJ^ zmho#nFKW#iXADFKppck!Yb3@>@u>Jng{%z7c z-a<9;KldVE?HYIl7$FYK@6wNy!U6&b?1JhlAh5OOpmR? z%Hl7PSM&FO4%7z2EedQ6?Bq7*cpxnz(}Ivd1`hU^3`Cuvhm4=Qox`QUOOg<)EU`VfS$IDwBJ-Dt4h&KxyN^fT3{Gv%fafk zvs7zWVpG_UvAGmBoL}vDoL4T-vB@_&?h4lB?mBzL==_pWfLqET;R9C>nk3`A2D^@; z8%KD;KSnWIJz!z8nJeGsT3j$d*aER?BZ>?4y#$eDF%gf$m#h2SYs@5wjpKQ-5_R~x zc9q@8kR`XrTb<67?g?031_2U_fgtnB+j7YL4}*q_f-uP)2cYa!@iE28KwF!iU?BvnUcKktGUjXEl*(is+7AJ}05HS20*=9BxNQv~=)=VxzC|*#t24mQ`Nl6uR zZiy?)$%y@yvnJPiFQdl6#X)t%;evpq1MGz?1l+WaTY9^pUG>IF?&|Yg?N4z%0JU3u zJTrd8lVjf6Cs)Uxz-!owwVOM>+n4V#so_V0Eqtfjt@Ij(+g(r7zWdn4*#<7O^*6tB z-2>O>ZFsUy0BEE6y;fX#je#w&C*gj3g7Pr?gXC7mf=Z#mZ!*f~`FvCUb{y{Bs&-)OZ7k1avdOO~>hX{Za7- zWfh)T?i*Fh_UCE{c;J3ZVB!MqN?y2Wae5O4 zkCk0g+O^(woB;R_eRvo2$5INI=fFGF)KdF1LF&+N=RRW}|A<2g6=mS)(DP2@yy z^V$pNqW^^-qMb(}_m{!EHlHn4!ie^*P4unBWVDlG;lx3L93#Mgy!_9OFh|}3`pY(c zJ@HD=4g9|vB2Kzx|1w0>Et#S|M_VP|@CGWDZckX{mwylx{}GR_&G=L(CYT|9(nx?D zD^^?|4}5y3K**&7F4C=i&Bq(GM_XMU+eyBTXtFChi*AXlA)mVzwoA9R>s=NO^3Rv@ zAMBxAJ7&Kg-Squdbn8k|Nk|2jZj~+N}H!_>~g9_ac@}8R)b9_=&`9a1Usv{s={DU|3=p9s=gUF3#i`O}* z`u1T}+?Ok?r!5lg5{2ut#O0G)LRNi;^LxYZZDKG4(Qf5&$MLngmQj=w7AQjb2Udm$ zd!sTU{qY|yu$s^pi4Bnb=^Ov8KOO8)Rx3VZfc9^w3l2YLk^jGR!3E>98dts$g|qka zCz!vPH68kFiVjTVc|{W0!wXlmP+-X?JhV|t2N?m|ld=MC*Mtk5(m`#J84+G6W#IaZ zLo&x18zH{`0Nw7)^|hJ3J1ZXZHAmHBqVyYAhokVD#uu zT0{hVk$EG+_!?oOc!o9+%VSj)oT3Pj%Z3=4lW&3Ww-O!*qw9Ke8i0Zt2ol#hDZWtv zz4Wid+4ul@(Z#zDlp4NJyhYfWRzE8|y1n71-2HmeE{m7nZH)0XsF;msbyGqjC++JN z3}&^UQSVnl_erGLSP*UFw!Cd_{$6iL+qDbNg zfGMLjj%`V+mO}xUC>CfJ&WajM&)z$ar`4$K%eT-g_E{3FNaHOM8`pdfGn_U}mnnWX z3%C-|LiKJ*(@L%pCZ+VfKO01+@sS#ViS zfc}*tnj1)nFtM=S@Hi48$h|lza4%6WJCxo>V}uP}k9*C)hxZ z3pY@5@opZr?y%neO`*dnnp%tH*Bkd3QDG&nJM>@)&pbId;K@QT zVV`x5ML*{(u^jPwD;`-Qg{$R41|f@AVuddj!$O8-6c^@Ml}mCKqx z69{g}uNdeJS#jav?B*nHvET*+a1T>T^-w{1^kENsXPjb|?}|9GY5U)J|9M&kst+6| z*kTi9e{jRu#ex@bAM0@cCx#b~xSA;M3Q}fzx!Ful%1pe|Z^bNNio%tK{)WC9g3U^c~%2&2dk|MaUzR_kA z$Y`(S*3SV4w+4rTHw4IQkLJ7%`(QkEla%eg>`56pB=r=+ntsm@NC4qiTSUp?BTU5y zLfHn==3a8(?LY-PsyC&`9hD5YTKEG|=j}WC1~o0ElKGGEzm4u2oag9ne8y^$@13>3 z^DQSd)+P?Z!M`gb0J};{u4nQ)(F-jWZ}qZ0FBUn%Ktq}<2*HR?W3e_e;<)a(!Q9$y z18g6hfc4v_89p8A-AI}yJpRVsesoQ>MK^{G`E4pG)|Du|0$L*iyo5WBK6^p+sQ@o* zAnxjQVrxgRn}DV8!%bBxXdt+H5AjK_S7ucClwN`Y9hG2gmb%s&f`)$cKfLUm&;Eab zD`dWY`5RnumxT|Mva1PO)wv}6F;S&Lz>4U#-ZXF(OV>o0;nt^Yvcu>5D{^|T;{eml zCCC#8KIft@{9nPpo?|qq#RZP)5II0?;?-;@aHK`43;B4i(}M6eNcE`xgO(4%!~d7G z{J1oa_K`c~^N_Ut=n?g+-m`R-4JO*@vNw$VqXhof(EK`l$d855S>fD>23;huzw{|d zYdj6uBj^9F_d>7EcegrgDmIsH#+tf7cGjSvHHL`94Abk)VRE{dRUIOCazbokp3!1m zJ)#SVetAdku*36sej(||@_2CP!2h;099f8#{;kEBu(0`j){E;dk!Vh0@3dN%UuX9Z zN*7KlSHJQa^J%m39#MO_tb7EZ`L@Nw!VP_V{LwF7J-JVUefMJB*2*5nTY+Z43KGj~ z8^uA7zhnR?G*@Mh^;28AT1h}T~ zR7jL*Zu#t8`O!jUwir{dJ~R}Jz*m7S<~1!*Z;P?np`tej{X2AOirOk zXZ-+BuQ7z_n~;ZQ#3b=esA5XY%f+z%TC@pMig6iRT*oAC#6$`q-l7cb!+ZJXe9S}6 z25MGrIQQ=5G$1lnWLy>$W@=)ysOn+a0MYnYEjVVJInWixl;yJiuxmVkK6D9as&DUr z{J+yW*U416S7yN96=UhG%0WrX2$RgA%mzIs?uNva%gCmfz6+P;($+*$CI%1L+2w!) zIRXh^byEIQ$G&YaK)4Kbxx!B;&VbTW1P2~2eicQJ#m^zP9_)93P>UAUH*t#EZZn1u zFqA5oJOuT<3&WGw9#Nelnz{=Rh$gZBkFxKMr?UV5KQ`G^$c|&rBOx=pL-rooG-PM5 zA}gC?lt>avc9~^H2azabMn>5qd;H$lq3-Vc{(QdQ-}k@%=uwaBeXi^Ee!ZUSRR+?t zM2zKt7#_3CQ?+N$*hmCDGXxflImHgE=CUT^!g^SpBP`Fj9%5f@fW@Z7L7pH1Ij#k` z66xepq7U`E0t%Zrim@Y8>)#B+V;KG`m&3+`x8pYWtN){?)vD(AUR71yoCG<& zp0}DUfMBq>Y2JP68LE8yqzJ;jJHLPw*4C39!YJ4$G`-TOaHy4k5yW?Z9Wda2j}}(x zVq@@&e)k@o(>N7s6K3Ptu^;&RSi=iL9aBavUj5xX3*V*2S^mm?yv#1(@U%$KPLC@Spp= zhZE2zS7VNsn}OSd9~_l+fK&#oea^!K&|?V^VHD?$MTx@qv95!zHN&wV zEkx!DPLG*I2B1U5t`9ra4ACsz6xBv2>wap01$qBk>LwS6>bz9FQxFa2?Oy>CN8<8C zQi$M!0Yy~l$J5rC=b`Js%dKwC_E)~d?h07WeU4_W2D%H*v0HXQUsZ#f1(1~WR~4Sc zi_F$Xq)xp8288QyBkSh()3@psZ*L3%uOR+xe-T6YyeyO(&&53-kt!e!Xiu6o%b@4T zRvYCfTXGIaoFWUv>c>{cu6_vfci>Q4?zx*vb1}}_;-=t^4}rI|yvo~HEJa1tj$znr{0E1FgA{EX&rKUAx}H7F zUQfo%JJg@Xu;g&0BjPVQhNgT!SQR+%tgg^t3zHF5Zn()r#26S#S3rD`0JOj1szwBq z^nCFTWtXvBGcWfo8EDCi1qiFLEE$*7R|f2vbd!tdFDl@s%6JmbhKA!2n6b;rldMVA z|7=)#I?{Y=cd5<6ih%a+*NOwx68JL$u|yXd>mOb{AELzs(+FrSUvC4C^J^Bnh!Z1N z^Tf0YB;S4<+#%xuX@6qvI$R)azLDkR(&ib>pItF- zD7ZlzeUn?|&i7HW;s>Gjv9wgvxZ~Irw??JhwMm!+>E?Oh^mWxANf2i+YHIbEcF~|j z{ZmDrTBjLC(=aQG^9gzH#h%PcaPccoqB0X<#*#`857;nIQ!yV@sf1lNF*Y7t-Pq|2M35?hRXv8%hMl1g~TViP3%Re&zqtc6NB zXNw$HnxE|qYv7Ik-F(3ag6?-Q^E(|l4SPMgRpTmYcrrELW_{0r-QC$!Tm8;NhccZa zq9A6z>*u^n&l!Ty0FUppOEg3*-XAjIHa6d3u4i0SDr6#kb(5_iX!dr};f5NKp~Br8t(*!ntsJ$0h^5Hc|eG5@Dxc zBkN#iXQydhztKE)xbvVsR}1ZkZ9UG)I+B&2NN3q{t|x1xs1W=qO+mgocFIxa?Z>=o zyFOqkeK{wsfZcx~twTD&oVh5`^$IU6(-dBQ8>A;~g+3Iz(TKbr63&5@EbM(JqcM;N z)j9r!$x>Dqz7A;xm}aCvtPwv&v);_@lOu>ZPz58Xl`rSXfK81N{ZB}=nUAHj(@I);C*gOVJMcggw06BF3U6ftr4dzhy>NCc{tgv#;kk3 zqS&55%fR4#+d;SNp2fk2;Nk1yH*4k2hqQ)T5gMD$7G@U$g<0Rch#=Nfr+$0-6m<%g zn-pO+SXrf%%i8=yL2)U>k2t&BAO%(=8u zbT2vW`He2!T>iiwEQ9Z!@%?h&hM~~3rn5>Tb>TqPo$%&#o)y-Q=kyxnZuwI5B9Z*O ziyDT`&5NROc*Ui8p+gKGLk15_HCw;kc4bpUkz}XP*HCKd0uWDhMS3WHQ57?y%#F&8 z&>N+n#TIgA2k0g>seQ#ZzYy0Z6HhOOqf8@z*ifN| zfHjnObrUq$Wx{{FlB1Z<)c=_$9GS*1Ge5A5E|ai=y=ZLy#|L#Qand%r`;L6< zcq|@lpgWOO=1N~%IOKBD%ud8g*c)+OGoa-JO0ZN>Soj@X--O=H6Kvme)JSJF8`lD#BK;%Iy*MeP z1qJT9h0oJY`+$gsXSOY)<8OogxKPoYXBfs=9+WJqr@cqQCztJhj*sz7ocEEL;rFS^ z`ryGx4*c$I4|Z3KFnhOFuLKA!D_N(7rrZ{Bx-Ld!v=Q&};7pxA*K7`kg2tD%H?#}c5q5UW zBV_uB2hPNz8x#*$ESvzR-5jeXmd%siqq)LtZjv2ndkr*mwO(1+!5va+$xbiKm+}K9 zPjT%kp8EVVE@WlxP$mXx?2dNeqA%Kr$cf1!vOs1KAE@RdLD5_r_=5Pu%}E8e=bv~+UUtrq7x3*T zDQT*p-7r`A@R4=OCRitbo2+Q3bjzG!sn8q@%jeK@p~<#4B2)} zB8wS)N(~=34Kn)rr2kRE?{1r1U#(~Jv3ehk%t-Uri;#dyI1XV(`5s)R$BVsIWvml~ z1u24n0q|+5+d!WducQ{bF3s!ayaEVO=(t&ZQ*yq_BjjC3{FHIPB(nlsq(LY=)N@G& z50?5CXD&^=;mc35>-s@wW}cN41(6)A9hT`Mx^9FAI~bxLO+nWhH9 z*L}$(qzMA}dV6)3cRmb*IB;_Dvh}EEC&T_qLH5Izsu%vxW zM?a=S%AwSG13+F9@~p0b!Ny=TNSEr_mA)`i@7Ry0 z$-?aGeqOSz7CY-6m_YS)5UBns3oK8Wzf_;P@MZ2W1&O~aNhasdnVizuJAJ~g7>E2a z_N)y{pK>!yvZ}@wr!#9b_6{djsVp9OxQPCQ!jo(H!MA^`vphv5n-~l~EE)|PxiM5u+R<<9E@Za+i+A2u=MlRM_Y5$e_vGL}8YH)N77#TmRD< zIf>cQR|rW)r-G{nLkJu+soF#HZB4%0w67abrI(eJJ!gDo8}CdWLy1Ga^8Mh}lJA!F z#0F$V-Dw4xkil!w&<%&NqPnCzMAqQYlu%na6_0T-LRid9kr7V=b(WYl@+VoUa(X{TM!I3w2{{o{%1 z)n z>0!9trwGm6rI%uRZ+)+70TXBPQ_`Mgw`NAe&3V6 z-SWz!WZB?|QfoA;)j+K#);XeJALVFmQZe7V} zl&ZB&rFN3K!(AkwA5L$1uU1F22<;HQBn_RMOZ*Lzp&OqA3BD=Q$f%{i!CieH>#*}7$ zxhz4Bd0Egd=GiIQ=rzYMF}!rHlLgVZM*WrHhnw3$gUsep43(PuJ-KbIn_8h74|w(7 zFiFo#X^mv_^7@@O^+?th+yhME@5JaNmEHLj>0S!H%$!L8N} z7&LA&ud7;_2|tlMi-#-zj)TvK+P=Iu-}VD7mEM2utKY_OEw-P~(gn%FDIY!q6Xvh4 zsJ3$A$PK{?sQ4w zyJQqf+C&pxzFnympz2XN>1OIQL?$UP!U86d_vRM_0hIq?aU>5mj?lDZq$V(`9liMC zhvuXibXhe99ay{qzRm@T<#`^u3jcH%ZE)hiOQ!LHNIb$@ix#A`Yk8G9h9e(|4_h$>{>-J3ecGV!y~AL~=d-V#`7KdVtC>OpaUoAg4*PxIDYp0b0_fzHmsp#$AA?;;$mW{meuP&JOhV(5{ zK3I@znH8-;WRo~!6!lXN!N&Px(sn1a(~xJrIl$vuS7NI41JQg3r3U}(=(E9jfEeq? z;5Ce)oo{ir)IeV1;MSsp&0T1J4NiUzFDg2Ml$PorCALMMht4{$;mK+kq1P>i9wtFt z{3SQJ;dwAs;1pdFv(`pe02rbA1=P^kwVlpOr1O8x1#Y6cy1DOlY2tfq2>~#d{`U(! zbPYbrMBFy27-vdVXSw3Y=boj5FJd3CTirBm>+Ag<*LSMywHq4k(eco=RKJ`%6~dXb zq4*qcu7DJJPY5H{z$*9S_k{3!H|6;8Nx(;|5%}4SII(yyGzA^dwRH~FI@c4Lju!kp3+0<`$Kl8;JmmvJ!> znDK?R;5go#BdX0ylXhxmJ86h|s39&aydjP1l$&&`WVL>boW4~pUHEbMzg1tQW8mpf_x=UJisNRqSvQpJQ^KPC3t%GTzx4V zw$p_>*9uo3*?&(l-o7E=6tMU-PrUVM^tKLqtEr@{mAnTOWPfAnt;(pX%b8FB_iVTb zb0Yqw>+&DHLUq+?`D06d4vux<_$SbEWZMDlYyaf~m5Y9p!0j*I$NE?p?7KfFOrq`` zxKtDo0{I~M^AiV2psz~#Cgk?#A|?}eff^hw3#;`-|H>q)I_gw*p&L8p_1n*bYQY!g zw0ll67+m6c6f?o& zS)c2UH1fg316v3sv%LUS`a|{TMyZ=SoYE0cLoJ*W*(CK~y4#DF>l(PtlBZdHqb=sP zt)8~~L^#n_Wt5r9ae|p2{6|#QFoE@MRgI|ka;1J%qnz6WY}co?s+FEUDH*<-In~gp z)LAUx7U)gfYTB;f$^Kb#Mtut(@ESPeU@O8p#^66<5u3GwLk=ZLVZr*`3vJjXLoRYr z9l87)<1wet+01S5o7~6~5LTD(kgA#Ox>o0usKOPX>P-bJebGCePRb;uMcrJKk-1mC zKXU5pU=N5p^}g28mv6SlX{`VCI)Po|*BBpYKX63UrpF^RejQ%(!lI_zdw<*~Wc&f@ zbUoNlz_)ETQ)aRIbt!27{n!OF!l?=BWoIYfcwF5%wpvyqs|> z+P2=G?%z@%Jm;NwaMysKqN$#IO&!`j;V!*$kkYU?0rBHz#}_@q4S1E;3NjyxKF1EzlOoolHxBvUT6C#t6~nQl<3l;N)W_~C*%ozrjzj3OK? zN+Mt(VPXIRdZw?nyq*0zNr#MR;u~&y8{0|zg)R%R1VfdjN5{*v68VNLQu7PWtx;pd zh}Cv4<80Rcdy5pAr_pxvZMlVo^U>2fztE{TT{O%55Bi`J5Jg@IfqO7+{z<`r`=-k0 zx`HDJDCPXc<3m~8A&^`7Nrl@iw`Hpw)5&kB)E8!_{WW*aWCiY zGuu}OhGRNcYRu|oDr8$1HpZCM;2{z~@&w+e+5U!PEN-*kNL1qis~&u#Y1Gnoa5;szi;o5VwNLSExT-AQ^_s(KQtUg}iNvUWKtj@+{ zly7R!zJh5$O(z#1-z1`9~AJU&$$g5q8(r3s@1uIg{Dzd6=PxT_cgbA;M4IR1Vbcn z-287>+bQOp9Cq;cxb_B#-x$0i`v7U*>%Y=Yi(}*dDa4-;MH12D6PyRuICYgr-Y-nt zj`o?36PS`woO@<##&;Q;y+x?IyglT;ot`~ED!L#1YIsKPa8k^J%k>a7w6;-%4SflY zn;$R_9vs{t36#D&Z(LG{a^6yIkWu6&(&5{fwkKHDR5s6X*bKI`{EUjzK?Ce)mm8&C zVCw=}$wE|aOhVL+OW_4~ipG~)KkK3!v?g% z9^9V8=VOuf3%|S6H#%uV2Fp#nhy~(<;3U$VBv6sSZ@tUg zD!6CU@>Zq>yb^{&LanYd)Sn+plp7b=dI-Ne>C}MLdd8rM;*7-CqjjjoU>D7__uQ7r zITLh_Oqve*5sU!?P0KmX_4$MedAs0-wxjWj10yP-80oGTi5FGXz(>IIctV;{H*B5l z7C>L}N@T&fZX8{j6$gIq@*yL5@33k9?eI|Rwmj2=b(f6jEg9uHS53!*kK5c3Qo)SX z{!_^6924w5Zt%l<$`NB2aYaL4Hr5bdpi79@V zbzk90Z>yh@Q8C(gnsM!F#>T#ns~TbT3XBpnpsvt+yM6NmF>>pQ;Y?3nKYA>XaVsNw z^3@CkU(m2fg(K~8QltM1(z6#^tdxVwxPPbT1>cS5wy$<(by7S2gm#t*$IPwXq}<ZA^6HS&Q+sJan^^}qEJbCAm!-_H;4sK7ub?_PSn!#s zKJJU7NScb?tmx(g&0^0g1DshX@Cm)u#`JFZSNM&^5T3m+J(Q~-)z%CTXwxB4D0|7WPM>fxf3*LP>ElT4fHBWMJhMowjMI@q+|UclBubX zA5<$e^J~p(zZCC4{c=-0MFmvfldwsZ)M4f(%;xeLLQab9 z#V2ol)j`Yk+miOUGjO^eS2m?a)1|+Fm*1Ym3)tVl0ts0v=&~!Yy5?ia#L5~-W4*0gAkDqs_oPf{{%!?_OSaC`KTxctSdWOSJvBT-9)g-1zd9KwD z&f#3vN1IVMzCqg0!Hp(j9yHUxf#}=Z#00FJyTT4~v4TRC(N~kr{99F0!AC99Qg^RD zFL5Q5Qrrn(H4*MA{i#TN(X~EB+!mkn+Ja!@D49Rd5GS5NBr?h|F$CX&*jomiyg3IR9uJQBo5cBZ=&6-Dp| zg9@PGmJ$8DOz|(mHC;9V`4lv<5~r8d!3Z5dyZe&)V6@wR?X@Uacxq2_wQ_&Jy}(vz z27E8vPwXnXe%`PFK^=Snz9!%;*uy~Kw@)7xJzClQ9JSKPR~MQ2<@p2-WWEvUAui3E zkW0oAk;w1iAeUq~`|1xnqd#op1)=O${?yzm~; z<4G@}wU>;0>@9%me07^sS3P2-sGMf$oLohSYve6jzM9wJ~#PVeu9?xiVwtpNPqk*$Fz z0f;1%NvVf;5KQY01S_1+Z1IoW$$+E7r=5=15=i{B#x3}E$9qS`34Cqrg>C`72KVQ- z=e4X)tzK=8IMsf|ddk-+USvQM+`nc+IP(tALa$Izi}XO`EI|dHb=nW9c<{DMmm~34 znyYBI>vj6>W{r!dAGf?jAl6%+ZfrmEhxoB0`5dO7`v*2Hz`k@!it97qR~q>ahAQ!F zq`f;ktmQAX=vQ+mCCg%1U~6E2W+`$q;7O-X+;WsHk<>#7&b00M0Sv99EO_P-=x8Sg zzw0Ap-(y<{?Z*kwfek0Mt4(-%Ai~#NzMYn8=N97c1y2@a2l`Q52fuD^7?wgGH3Mfk zrsnBd3$;lUMAo&H9=EdrfYR*x4n6ug4U$nz)iVMhzMBrSxf>o1_{wD*dM;(XKMw+_ ze2pf=({-QQ#@~oA7ku&v zx!V#F&7V${;(_H+G`u&{84?2ypsUhUn=1)JH@7)<7typs?c5kP(;cYBUwe$S-}Ps> zXZtauZ!LcHqmmwI=dgXvyqikV7jf6;sq<~a(!5qS z^$?jt*ljoK0N%Vfy92ro`%FmJ+0F4|N)LepiB%lFUX`s;#4CKB=vs;2UOl-FHcFkU_H%RBWD83IG0p&JD|t<{YYX%cR>Ga0OiJ23 zbPBX*Y>4c*a-rmb`%PFBf~s_nXMnz8{8_@I#ETjESh^~|V`l52{T?x6D=)7CvNu48 zQy1-+w>L|55#H-?`Jn>_32w-6T>f$5@-~!tu7d_$fHG)!t1f+)PZwKzF}|Y<>i9IB z-*_shs4oSA){?VlAlF^xQlp70%!*Yr9h^iHWIJT$h)W^B8NEBdl z>3=7et9ANKS^iHtiY7LHFCYZ?jreplQ1Zn!Iy{}@nh&<o>L@}jMv}c&WL(CMuS!*9v_kU08Z;;bF zY>rjHWwkViK#svz|tEwo3GFU&cn7;x`#ZO`y)Px{o`4S9rzs zfr2nkxyG(Rg6vR`Gqv-t*7i~VAN`yU+o00lhW5>X+kE%tMdgav~@SI zr+?4vGn8*?{xP%rO-$N;X6PoEUs#wo-AOCkJ}orb0q*oSw2u=9ch02NUZU2|Kq|LX zn4ZnoM>{seJeXuQNPe`xLDN7TH|Shxti`BESND419)!$z`MUbE@*Rc zP?J*9iGIE3Y>zyBJ-I{(GOQUh!InyiMSj`sd5qK0#BBZrhlxF)np_)PiY?;O>uR^b zT+{uZ${mrBCsvmZde$0B?*3e2-{s~UXhWJ1+C+H=Oftp$yMHTrP^o9nV44X!*(bJm z2^OKiICTalgpj9hZpfJ5{}Cnr4%(M^hbR3#1?t8DJF%VF!XrNMx>8O9G{q%qJp{Pq zO{h*iO{YO2-<<0BiL|2{5#QoVUB_5GUgaGJ0gy!S*?85 z*KdU_(D~3b2Y52Z%5K1uacZI2OK)H(GQ{`S?{cc+YzA>;ULlnyTk;covjKlcS+L6yNHFI`UTCy zX+bpx-B%H%;XcqK`{DfRWVt;3%YeEBpr6x%55dHS&qebww8t9;AbU@NBOTt2vE(yN z(UDw#lt2Pa<-ynF!0+P=fSS`Rebt%!HU+jDX-ClJ&)R=Nn@1%OKa*j5l2lIfr)cRX_Tp%xIVa*2}A%4@Up& z42KEJ3NzC4WPy8aKBLRW$VE;qs&+(2?|pNHwaY8gTisqUIu9 zH69C~qB}y!ms`N3^Yjwz3N1BrrNl`jN?nikQMkkItWJULEbQC;PV;$YF5 z>g=-3Je6NOIS_{lUx4OSsE>K1k#I$Z`qbld&#Q|HLP$G~(7|PyC?Y zgeDj=$`~k-GZG|nuK9T>G1!W8$K3!c;_V|KeePYvkv?~T`nheyldhG$Uj9+$!=LpB zKZ7v=6RRV-m;A> zo_-VNpS#A9r?8)Ro|VEfanhRgJ zaz>)px-w{KX^Lor0Aue9=_tf{cAgh-i(&J*QjmTf3AK*6a3mWLsg{JyGr##yOUpjB zD%88L^vexL!DbdyM?xGXj1cGimY@*r;SV*V>trF{r}+s}dBe%ReaRpS9{7A*HVGjN zV4uR78E|_6-YAk%EV)+JhWtb;X-o*G2FuHzS3&D&@Cu_L$URe(IJjq;FT-9l;95OJ zvTGMm5A;^ADlqIY-;f-b-rk-98-oIXv9Re_%JuLW zl#w}PR`2D7&8OjsK?#*bhZh^Q50s^WNZCqr=e46(R>S~=jVd&Nf%jE-t5;de`wZUX z*DdWohgo_DhYn7(?tNe2@}{EL)m;X1Hy~EFdt*he2l(?6O=TPF<&r{3$mMHiaB!da z%ZCt8pO}#suyvilyKd~jZj+w{BEE_vmpFPFrrRH(bYWe455PiA2T9mhDE$?qiNs|es(+pXCb;pR5|B`UM$Qc70 zfey~4_?_L|AEDm2ley4(cK-p>Ar&aP?t~bb5=LQr-uo(*95a6Q`THs_1O{OkAqtVf zyk=uF(4lNmTswo5(BcHamm)l5?=~6K8V%62&2rMTdWiiOA<`s$NVoz<(B0F^z=@+< zC02p}mXJ|ZPwjIUOUS=<7HqGloliSSq-9K9G5MTs*3Wyqd%+jhHIDT+@(7c432I*z zFN3%hp1S|zB~_RS=tJ|4)Hv@;K@aW)`$I{PTjeC z`SzAiAy$hqs@td9SG4sIr&oi4Qc^Ch5)8BJmRRbHXixGZp&KD#T~1%9ZNw>3sQ`oJDsG+691ll9MRH%^VZ-u5j*D!Y-{R_e;uoCMwJ z%+9*3)ggC^3;|OL*N92&sP=B_Zts;vqPZO}{fBe!OTb@~aH215WfW&)RESSBVZv0L zqc+tI|E0M8gCHzm0F0#EW{np? z)3OP$Xofe1OnmNzqJ^Pot8by0*r#C3%s%;k-@CA+zoGgIB(dFlUi?@&`-D9tcZ0I$ ze^+8<{A|@Cx3bOW%uVGvpb|ech2z8n*e9ls{XVrSxnBi15KY_lO9eoFqV7%7D z?)=89dJoq)^WiTx>bcg;4%X8gVnJ!lSif@$?omH-!DwT&TV*oau?o$(=`1k0mK!J!!FmLhguhE}`WxtB$LVbOrW>JgYh{Vz6>Z@nXe z0oeL@*oRaSLKg5f>kp5R5M0s+LHNJ+m>%6;OBlwkfSY!ty$twh-%=U)Uo!^VODAIf zH#B!tYFP2h?nQH#s`MkT4pr8yOaiDqDDNp@=OlD^FOG}8KB)b5w6^D2wOolOi>?eCSlrU9@I7<{m-G*tR~K=d=& zn5oRaX_R5j^)htfYb#I-f7DbpkmUV12qt5f2%Qzuka=hImACbc-Cqf2(q@ zZ=C3bP*AWZW{>vi1@b4e7#Yu11@bRbpWc|>=5B=q5L4c~6EO8$}Tf!V>DZxeTOx3=7+(*b}^w^wA_j1f40 zg2fowvdXk{>=b2u9%wflzJhLPIQ*SA0F3^GjA{366g!L&twLJl=P7?wOxk+$(D@u< zd;fEiaLpjOke{h@46PVF73T#^$-fiscm|Htm@of1HHG%JBKNu`At)7iH|+TxT{R#d4q@x{l03 z{kKSLiwbYhd8j)PE5ji<9uXEASe{UFcybeKI)ySO@m^k#$0Z={b|cTTdm?Kwb3c$+ zV5LuLFWqo5_F+OSYgD61>FOKR!H(a~5>|ZW%VaV-AsAAEEdVAULN9EjS`e2)^fakY5p5^XvaCZT+1m{lcF zbDEm^7!9w-@zzWTm z9+Ana;k#-?kNIb)%MD=%bKK*;h=E}5l-oiwRZk{PfXsaX$Q%~Sym)#}yhQzYVQ8dhH>6k_aDPe9^zDM#SO#^Ky*5fD(4Y2qReI6v_bxVsFLg;2<+)s7E}-v`RDhKB?d?WPIMZ_PWcc@AAv*SuF7RN9@-O;9F9RBfg{o{OtHxo@lQWr z`{=-5j*u=(SrpRVhFJa?wk3?IaWy_?g%0V@3xN_|W-zynQ9LQ*oiouR}TaDFI$ z0VwH+vO5d(5${A51y0|!iz;^mFE`cSrPh=zz`ebn@Bu*}fQ0vcbt4Dcm&qIGps3%c zxi9G}|4FX_S|d%rFqpFjeCRVm6K>Eu-FgoEE*N4h@m?nM(12%~JN03*iMm%Y$a6^d zFB!!x@xNF_ISMRkKYUatFNo-0DZy=J2Dn6qWX&5rM1K0QLdsVH)fsHJ>9uJrz91a= zE+FEwKDx>X^K)kcX|;Cxt;Ncy3qh|)!T`$j>u$j1tAznK1*96H4E_sp#+d4+sd|r0 zb-F^@%;skv-^Udq04*z7>a9*AKqM3WE>Pe-UOz5uj|(=fv!XzCX$vvzXSQc@aWUeSTv8vg*8E9;#kwj|2t znnBz8U%}-aJ)nTW4WeW0!fLg|r`1O!3qgzepgs(8%Tcx$J`eB!R8yvig(Sv|DhxH&%>=#uu;mzj zaP`B26Sf^dL?NUWSZRV5L7oPzXc$I=$~AeUL6t5=+LP>ke>JBGz3Hdf1aP4@-5>CW z|2v;n-1>jw(~?H-Ntu8jPl@-s7z)Y32Uw;YE+B)8z32ecK)L6bD}mEg95#W+tvPXo zD6<1&Cg*iX7nk>UJeh|6H7}H7OX^1;j!_J_B5+aaS)#WxSs_{IW4E%#=e$=2xY*)= z7;+mz_4E)+2heYUVGc+^~zKcPh# z8|tF{w{x!<|NoF^YZ6Dx7yqva^0Axt4-%~#*eAYA@uX9=B|rQaaZdwufyT+wKzn&@ z_4?n@VhcGqj@2;yNi^UQQ~rXBF40)q)=(d=~>R=_8IVt{io6u z_w|2;iM2Fc$$neW{!l~#Y?wZ})X{pv_w^G!gb7#}t9C=o=~(xbp#(244Mh-=#2~k? z0(5x3P&s1{;)$#;-^x(8`L_A`zXHU?o&N6xuBu1V=URig0nLt)w_-v#;f=xXMRwu+E^i01xrT;UP849u%>;a_{1J80T^G8szRIArcXFrR7|oUdgCm@U0m7P&Ib1d%~bEHGh9=NOtQ$aDT(=&4JJI&#!MEj*&}geWbj$v?H;0;mG3v z`|WYK%w<%meaR2NHfD~Q6W$oj6C`fl>|MvRT=2coTd;FHgs)V7oePC$-fxqoe{&)` z_I4=+gZ#-52kR;6K*msYK5ccr?)Q&gB|8Q~Hkko-m-vCJ4`$WQe#D1KotKvDMGjy; zdn+y-QNGuCWCcz!uJt+SlN8Oj-9qCyNufx-jwsG5!|DYrN!oPh87QU~fXGq_sQp+a zTBU#{`~x{B0SjqjU+9x1!n`yg69%if^7@Crz=>}KWjHP@eyUXlz*HU{(MlT~{h>uj zh%@hX%~>)8FqOZ2gtQk?wDUiG<|P(|G7%ur#v3F$veM)$Hi{2cyMxy155ucE%E~y) zj!afbm$lI(EMT3JKD^g+!1X(a9$aLHNLoX=-6=~KaOfM1a#;tQ|8}0eb!hU1=Xj1? zIRtrcx$j&7H$jpiw2>Pg|Cjv?)5vjWzC;a22$ks}2!cM~*Ml|(KiKyT5yp-u)FtU| zowgtqWxXCpiM~PBS16(x83cC(_btw<0v?hOzx8hxGy^b%A7$=s;X~&IW$qn? zJN(mx_N{OW^5|tMz(cCqWi>c#?Mguzh6Ka&-SP#teX2_LNOz|0$xK&5Z`PF~XH`=A zML3&vd|@_0q=2WH)3yGCPaVMiJ6y&2>R^;+*cqq+VIaC&7xq74#_mIgtRBLc(+DF6 zT1-FYWFQuPR45mYpWY?#Dx5p)u0Dc14P+9`NnDRwq*^j#4uRskkGyztQ2@`Xn|`KV zNW9z8n9KlMW|=aa@xy8{xt^V)sZ~8_7`Y`s}T~P_1$?^unUo$mD7XOcOcU<7g7*sj7 z8K-mo-CGW&8jOA(M==^y-I8HD|D!;j?5&Rati0$4H(V8DNByBVZe64(& z0Djmk8wogT{TvJeWLTOn5(k;ijG?IveJqZp24I9-lYQ+ZN;UJ8fKWfJZ+Lxn@)7> z{NnWXo{$UY1pt*@uBFUGDv#E~m@I>TcFpizXdmo+w>o?A3nbhS*T84gJ1RJT!;OCz zXdMvrvnB*Jl1U}Q^ha)sXd)1hqB}$PuYU4kw)$gaSbX>cRX^E$VlwAWXeV^vC$%rS z6KQ2}wkM;BDGNkQgll9TI1ePTBaz_$|<4SDcqg5W=UYMJ>0&0Mnm65To@2g|~f!u&L*#}gut-3TYy?%rHy0$!WnM#8ine;^0zMYA8v#c&;@;N z+tUZ6luSG&=Qe;`%81S@!FxT5J=20cyRn%y4JnCdfmAikebN;X%J;!s_6+Q*f_%O8 z@3PC*;(TmJNcB5gd!U`)L){+Q$r&g&nQx1)fjJDKKgGEV0E>bFnB=659=fE-#dj8? z&A;vXHEM+zxRxvxr|Pt4$?+A6YKoBdA#=M#Jn54E$(-={+jhnu;PA1aOC8?OV_eYhe}rwH&C+RPrWL5-_O%xyf?m=fB_5SBS8)f$b|}b1!J-u2<-R~;~I*1H4ccy z4XcIcgIGX+jiLn5;z8qP(D%wWYd^bt$M&NsQxBHFhVy%fr?;-CM>z9NK;v|&BHQ8( zg5Xm~U_X_wA5;Y+<}M7}Aj*WJJxdttG6+T5KUj=BKrl1fNEZ_{P1JX@xi)uiUa=(s z)LJBJ6C+r@|MBv)xWl=G-}wAKJr`{CSjwzLCAr8;OJd*SsTZO8Hb-budoAnmDKZihkU^!pk-%?_4ZKRc4{V?- zX6wPy!NgFx?Rm@lyX-qCvvsL&bsjzmY8IZrh8n=9a2hI}%kUEwW9PFlZZ&xz_WZ?3 z9&v6!{Ws2+&N^+r_qyCx$_h7j2q4{1i?1@7W#nV=WZv$#)VJ%%*|25Zm&+?DCoK+J zu6Mf;a#+>^MgIH)p751DC#}>ZE3o7f54>#py9ya_8&+~i5C#ojeGVA&cf@h3#1Yx{ zWa-{1{zc^1#u||eP5B_7+t7w&PMlV~>ANdX|3=Q8V!o9EifVb54jR;LPSR*dC=r+B z`m#C6-=m;K*v_tn`!%>o9EpaA?OM{iz=C>4Lc2{-{0h_4TV_0To!d3c<`}qj|4b%; zr~iT(_g^|c!keGUd{-0{odr}t1Fl1l;!d-krU_zR1rmRD&liw+`J%>S4#LYo0n`TY zsFCNZK7U%d!hAAqj6;K>t438)k#HOGzpz%|V+X>RCQ|VRqvrcke>P$6b+?YyU+T$7 zd)nygX?FaiwHT%U53tpQhwjvBUgRP()OIwR23!R++Pve&q;pWk;p|6o&MFvfw`AvR z^x-Oe;kw~~6~5;@m~=E97i+44WrMd52taILTw?S@yWKbdEG}{HAzU%79Yu~@3362z zL7Xj|V8KjNW80uMGjDc6a$GiG}+9MRLg;My zFyTF@H6RZ9eVo;^HK?2aR5g7D)Zut2J);%FPhZUMYCGC1<9*q`5l$Vn^eS!~zH^xy;X{n71p)Y*O>uO`@~GdammSJ;4PIM(?70<$I$0{6yE_Z?D(t!qu;450 z#agkzkI>)Zbwi=%KNjQvCC%p>-{ujG_?!JXvRM$tEsy-RS+F|6A*7)uJ0h;1(HLN5 zWtFFe&7lkIh4t?`4Cuqkpp%?$G#^_4=I2O!J&o}Ferr!(4G=$HNi81B?cUrrUELou z{^T_hxZ_|t>2;&RrYlApc*U63B1X7y(o%@X=U%DfV@_Yc z$fLz=K4G6)DEKm^0JbQC zUojLo4_Ft{0!Pn4O)l2E6(smoHtWxQ7fl)VA zkgM4-W8qS_ksQC0#**@hmfG&S4bJrX4=;O zxCi++NO@!^+cW96J)`u+H8skLW!JriNAT--UWTC#Dw^$+7ych@?;Vfj-^LHSvLibq zGBPV$gOC}85G`b7WfUSKGb3bXlaVBp$S7rRDYHScH`$q)&v9NCrM`Xd`~E%8^ZUD( zUa!w}p6Bs7j`#5%`3iU}3#t9LYsxJPK%c>yW~c-E!a^uNhn*~|+6$4}>Kx20e+QH) zuN;?1L0oEBCEvW_43Nv7A2Wr;2~w!#_v}78K?%)nB2+J7avl)h0T7r5CC5*SqnO4K zl#pru7mK9Swnb>o&kUt2%EZMY6o&mN4^~U}%#$h1jq-@XLNN5W$uUtxZF?#3f6<^R zYRpbXP>Qz^bw3Xs%YD))gz-C^(yLjvc#^n-_0f~)8`JT;` zo|VQn38vYp+A9cBq8lzSxm&cp?CxF*CNyG#Ff}x79>~zz6M{z#T-0dAhWP%}o<%pEu;c*ckyw4n=Y88oeWbLK8e`w$+<`^#;a-ysysk*?2fYk?sFOD{?q3&hvo<3 z2r5}GYEywM(;k7fy-6pzey_4Ev^Po$g1E$3qbb1DU@l7V?I5_!1t!z6%Qvo{wr4{J zDep7~0~5Y~@$mU?+%hyMi8dwxZdsTNm|@ArkSQOUzH4>qc=*cfAs46=Uk-5ipx>MZ zI}oN%vb6lHtvQt?Kc=zS1w$QUP#cfl{NSdm2ghkkI_%$UEm7jD&~93g&Mq}#7H)2l z#QmKu3o0`$DW~4)45O`lEFLYo=8ck8o#$&h_=Euq8-q4k@@%yJmSL&Z(R!samSAxGUW^p zkwzO@t~AJPVcM8tny>au$Lr%l0BL&<+gK#{5yIukmT}PUWlT_D&keNO zdmKx)@?Zn>bf2h5+#RHxn-b*MJ!?Y#MH$C;L)QAzMfX^bS3)^nuU;u|m{dpo6P-OL z(%xHB>;kC%LiPng>O(D8281Np=We>zyPb!!D_Ay4DGl4LcAMx)f5n@#glQaQS$50r zD#tH0SIS3qugNc|e$2K3r-yy+u-$!AU|wiqa?e23+5Ha>w&K85Ym(MF==1@ zM1vPX&kZ&8-k;jI-yqzYDLxbcE-* zZL$Jvv%gur`P1~~DpAN9*YF7)8KrH#2)_L}k+GFghkT&G1$JoFTx6@ABm05|LG3LX$Bdp-pOgJ8n^x4dL3f>sxNFgQhXs z26C4HYIbc`p$n+&wl2MeUx+s09jdCDPRvTkm z^ZSBt9u|D3C6Ukl*uqvx1kbVCXBC?MBJ#x?&9#T-Z7A8~9m?Ux)5SUN>TUn~sxJzb zwh`?UTkugs9+TT@^7Q5hOP7)H#I_RAH?I)_%Cc=~v7ruF`*tt|yZl)YvsBSa@1NCB z?nsqqDR0@7#s#;pTh)-S$<8h8S|E$ya?Mj~pJT50z&xfrJRSahcd6$;sv*KWK5Hwi z!G2OU_F@IKDo@RrRNRnB4aU-DXta+aDl6vrvx{{zVfdZE=c_36YYxP6-Cx=c4mT|* z{qBUUpNuu^zez}5om}m3oXIM=IoIJ)SEscW?6Fv*jkrq6$QlsK$z8ij8$Gkutxb+k zhc@{6(^c{YjSF&*#x#ryNg|~{{cE4KU_Vv6C?TG`^-K+(vHh+RReFg6w(i%Q$K1M{ zhvlO>7g!bFUqh`_V|d7jeS7l08}q%%c%=_m5t-cBE-^+E>CI8KiPzUh<^3`G;2q?& zn0cMS77)iXV1fTuSW;py7?C5^?b^s5Ld-j5$&=-h_7Zo@ z9^L}ZICh&_gr|mXOMyuFKgs8mK4}P6>a8g@Fh^4|at=U{3gQTXsE8%g5V^FE!z$=& z#tohs>R=5H7=m<=NBBxp@DCr!D}c5JUra^pBqLm2bz2J#$PVt(6PxBw_TL|+_4PBd z@xPLyPsol1AC?N*KWx*iELx&?KdyxA@&jLkvVS$0w6D6iUwRMr5*ENGPLBq$+yRo7 zzEmE@z)2}|ci>>RC|ViP&R5)*L74Jx*|V1XW4#6@qZdQg{sqy#e8By=<@xhac!M4r z#n-(QK{VyREZY&*>`tBCGWQJ7IZxwQC;X*_QmP*6i{EIMHTQfj?D%%O-#uP(-($9O5A&#oFnnFx zsu0d>r(gp|9Itf4AlL5+-nohC6t|_6>SZyztk7*q2p+2)0G7v2Rk-C&$=tumiU8Ma z44ektTfJ(=?3;Jif+ePV_Mbn@z&U_8YTHDb|6O*61+45>h`WY{-~(0^GYLWllcW_B z-i6B{R$-538=Seqq{A-rw({)bVkWQfR0M6LVr{HJuzHghx<3{+haV)acaR>6IUCDM z&ssX|Qp`1!^8PQC_ayo0ot1b01d}xTfIeY>8?fZ=j!7l-!ZnQOV~(agsJB)&djyJi zv1Kfii*@y+h_UAGVg-&v6wQ@y(2h|&XdK#)@#48U$tzvDTlWb0!JYcMUpCKw$c_J# zMOch@4gvvjvnp33N8}U$N3U`7D^@h>7X;g6Ut|HBmHr$W)Htlr>`H&gyk|4_KE}$VWMAlkQ0X zjF{NY6W_rM@}J_z+rcBRw9yw!?+^WOC0D{(_T1~eefKTv9cYkMn<-zKgL&xxRRb_{ zh!Po^iQasTe7xsb8_UpdcAiWUacHwJ(l&V6N+`2?zIbN2MsKd4D!Os@AN2}?ezEqO5mOv zbgGUH(4Zl;X-9oZ3DuBip94kkB{vKOqIuZG_YmKks z<`Tf&r|3SO;Nz&u-)r5sa9E+&RZHQq&%(scB^zQC@Y|A2f4y7B%`|J%`~q6&FlW|j zUA}YiVht>k#F6T-sm zYIk*ysA3JJT<_~Zgw#I;SvMQ7j{Ga~fF(t`j;?-xS*+>Z16lTPLdA#Gq_Kk>jQ3cF zF5SDt!PL)9hpC5%EI#$5B4S~G>hU#(-M;=fl9IjqQ#jaMbTh75U)oLD8s9=LSDeFN zvd`dhZMhyrN%l4F2cv%7I-vcipP@Mn1ZcCX1b24XaKvp}wnL*a@Ra+0a9DXq5>hde zy5z&sG3>*H42~hp9%)FHK5oxPd~LfVo!m#xGKGypNjt%tFVn0_WQHy zAbfe(A1FK&3C&J?Cs=e2cT4XPV>4V!yrI$Ssfw4L5FGDxb*`;JB^@$&RtZ#}5F+>8 z=HPGGEbH-{@kB6-tEgh)tn@9#hwH{{%P>ok{i9+Gm2w7@53g$e4oBK*gtf9q40s1; z3;icwxG-VeJ1(vvO@|!T77mNH(D`rDvXjwa@V|ub)kQ>{S<7hyhH4{p|7H;ex2^j; zQVSm=PqlpU^8^+=)prRsu4|LQC7Yf-YmIHCdJePL`rC^!;SLgijE<}=i|fwn^@I1P z+Hz^qnT&`Dhm2YE=lr%b4I3{wi-XUh(aGO@)~yod`|mO(msk;)I{XM#8{lt3%Yf5O zZ-k6ZII!ztzXb!90g1TuoXEFNMtL1j)u`Lbd%#b8xE4$k*{Tit5A*7VO`lH<&7Qt^ zgc}=(3f?!#bX2N-t;pWFpx7lIA6E|2gD{6`Yr$`yqu^7(q&c{&4Pil=!%qtB*Rzq| zMuDO+ILPydh%Efmo?n)+;40SUbE%GuUQc%AL`2YXke>!*vl;}K5L3wv?vDo& zMiG2v?g4;FiLz~5x(KwhB-Bm(RFa_GA9mZVdw(hAJ?dsn2)-1EBevd`!V&CV!6u4Z zT8JM{wZw`6Mo_oxqX<`!kxBCqd?7+#kuPJ( zZRWvUK3;9C`sI;qA2cVS&*IXTzQc(I_))!II&aOD0rd)@B!KO2cXmD25kf3c8npiF z`KPlV6Bqps0UbfN)p?`GM6FKjy?hi2OK{+H5<&d2OKHyAE3f;#m{bB8uTno@ya|&- z3Pc9Vz(?2-E~HO|9TD(_rHWq6qchY5X1DyT6}<;mNY%Opn^*uOfyL_(^iIgV+Tel)%!N20hv67uujPRt)Fju}DxbGHgNfj=9vx2i`Aqh0dXh}xgqLy&#@!jp?39IC zD9nWGu?%vb+>qfk^Vl9z8sq$P`ccwejtd zfr@9-%ks+ai{?UeI~BogWc)TR%h3fsY~f3!SYban85p8}3!^x5zAicqsPq?Kxs#iG zLavJ78{h=)LZPk5dz+EVbcl8?C38)K*0vqhv$m9-pb4JiYiQ5$ja?4?!Mq4*;zf}` z3<`;#2%trSl3QX~|I&qo_eT?AJ$rz<+2t)=Bf3hC9&WYfk+k5S>*-wbk6mB{TXXSO3aj28$Ae#XPv7RlPxd$3xp zy3a!A^>dLm%nhMzdx5AbSL~(b$54VI-2qW-$FhB*%8S3xo(EEcWRXCOcpuy%cAD89 z;-v3aEHNTHCw@kp{PP5r_{paWlSlOU;S+I)Wz0txo-O3-HaB>69Di+#n6Wa41# zCAqc9s}&#BV5HQ|F6QhxXy?E-SZ5=kz=xBNB5356(}^{b$+-f4OkOf8N{Y#3u}aVi5t zkx^U$0m}Ga)@Rc6v6pWjin-pOe@{;N6L@bsd+7H{fyuY!?MB$Kha6Mc_Pv$nQfJcc zxBk~Xmt=lU2CzKTzEfkE#6T?C3C0c&5@V!aXfW1hhBi|8NruH)R^=q5yc$hU08#CX zkR>SG5(C=KVg1F>Jkp+f%)RU1*IvKpHPEQNNuV8J`-XvFciKMAsnco{BoaP&#y7U^ z&aq}`5!;!1UeFfn=KsF+f^gYu6lDxxn|b0&tAIh@Hxw0NFcVDQI|9?Z1t9Tx&t1C(N9C)aCo>x)VFr{-aCGS#PaevkHrpE4WTJvI(v*r;^gzU zE<_G%oCt>F$afR~0^oNM;00`g*I=TXOt67~I{!B!@wYyzb?&tBKJIO|hM76fgLA>`^rN;;=_`@_8pfmyq!2_!0c)ZF!xfdZe z!2bF{px1{E)Wb7aU*4cyZ>Jw#+*u7DKzgt+njjy1PFL9Li1Y8k4V~!tK*+@`#*2kS?@wb2h~lNzirvKqFgK5mPM00H718z>HQ=gdc; zcU~8iZkhcaQ2R|Y_S0uV-rYH(enB2Fa_5Rr^4ZGkFqv@&wMf|3xrVH>KTuyykh@gp zY&IFZv5>g7zB$V@whn0AS^jMcbMz|uKBZxgv1BjTJ>dwI8v0yI}iJG?)Qo!zw#aN0xz}P?*1@m6t0Ag(eiqVtq zMW#Yc^#@FNflsb&infi4K14Xo|BP^GjG5`$VF!t%iaYJVV0oYXfx%|L?6Ex|{kf95 zfWL_-!QLe__^KNr&y~)Q^1_yz?b7-e$ffCDjRx5Imz=>R6MagR-&|94U|?90Pr}0_ zG+2WX31`5HH0idUVXN4~s#OFF)D*bCSuW7h@P>v=@X{(7jH6u_{z;MTbjJ<=YcQ50 zH!F6SG|sl7?Y#e@{zAKfeaKk~oSPU0<+jO%x+37=>mucSB0WG@1p!+l4o;|Yc@Ek& zZtK3TODtN&5vz$aVJ6^2HAHMo{;*#7k0KwN97@LwqBmHwvDSmB`Au6Fmo^{qkte7md|Xyn}UHV`wdGWGbMeJ7%TI{%;lw zXwe4XLL2f?7{-CCZC%)J*;_V<$-=33@>d6~<7L@x=5#>km@{&;pAG%~KFI~O)S%JN z%y+b{S#b_{up+Kpk6BIT!2GR&C;7=Stc(xt}(bD{>3Qn~!)}x1-S6Cn-xV0~$ zJ{3*BbGpjfSckr^&2r)O`DF=%&X>tQ$L^VZm@nYcFME_CRs{L_*_G{|K&yYf_8FrS z+&AHA;H7a2D;r}Hw5s%iY}6Ct&vEdWK~81`qK#^$4RQ(-%M{0ZPn>_?nW~{Rm-7 zqupdR*>ZDe$#teOt8@eRb72^fJKd%jIwie?Ee?p=&OEi1MZ^t%ok|M)*^- zSnqgL(eeeyt>m11HK1#|cjT*_2hOc9tps@N9*Q}+#oS)=A*)v6&z~sSn$SN8xHn8d zko-Ls71*JpAApIm_9p85^N$+`doz zTwmz%yL*}eiAw)im?+P-f9!uDn|fF5v!h?5p$%|bVCO#SQywsUE7;kWLjj#(LDGKO;FYjfb59tYI(x&jarS3jOp zb4_vhIEPbPSC8cK@=7`cy&$5ZJ=;vL2_8UimJCZ z?@ZbsAcRDD(G{U!g3qA2ON0`#HEcAgqC==783B4e2oWgjfhf|6I*#3RET4yv5nzu@ zyd#1cQ*w*eFGQ~JepxYbn}zwa@PT$ZUB8U%I}Ve!Cffbrpg{CM+$Y)YpR@Qs;$}!p zG`8Yqa`69*n~~=F8L`#EhIJp@FrtL5b_&LVu)qjtJQ%V60x>(umSh=Y|H^6ddMk$j zDEjju2qa^tz}o1AF7QWI4}||HANsyoyq+v<MY^pE~ zJ|jCNllRv~44J?om>XGcpp6U=Ig`egGxrXU8T4A`P4wc{S_jZNednX#X>J2r^?#+~ zUldgyRyW^V(p{_TLBrK_fx>&x-HO2E^qSA+XM4A)sHVrE9 znY-Va?_TRB_`l}Lpt8p60kLdNH+;xH40NMr*{G>H1_xqe_y1S*@IN|Z{mW{{w0*V4 z(QY1M+iw9_pt)MQ@rVR~2+`-{BV`C~E0_a7#INM6MFYr{$-d19;b*@w><^y#tpYCn zd#((o_Me$P#n|A&@Sbr7=KyiyAVbmL220HBo%(b3Cf*q?lZMo=do;)1y&ce$Vpm7DF(2uzcX1;)+kh6J zGBkGfN$4z@TXSl4Z?TN7hVt*b|2^b~KE|5xAfg#Y`wjSD$Uq|?_j?$G&G-Tne&u9=f4{Mf#dZ{+iO650!=s{? z-j)BSlq__D#+O}e5}OiE)2$YYQCILUOwQdhNWcE_lb*O9FA61=hD&bt(iPj@V^y3O zg}Q@H;E-qZg3acKkRCrXv1@3by&jQLt`#fq$D;dJE)DUJB=-f+zTINU9=ZRitIKEbGXLG@zwoA*paL2Aau1~ z3Iy^acE~ahC9`lF$DI=g?qJdUc=EP`Bf+U+HR*!j`#@D0aCgbqS!c*?v+ zu9kC7#@zbvM{CisSc)v$Xp-jumNb40-LXuYp& zgX0Sn>4rtb;ljoZGgrYb^|g9v7DYtBynx4yFmsTT2Qz`Re0Z8+von zmsX~c2*sLQV%PUL1RFzjUk>#y;`T)fND-Wz?VNi9uZ_o8LSxgq%o_g82Cc$m1k zB8fyhRN=0&WG3BrLtsZ%>lKblrH$7eq&ZxRJLoU_HdWY)BX_prl_cL$bqO1jPvgxg z+O1~f73HVdKhEr(6e8E<@h~V4GkI7gkTv6f5P~C>9ZT*K8YQ$Y$*liy|CObJhJ z<$&F&n&N=RgVEGb0g>@r62P3`ejb?SIMBCjF9Zb8RiZvGA6@}__l>>pkmDv+@E9D} zJjUa7lrFrLhrh(FD;v?Ggllg~juif{{4D5L#=B0o)xXf+K)#mNVeKTG> z@0ut7Y?9)V*T|D$tY8+U(Uee>$Qh!u6=vjkRb{VVD8A&LHk!shJ-5GrEka3*Hkz#1 zrqMld@x)-A0{eh}xm}BA^K;InV%_d={I7lWx{s9wZKXaO^D5*T@r3R|(us--5@X`!Ubfwxn%(*8 zU%kZTPPkE-((#p-ZqjMtc5bLYF;XJy4?ek)HvV}|tik@kZKFdQq?^-on>nP~-`XwP z0+WR91+jiOHuP#%h_`^`fskPdy!HAap5G2o#|yX`Gf}Nk^hNkyuUJ2Q^a=Ls+6N^2 zKTlI~Ok|1HR+aH5h#Jq)ykBy0PpZf#}c{O?pskXXbTCOGmifO8tuJ#2%mGKp=&8F#fgUyDf56%Q0 zRybrnqVUV_muCo~u_4f4Ur5f74OsporJKJEMy>9M5HDC)fO(!im)b{p<9@uhT$f zZ2q)-Gq8?m{PTxX40FMX46FpCg#DK}2|SnsWN0D+jErh4+=pBxpabf182~&Uiw!9r zjh}a?7=2G~vU(rQoOiwd4QG+Pgl+nqq)6lmTqdWTVq(U>GW!>q zkn$A#r8JH|q!rXD*jLLVd!-%(T0;FBarN%3w07uor^p|o8;w1e+|Df>)A=@8Cd#4Y zGVeuy$@yy5L3IY9w zJ7~PLYH(PVt87#p+z2pLkyEu!FOC{Fu#|u9q|8^Mx+^p_8iSgLV#2){`hbA2~2Kz&eggnxm?j zMEDwmCssuw_jo|?5+?+;c;C-!X3L<~mn42nWK!f^Ov=3Xo1&%!PV3XTr-sz>Eop@c z!+~M1=R6!!jgN#W)X;cN9yt4@SGMxr@`2lZXB}T5clr==r(1rBJ)-&kkpwLOg1Z`1 z?EUI@m064@4G<^I^%DCYHO_O(mML=SJlJ$eul;~^05ie#Z2Ac-C|4~0({9sIB?|)* zb1$yDy+c-2!*K24NT^zQ*sm*BSc5RnR7xVE1Kc4vG`H@SL;fq_vtC6SK{Zj{? z{!4-v)|6h$$-yW4_BBaXJKe~ack7^oq2DS(sbaZ9_(RsJKn~-B@V(PwFHM)oyRoTz zll)GNnu$r!^Vc*@czWm_D5A(d`-LH0u2}xrfOU-hRB$;I`gta0Yw7P_=`54l4H}@x zmm8s09UhySewxd9wLc{I==p>%FLserB$z!BTg)@x7p<>jvuw6O7lX8n7-r?gar=c2Ctg-bXld zu^YjAZ&PDGIo5pc!2m%oSz?%VQ;DpuEDcE6p~&;oEl(0(Uz;x!sMNt;8q!_w(k9b2 z?cR{SMzSmkv?0Mk&%tQ=0`JrilT8rvsn%U_}U?Aj6AI<675))Nh9M-q4keOkHdyS z#wU_a<$GBlieY!V`UyIOMfTl{1?T5-dcF4c5)&kUa*(HKFsSe_*^66=#S=H)%&t=R zcr{5eCeXd(RJfjw&{MZ>&Fs3wulyOk3KAIX%O6Zz=!!|7tiB@@6UfwcwYMJSw5PL; zy8L)<$h);?rwH(c^a@CyoRu!o;Unb5^40F@dv>bVmNDcG1%6S5oE2w6k8b-dV8QK%+rxsEF-W7KK8k+Ry=4vYYCaKRoTnE>^W96mykXlm0 z+$qSx<@ElZOcV(a!H1lEOCbu+t0lW<5ky5bl)=FKpz2HVJ3VS5GI$$o4TGWzOHE*M z=+c9u$6jI&`<|oeg%UVVKRx>B;G~&d>N`;|SY{+v^6hpUF=Dx09>NLo8a}*^Q>4+{$W4(haL18>*to2KJ^C2okK02_YIQgs zgdO)4hQklhjTzubeL-0tK{{sRauC}Rm?XZ?Su#LR1D?`!6^yL$68G`~+FrY{2))|< zdOcMM?)54rm-!!^$D4P}+Nw0kyV1KX+X(LeO3j?ngolzVUGDg!PR24HfyrkzuD-P= z_fR71Q}Fv=cBw$OHc4L{ixBww}m)!~dMERoa&E!Ct;wr(w;JuPRE7m$96fxtdK6!W!`&q(UYl zDk2WYNuKgIaeuiXrr(G&t)n1tHO_#c;M1ei?4AdNj${*P2d)+aS6)+4BtVuBY=Hgs zNmjM5FhH^@cW*6gPtpW$32pYGN034jSCUeHBN2R0EfWw>iaT*08>UP0<4Jj(wZE6T z;}&Q4JvTZ+Rlh6~^P-iP7QLXeLgmFC9O`%JTtTtuIKH$(h|__9EI>m;Dys96f7zHAGxUWTA4{TKJ>q z1PkLxXY)(g!w8cNN+&mY=&Bt0TbO#AQ_g(Q*{*pfoUXO-+&QNJC`(1YRgn+xIl^+8 zC^H@ExEDX`p2oGO>$?@leLhb=nn@OJU3qs-uq7W%OYVxb+b|T^ezQc(_@FDuV4w-% zqqqaEC8qVbXF6H~S~TTkR&OlTR|p^F;1BjJ$4PZk;V;kg>uFh4oadqA+tDNMJ8&9? z8fmPRd(cEx$n{q2JwZC~I(Ph{ZpT{kul&gEdr;<>iWtMX!9A17Pfd^e4_uQC;U5?YRk7?}FH zyysr>+$ZC1lef+=_Eaz*zVblk7FU3j5AXA`xg*>?!SKEuP&s^SG|e@UpXH{{1ntv6 z`}rK;mO1P{QRA*<^~}(0x15C>4_#suS9#IH&9Kk;h7_+JQGeGu#Zc`jV)?Fe z(pEcjK;K=-*iEsNQE1|*m9G7`jvN1v_N5ghf@tsY1py5q(T{DRSFob5pM7xep@H{J;Vua| zH$~%VPGL(%n96>iftBtT1fE=p8#k$vHh%c+$Ef9k@AIZQF9bzdm*A{CJ)Xyf4>L0J zv<{IyHIXO7d73x4eKy?rUQ&l*h;n)=lH3$)4A_===z{%)`(dWzXTB>kVQ-yne@&|I z(q-tWpPC!N65RJ?mGoipb{Kh=c{rzv^xi$AYiOM1iNTFK3OEQE>kZ^`EbRSfYn>($ zt&V++A;#G>@U&8ksc|hW$rSRHb2_TJ{rpsya2bj z;#F2p&mKn#feS%5iw-s|Rwm0%nzg{o zCPv0I#`&8NG(rUBoc{qCJ<5L9D(=+T@O6gwJV}UNJGEA|u9NP$qlQ(*J3khBx%Al} z-eL8+2|AHaBZlB%LRoJvx6ov>?LV?|_046TT`e#ds8}O&fqXu#uuU1Xzb{YGW`#Qb zfV32Pj>n;<%L?}B>+++cB=o$w#ts5-b##ukGVuXimWo^*EIulqQE);6+~2May&p3G zm-S>fyS>@WvG3wmy0UrgiG4-)`tcx+hUdj~H%>a;rTXB@+lMIxx@0%#D7|{`Fn>{L zT@dpeOGrR4Q{5WY4fl^c8~N6c&6f-w-#T_Ms8K!IF_CR@FJr8)muuu)F3MnyO^nNe ztn4s(hu5vcU+?gp6RVTxHIm|vPF^FXyd43*!zdIj7XnH)z~f2YEqn(7$PRzM zbw(K%X*I06*0ltEtu@!o$BQ$Z&F$pbMw<^%YSWjV6{*ZO6z(pjJ`p}n@TMgx)1@c$ zPDPri?ZIZ*CcVZIA{M9&3barpVO+(&ns%(a<$Xe)d5KKaJWq@RKR=802=1J6!?h=t zb<0;@XwNgtRvu!kcT{J*VRDxnzwz-x{;MRqWL)kQPwOUb8>WIIy#dv~VAXTFqBs~> zHM(V^8V#$Ku4Ms+!fYkQ@C2EQWUjv0#uU0-C*-&cjGI;=blNo*E;$r}1v(IJEHt9g z6G0vW4>Gs;mXRx-(tDoWqbv!%U+Bi(447$$Ww6WW2k0L?i=24SQ1au;i%w09nt4(V zz*VdDJuldGHM-K3h6bX04QAZg!|R?IMkdgs^8Inji}X%!Lhzw6$|Mj4lndVns$atf zenUz$ZH4$H=9a_V5o9cqH03*t;J_7O_oH9f5? zBI@4O#cOUPsEPX8(9_AhZ ze^rZUVd!(uaBq!u%(jeiKgYTk{_krIHt76d=F#&MX4{Pva6I1su-~CM`5*T?4>{%b z!hQY=#+0bNsW=LBl9hwczKh&d7;e1Q@ZN*+qB3zize1qBtpJqlCf`*XL5M)obSG>P z&5E(T8*EIJ6Muw9X*+0p)PLyeO9I)y4X{#&=q#a?0sL#69bOCMj*9JrcNBMD2(xf$ z(By*6Lk4}W>r{vW$3Tj~+B$HqW~-7V%90dedldpWe%z_dl+ZI8Z^=nALfZ!bKceXE20sEfa%lWyUJt!dOtO)o2cwYnqDr&g7!F8TLfo*6_A zb$AU~TQRX9*jDitwxxf-dDE$M{yEd;R9nf$*}>9WH|4Bpd+vGNsjMiYHRH(PmD=m{ zZv%Y@q3{?YjeTn|z*`3&lLN#@!+_pmyf#u&y=PWQs(n+uNw2`?qhM>IZcQv}x?y+C z{mic5`>pMdg-@vH566do?w5FoMm2Z0>2dVX)jX7mI!1jgljAEx240EmESnqhTo2gO z2CxhmNj@!BT@Ck+lF@ zu~Jt+1Cia`?24=x=y85zJ+i)^Yu~NS$a;ECsLSd)4cF|@ONtBuPX)ZbXhlJ?Vw2sK z@O$JUa}CsIm}`EH_A8O~H~4>~8*@fex+-(zV)1v}9u<}u6%)q38b~*(J27(ujnUkd z(!Ea(CF~gd4lyI+cVv04yb^5ZIe)=r2?jowL+Qp(d;-@~R)W6`yj2B9L#uMo*Y-dcO ztw}eWQK&kmZ}WKH0^{?bTBGha5_qL5(amnc3pXp;8ecHC7t~}oPVdFOfm(5ReBD&Z z)N5WO=Cis^d+wj8=RMuqL#JrMd1pjb{?WbuEO_HLUf9YX&sQ+6FQ|@fjVXy7{AcgB zJNIQ}C{h;gGn2R@Z%Mnmn=vJ{gA8WK$L{m+5M|AJ8 z9KZTJiyO8k@6WLTZ7-@DbHMY-2@W=B5LGRAp_?N;6$X-2Q70N$& zV%W2PM@A5M^WI$^q?8OuF{~pOxXmuAcNqZ-F5~l$pofi`9un)Z&f0Y4jvzJ`d*7R{ z1tH zzH=lWd3(X(2ZPLhNMOi+f!=80c;R%nG{dk?J(cn>pRJ;V6@%eLgTV)0hL(qESV-0- zSH1`(=I9su;nSjCWPqL)O+8&Ow`I^M?`XHyFdkc zB2}#;hK+1<(iIw#oVT|YZMf-iU;!ho3T)0wSYd1(^3uR-+!yf1oQyuLktS>vlJ!;f{6w{J<)RkG9T-!NhhA7m~EAd~a_`Y!455DuQeagx; zMPzp{jIz!^aArmVUsYqHjA^Y@nmq>#{3^(JEsTrC=d={W17@Z^ju>k0i#mSU=3KhMu+a{h&5WHtSF@|uA-V^>x(9w1)bIwI>Lf*c)w+qBC#!nY z>I^GJzgYfa6WyC>mSvmIWwYx?B%;t)JQwp`AN27a zZM^0`kf2ePWFEB_U3Su(JWVM}lb529QnW#_@c97bDPM*87rPNRF##B1IQl2ZJ0zxVkx3u z`;s0^o8?WyBi)Q{vkt{bVaDAGDe5;TKO`w?xivj?R)CF=2&uLvPenBUH}0i{oF&xb z9|(C0*#w>LbSy7Y7m7Wz#ULWv^UQ%iRoU@jI$aJze(2e^H2^+=sqT2RRbw5oaX`WG z1d-X*f|&s#EHo7+TFCd5AncP%5kz=(8o_z=dC5|dRdS!yoixMNd1^D@cpduVPr^*j(cirIzR6e^#&)4RRPgHd7)W_lZNc<&d_A4!&QS1=B?36P1> zq=Fh6jj%ip7j5lD*a%=RLX`Z~fsY2ZOx#4g{-uxpx3!3Bs#xaXE>`w02FumbOP7%^&=}8pjRyGwX&55vukxciADXAI{Fn@&DCju}ADK_(1V!V} z2lsB@$38#+!;I^PGVuSg2EjmdL?3mWs4x2W2Cz^XdM~L1F(LCh`IP+AK6SQ`Gd`TE zalK1~lz>=r1egu%*FKV>4JL@paZDD87o8|iS~xdshIHX{=)fbI_2 znfpT}7=W&2N3rQkZuhX@JWHewNb#pb;4l7&FVg?>0kU7a3tRs?Lih+et>rZftqKz% zPp&@DLbll~!twZq4`uu3&>gIdyYP1+xEP?SX`FNms`fZ4`jVUYU_tbu7$Y0jf< zd|%M0R03(+A+jX}X>A^vI_$L?Kz2EL=N$)hzQ39FvKbipJAv_UC1(~`FdRxxL(e!S zUEE{hI$(AMp5;qjebe<9E83^oZL+Z_AKB{&joC)qp&;7_12lbF7!3E17})jw)B%LI z9r%XgT1Tva=KE`0(K0bnJFNg=N(2~PhDJ_LK@qyb=*R!cs@0sAILvwqFQIQjW2QEba^ThwX2*7p<`nj8W`hmMXug%U&Z?1 z?8AG8ostxfgAIW6?sU2aU`(N@nZ9=~h()Wzhu4UFcxT2fugeI@5nZ0g{|GxxdL`iz zLp&k5F8ZdpWf$$`S>z*3F0mts&Rx6aNhySbte1tUeX&d6;V~E8u^OcaIh&R~?OKkh zC<3`7z^QeTIBPZf!F}x!3Sb7)9Tk)0 zsedQDIIW?C!Q~AC$STqUR*|ZTceST&zZqNTybuaF!ybmK$Q5>}j$8crt{XIj9**T9 z8;IleE@iqMTi5?oULcORW4zh=E}AnjPl0@MeZI^=i^y9!gMvF_LVD>Bp04O?jHLrftsf;+IP>I-Z(rIftyq z#ze}XlR>yMM8eM85%r;8-uCv|C&(&ABs1K4hkf>J=n&RUvhaTe%%nUJ#FK%hDoF?F zKaaiO+eXPk_iwSFLHl**{~_(YLeeo$ zDM_Uy6lIe=Gb%(zR%W)4^?N*@2hpouulMKs`%8aydp^(eab1t=x?lJE{Sq04p>G2j z4L$Zms3^lCO4HsD7l!pyq#}{?UMiPk5T2(Z)R_H_x82;Id-lOEus^MCn3fAuV9j;h zpV)M$LNerWje{`_C^~DtolFE@UaoQnD(@+q~i!Pekb*wgG6 z7mYvsWKlOczRDT#rr1IA`eU?I#(#34{}U~HCA*X@zE(B0@k4?S>XPJ%>?5HYFW}4s znK@jSUAQO_6JD#EvGNMo1zTM^`~Jw(`PQo9()CSjegLtgeICBYNpr~YMw887g0l}S2PWuQ~5?731Pu_4pDRPggT zsx9^BWZ3xEB&B~OoJ&`rs{%?mQXvvQM;z0EC9YN_iE(XBcgcZ~VBUrAIc$KVvtN!P zT~-v-HIc3vffPgeb`ZHa=bTT((1U3p-%Pm^qF6P0G$fboN^R!&eN`+FCh#0}o?iTiWUu9g!fC>Y8dPcjEWsWp_jXup{Uv z@)o)l@d6l<8t(Q;f7hXnoNx;TH0mQw6|qhCln`cA2}-HBMfNu`^$0%aVr#S}uL};u zhwwG9xP9|RGeVBSCK%88fz(3gWupvcN3X>cs9M`X?)UoK_C;+X_aLiAmDmeG1dnA+ zWIdku=~;%&2I^4@ojAwG6#PY3duz~=xYD|l*+?IKTBi|lYRK=YMGef_+n&yur+a)i zp?8d(0V8Q)5G}o{&upd`-9~ z1U!7^8GvZprKfW8M5%cN0XlAS-I1Kg=^jvF1HfueQV`fLWF4QWB!##bh*`XQCBe$i zFuk5Yckm3LZt6>)1WqJsx-m@xnn>4n&5H#4!ORi&!~vHR9)iLd_8D`_0$=625~BcB zsud3+U%h_}O78nIoc}kru_FES!R9LXz{L6eQBD^=}|OUs{kh?nzz4WwNcV38*vbr0?2k#xyVn>j@<+-+E!+r&&8sil1$l zE)xeX^#hTBLZOQ#R$ZqYyY5g|S!a*Ce02ZpF}SXN%hO!%d--HIzpGpkV5peCq-LQH z*F^3$ZV{)N0rVg0)9zKm8c@-qO5PvI3*Lm-W`Y=-X`*y?cYubeou5yBPRjmy(-7(p1Y5NcyfQ{7cXm<0$c?uWMm?Kh{g*_Q~9td z0-8wK=;kD%FKK3NYAuFoWuSMtv)yOjTj@uFQLn_*`Je5E;!~H}UXo9Fj}hg~kh8>{ zH2&VLEB2&2qf5zN%Gzba$bDC;Nlw>pnmf^Zb0p^ZQtx_i{rgNyThSict2 z5PF94Jis_|6rcX!^*u)6AQP!6^3$?R7xaz%cROyIy(|1SeW-AfL8!>@jUm6t4SuN$Ud1kiy9_bJus1)>{cSS zyK5QrNV75r6?;!6tl#1a(W5U-m~3$lDwh@n>&6e6wIn6qaR$;)?pHoe61Iv|_zU89 z3)PTLb;yJX6U(p1DmR>qz**%;aiz94qK<@r2#7yf24){K*DmdrOtf4ET!I5RhFDHo zpJ*{6%hwn!>3`qU&Jjzf#ZuB>>~5>ogdr@d7bso;s_Zo$-O5!J5S_{x&Q*JG>}lbv z_h3I4rqW~rO2iHN=qA&R^3D*==NdJ&7XER4pgB^6PDE{=01KY7kWTojx35mJ4Mm%FJWY zx^yIgDPNrrmdypuc~%##uYmFt@V{>KB60nFo(mO{j&RPZ+{sZny%^y797V2Ly~OcL z1z~jImLQKvy)!Wfy`=^fD8ye!vYTL>EahJ&D!2!hV|sHB(_D>F<|l844FRjS5jeDX3i)gyRwI|NSk5NEktz3I(2%?T=I0SMmpfgg?`Y0iy>;a9}s2Um< zwg~D&;6^|&`_ZJtp-5}6soPYO>dXzC<>n`Sd@YZ;Fllixe;F!iRjjnXL)4`-Z!pj| z;D+RVjzp{3?JQ~+{|z8NuGbY^F70HQT?ug&d{qCz;!S#if_o8DDFXyF&&H#=Cygmo zwBUI@Rh(BmQEgL_K08?kq3nU)4ZlAUcySFcHxb(wZ_oLDOxE@!-jnnX!@l>Np;}6}$N`Vr% zpuHWo$;&AdF5W0AnKkoS6*FG>dAqnbzKB@)M~3nzeh&_@2N?zN3lRm0z+4Z^JWtu$ zd~fVL_ML84{!T0jWx|)CKCO4RBp_rQ6bRXocDF1a0-Wkga>@7b#0^*R80C9&!V&Z1 z-r-9pk44;hDE!?>{gw>(I~l65=2kavVUzI0jy;4WXD1JQxxS&6qR9UBiAqR2FT_}E z_BmTgqE+RQ2jpv=$8D~Y^OAk8W>rzbpS;xZMazIB@?LB94Z<7y52VBW*$!=k=}ySp zb9+{B)zgtR^j_!zFa|U2-5a}%z#p-Ohz(uoxz!Cz5KHF`8_i~|G@5bOkn5mW$mD#vo?mnO_L6ss%uiUCJ4d=a_qFXZy0d-hN6Py|Tj`ifkFZyvq`HN;%-y;r-qX`hXE zsJDzkw-a%+_n`Y1NW1kHsC^gu#i-|`1fYKT5c+&g-TeeWv`a3{b|`iw-{b|#-_(~H zDCl5e=Z;QQ8hnM=sQ+qJtH5#}Z#F=|BYBQGT>Jr+B1}6y0EEMgjrUU<^*%Gh4pLw! zl0Z<=rw27PKl_b1=TJswDo#9PW}&>hXM6>eD;Y`2qO}X&F|oZFjL!`>{MUne-IEwR6i`5$n?zX;OKQdxb?lUK4?Tm`+^; zE+$)|U0S^ZpDdJ*xw6DGRBl$qA5A+6J-5WHFy-uG1X&HuO=uD8iEsaqB-o8~niFmc zT1`4DrbgBf`yQj0v&FsCpwU8rD|19E$YuV`491#BpT)U3ro#0nfMaO)g9PY!T|i6Z zj}jgS_Z*zg5TCcxna0Roy_(_TIrsYei5}uVC*kI8Te$mME|Uigl<_H0{qKiXt*(ln zNoYMfUB>A-aHVj<3&#rZ$sVI`?!l)z;A+G_^(ow93+2Po$>#2F%PLERV1|ARlQLfn z;4AbcMA0?SI@_Lh>|b>5tER!R(BH>k*%=N+>LG}GL@Dksq6i(;GUn9^wT-TQ8!aWn zTAaHEd`FVPF=wWL=yB!w2B6^#-aZQH&1o)eCmH(NJ^gr4AOI2H9YW?9dPx3ls2&k(HN-B#@Dt;M*4Acq)Fi-|x z2JkarBLeX{378VZpgnt5o4GIy6j@3l?U(Scv!WSEvCYh7KQsg{h+JIooX3vs%7AYI z8Rx4$k>r$@{+|mBT$Y2gw1c$13q!(zuaPt;9h4-*Rg{ElT%r`NhAd{?h0PN^rL%hH= zkG*8uT3FR*fN-{@97`vMzn3y)wI%#^w-%)_Lig1H5gG=LviBL1rlR<#8p%M#Bbnet zYIQcwj<@=^X7n#$7&K^($a;1YaB4Pf0p_=$FlNi406*Ge;3Q&ouMW?eYR@5LIO5yG z#}bGC2P*)6BgEV+E7V#;qIvARwTufYhVTgbzj8xO8)5EpLb&^nNYRDeP&!}YiG43n z`~$i~CFXbp8=+VKf8gl9urLKJiqv~OPzzmM7|lXF~RphrW8Gf5PYp9@~J?i;0u&;~ zD^o-8o}!%=(i#w)$RIkvuWVuEFB3;JcsoC~p`0#kyXe8v0f+(*&lo^@Eg}G3R-FA^ zrzQG~*CA|v7;Hhm{Ss||_>Lm`5xJ^L^7kVyEWlZUXrB&TSdQlHw<|bD*+3RF-vms~ zsO{=#|EHv}EK29E`1E^>cq9BCl=$|N@OxY@gho~HoDn6jgD~rHgLL%<(9qc6{@#&W z=dN?EzJ`W4H>f#b8wxY6Ciz}Nn1)0T=q+y;Jq8b1k8)=bX?C%3G@H4}p zDp_a5t#xw4t0eJGWTeQrBC>o$dti%ox>U`Y@eFiLfO5(e@h_Cq_pZOBx!Vk^zai)q z+7K~^`K%QEE$9%Ml8R^|!%9KIVD4xEo>*?Ky-R>fgmV*Wo*eyRxx4~N?C#ix7Q#Y# zCOt$}7qJk?;D+S^hINo^3TmG+>zy%>Nd9+r>EzwIQ05w4QB!8QG9!!2RUu&jl=Juv zuoCnS2bXqjm6+J03) zU;sB4L|%7&Gh7%3IFn$Qk8F7}^JPmC4+F%q=~=xX_(t3}?WH{%`4^ zw+j#jOsTXcACqa{tI{f7i06B}O8JJ;Vt8^ajP)s6!4$9jg!_lz0ZziH$;> zpE6TL`i|4(t!U%HM1|PL5Jjq{^bO~p9TX`Cb;CjG(I&9a8?=LVpdGwO>z%{zr!6#b zJ*DzZYkXLdSsCd9;w2NFbt{y84eaS3qTL6e@nYQz+V`Nfhgd@(6O{?Xp_qTBMVOEk zE;j<9%3v03-tapB-tZ882huhAk@X|tZ^uq}eS4aCK@*WhJkQg;Qw zL$@7muCVtuQ1LCloucYDNn_;1SYlg>@!FA+1>4oz5=?UtRB_cmw+bTH1U#Ril2~)> zT>=s3R^T|GcOk)B>K}$1h$CBu8_=wq`an+s5S_U*|78C3@C9Io9S*2g2P^xCEqkm} z?Vl35L< z=}b;eTZl>S2Ts#Y@1M2XQ70+eD1S^+I{m*T6S`D1G_fE^VhSNU4OLPiIK^wSoO6YI z(XXCXxBb;>8DwpvF(pg)rp%FCx>PkltjL{+3+!C z?c?zI*|avzwBnKI)4ZNQ9;xz9QOvW9raf-sO5cxht|{KG^`^smiSKX?rzl+(i$}Z* zW+9s9a{xD;w?0af#u|>PcTVy zOEl=tn2uhqx#_7CbSS8o2P>7MrD>$y0K-Spk}@!R&AfPjQ6FTY^~2LVn3GuAW@w9Y zFM6iRq~IKtut-a0=pM(O9Z(FGy$BGh(FGn%x5?}UmE-XOz3;-d3Nw?Gml7}4O4d($ zj~mCq2V5c~>=b;!X(=GGN|>S153`fOyewN}O~>b`tNxCJCm)`)p}ZJ|bL8YE$-xnr zXN3a-hY=!5K)gIjDNlZ%^MlT852zc$*{8xStv%p91w8%7ovz|VDwkx5d^J~a@6+1L z;WI#rm6rq5sh8D_MwO3;?4sy<4SRa$k@Nj;t+Av4SS@5dcrH_r+y+Z%{8N9IWa24U z54?J1gL#F#3^#gH7Dn6WhoJt>k2!q=d~kxk$aA1vyW2lcwl##?B4)~V#V6!$5i=vt zF|Zd7NZ&HaPnk>J*vdnIPHUp-HkkIj3Pb&QC|?=!M3au%p2FP*6l+$GfEcPODB*^E z12bc-TDQXR<=gf8)Nu9@0gl(3P8ck=TfJc?j27PE-<9ObMBZXDSi>CrABS@@ctCFM zF@b5t?Mkn?FluTCpc?IYFls2j}4FuYmu=e9j%TIm+u*t+|&K3mVe^O2uze z@q6Q@8`Dr0-zjNa5OBduwF+w*1X%kcVe$`AqLMr9&!pRmf(WY<%vYr^WA;*UXx4Jy zQjmv%tPV+oLWqN2)?ud})4*g?#hdUWNl7Y({9CuXDS%726(SvgB6KR$^TOaYSRVqQ zt|7T+EHUI`huJ4yQ%s9uAhH3hoC0$%^X=Ac6s8)GyXn3*Y7;HveBISv3CLV$SWh_} z!}_~mDFy?M$W4vND+BB+Z2BT@JGgZo1#aYptLLB>7zT?6uK%2G_nA7mG03;>-wRqc z|K|M_G54UJErCiUDO@N_TxebV@yI10^lp>OKJ>P_U_*MMgcr=m*_UWs37^atkU{iU zjiFl}wZp|!jkgkySuyjkgNlkuuG;&{cE7eg@7nTvR9&KuSZqcJn;HS?!Tt<8kvVLS zy=C73xOrilB(9Y5Y_g^3t%-a(M~cBt_Xg14{Bm#T7v*eTx--q#eV15u@c~HQFgg1) zWJ2f9FBnoU3}3Q>Zv&BSXAc94ZGuB<6q-#gr*nWV?C$wf7YE1D z38a)T+n{ln$JKjsc?7DEb9&R8lVsWRg}v`NfIg)9*OV&-d=1J~7#5bcF@=2`)h+Wf z;&!S&q+!(uC?9|(6LucDtONNk6qkQ*h=g3c)?+`L`(llU7=RDjZyanr@iS-EfCDu+ zX;e4fK82^oA6Wsox|tO$dx*^&Cfp@r8hX^$_5r&jY_oQ|J^F+8j;aArBi+)$;7$T) z=>#reOQao=V#rvbvIWq{SM-Sq)Iha&3$WWEY8I|md3w2YX?zp_@qa-(rM9B5L=WO- z{gWLzy(8TXU_EI*F*Vcz8jux*VLljw_x`L*td@qP#8)H@Ucx~nVR z+KGVsw;@}dE!K6Qk;*X!)vzY@Xf91ak_I9(PyiJG&z+Z2B49L&i?|ql+Qe;;`&ktW z^`9x%>T}cWF;c1@%6ze18lc%(i^nv){>pT_@X@9%f(Ro-Wxl}Z(Md=z4t!}9fG;f& z*TK{z7~>{TjKxQ78tiS>3$_*j{Yns)B8D>_J#od8yHF&ZCI$9+y4Il|GXjRmQUHwj zPv3)=@>{+Kv|2s6fdPxaYA5!{HV+BrY3}I4VB;$rE=-kL-cmaZdvMN*(lwHDTr<6$ z>2RqgNCTCZfrWJ_79eNX5#R!*u{KBlpDajBn2{JQl;YqF5v*AY!)|sWl4f~u(<^d$vd!%3Tp)jd~SwzPWsb( zAT!vg2_Z@2Z;xn5i3*-z{b1=85Udb5RVF26@EAUBto>luSX1!~t55GeP&McQ@en|N z-{V{db&=TB<^>AVlgR|%b4n;FJhvg>ek=scTl*Y`<>v_OblVRd#C5Y(SL4ey|H6E< zPOKwhr0mHi?;!X?Bm(&LG=I+n?9+caL}<!)YnQ7o zT=t}_!|4dP`*V^8vK|mK9X10dDzNpy z6XTtw5FTQ2Z?+^`_YECY%6u%kVFrj{>X(GDNX|h~tRZ37)Ec0v0NcKO#t?z=Zg5FD zxdWP-NE7Oqt{8ZFRz^CDOAvM8{g|n7{eMP*t;4?F(*^j~6BQU95ZN0-2EPv_h|f1q zMb`YifjvXPO4Yt3H14@oh>7q*La~1ELLxMm#UdKJF<;W_mo!bk6+Jy{sb>;5j+CNy zUu4KX@$l{lJ%Pgv@SS#a-8*F7r2m-}D7{{rLQ1boAm2UM4}@%w(e7_HMG2WHh7H4_ z0smD(AZd1*z&=&qOc6-WR0>IKfj6~LwXvSu`%}JnU4H$?(DI(djcYL>VWA)S>f+yM z#PBN}S}RlHc>nU{+O`dfnjQowZgZ!lKNXC-caA=&F+WxoeDY_#8|qtBw^4rOhH!+_ zckl4%-c5`HnzrMeKCz!u*wwduGlV!ZTtM5?x)pW>b?1rDh zMcrw>aAAtaJ*h?sH;#vuxV6Hb#Cew(%LvZus`Il7{>&PF~^z@wL0~1wD*sufPuVB4tN<#5v4V-m2Xy zxqU3(U|lS4xaijM51;gw?T%}(r1Ersl2QZjos6&u78BXx{<5CqAg@rVXag&(0Q{=n zpMZ8D+v{EMDAA0hz~u3&-ofm-gBCr<=+xHn$FR1dor^rwoZ+B|>AZVSocm}{$=RY} z#Ep+g>IOgWAiaq#p5r#5C{SKrcl`M0YQSR~AcI+tz!VBH&bv;Tzc5(5SbuLyQY--z z_(>rMkL%MxZP-!Y{$e0$AZXg3|2e9}T{1^jWp1x zO8@N3b~qY)3Wk9l2M>xN<{?4fJTq@O{6d%U0OT)JIZ88sp_aL)`=mE<47uc(_N*&q z!no9Lsi&POKe`FxxN~6!-w^eI&Lo<@Y!^$q+ZE_?t~_$2tf>SJ#|^P9b&r^(b@o(7 z&LBOGY%!#_*oSaCW(k~vAwc|6c^Tx(9PjcNi1>3tMY!bi{w)9c_Gkwtem29oexY8# zhcQG6d>j$s5Nm$uD^ZeruB4O@n|o(+L|fhet7_u_1!&2*wp+4)NcJ^<<09U;J|zRN z;-})_N9(-|GqsSV{E}qDr+`iYIG-06Ymm)g z2#2h+9?wq~xYc|tf&=L`Q9mB!z(`4OA6<)j9^^Sxeu4pi_SG#PIP(Y~_&2u<&ma`n=K>9k`{GN^Hd zZ9q>9SVdc6daUOs358+Znd{HyK0WP*q+4JBacO`4;YE))K(=m1`~`&x!q5dGZvxYw z+0VcjVH#UC?R2X9XBGp>!I@y*p_IG#O}YfvK_Td42*VWBMD{HR=yUiVx&3@M!&p1S z%%R@`vR<=k$CWo$E9Pgmo;B0T1b&G zPSb}{0X9^Cvp+3lS~N3rNTzMetm984n;lA4a6Q@_ve%4ozz&#y17i6cTdemC#Ak&Y z69cg)o?#CBQJ4)R4eX)v-Jh}|2TT#X2jth+W7V;}2@tQ&bt#`Zv%|iK??A9NF2kYX zW3z98dC`{Cj2Ln>{TnR%D4}lf0a%Z5n{qWl*<1tG$z!XhKj`H9Wd3LA>Q?T;VzdI? zFgn3pxW_&Z{x;I2V$v937OX^+31$I$M_Mj^=AD`(du5vmDRWlGEBw#@?1q66pgiCvFQd(RO+W3j z{RIlLmisN#)n~GNW!iaGhlS%_$QwJt0g}{!hwunz8=pATHX)OK8!#sarkbct+sgz1 z4e#8l_zt|~siFmD1`4PC(suzB_h}l$gk&&VZQ}34nqM9pzm%zSeJ;Gl5zDS{<3u?r zX{tsVbr(qe<&wJ7yln@ca0WJS zLyp1bZ4wo8+Mr>Qg~Fa7X>b1l=w_rOU>6QVTC3RqBn$)`J5{mdfXSR~%gOgT7Zig( z_6r_-0){j$qJNUI3(^0sIfV^=*D1t+>J{^kj$=O!Hxy-LDkD1_0v#dsawu zYJd8d=Ct9LW5!QM6|K4f19 zj5xE}4yG8BG|{N8G(UN$NHjNDXonX=UZIcz+w{J+cRSRq(RXjtYCIUMbvY@$7clYL z`Ay@TeVb}OLD~t1I_Ex-u)CZo$UF|PbmxTkb!fR%|0@qS zK?+em13T?#>tyZA6K_pYO3E9J1Tz@6ZBs`ugHigIE1xl7H{6=N-nLsZ>Zpo6R|3tk z-O$~_O#bc`m{z31((^B#tkJur=PkrV{yu9UZh*TqusDQ80=v)>yR(1b%#CYjO$`9X z2-t#Zb(RZb139)2Nkf1zV`c!-9n^b{tY2O3Fvru7k0uTShV9pA0bn3SYflB`VZvP` z5!mxgZmkrMlwnlMKN8no3cg0lm--Kt*a-rk+9uX|z!sCNQdppzaxU$g#s$5I18!R7wU7*l z$yfk&zv(t^4vx?1+0ZSp?ZQzW%r4Z|TGuP6s6 zES7!!R}`Uy6=3g1fL#;=s2j|xrvgtrQWBv-N5|Hth?isM4*KV|sQAE4JwJ$~AR1!w zZbBhftbedfF|ljF$UvhMGmTH6;x|@~B~c9Al86eR%6|=0fUDR!#N3rlUMZb;G*6Ao zhiv{p_5bps*t*b5uEGj`$nKQ)2^`Y25cL}c$t}AH;K%?LW&xya z;x%{Qe{Ia#!b-#4NvA~i0F>O`ZIdVa916nIhWzY$JzFe_O>98ft^tR_r>|O^AJq_M4&Wk(E0dM6i=Q8k zGnCoLjk=U{zqQ+Byg9sv<2j!#1rHm~e$+5E?B-0bR}#zABijhDNf z)JhMZZ80!Nq{b;!MW(NP39<;M&K%i?^|FaGE`~{o{>`}AvasTX_|4MIsnrRlwQmxc zt6yzfKe?8y{=ADj52nPxUUcyzK``&$8m3##$CtFDg`PO&mYtLx6aF`)_wMGT^KMb^ z%CF`Gz>@Y3{s7oh8bZ~*IP6mN{`r?o_tHjw_84VSknjDDN9+oH_t%@D4;dbQz2yHm zIpEqmynhBi*ky3=8LIgD&#{eYsHvA4!SA0{fP?2!G?*eZU5b0CXz?Z-_LqjCQD^g= z(5STd;;lAgX_&qYyJ1Oh$i&fFbwHv?$d~ol#NG3}JA7F!Za6OXy%10CwR6JX?wd6 z3MC!HTFdUSrs-L*_ zxv;9Jak$#|h`o<0*qWpb8%7C5slErrSW-BJVgK^qoTSZpuR~h(HcM=~5{_%%#|FcJ zXP0Wh<1<|)F(+aZYlGIK6b~3}tm(iuG}voCpZ){Ot*ybTK9HusA@r*LH33j4&wLPo z)_>Ec$ch4MuN??zumRXLb=`8mxWlgLNdgzf2xyHOv6g~(4)1rY0Wnll&BLw%+1z{5 z`?m6vrvjee8)&LDs`;PNYY|FNDQbk_X^Hb1nv;czA4%kB^CjcHGpOkn^&DCbTqZ-eCcj%w>entFfaW+G`W_)4pd3p zkI@Q&`xpMX8qX72jmHhG#uM7H8c!LnB-cBq)_*3#K$sLQaVHwqNd;JGAfk19k-lOZ zrt`p#q(=>Gwm5cQVoVRYPm{4G-4H%ne@g?$b?;=o(nKeJwCHo?+!xt6pxhKw_Jyo`J5VP3&t%yj!3k{FC!vA5;F|3IEp9R}||twt&h% zDW*SH=l+gT+7-ik>GDbf_U&r_pL*%I7RfreaiOn>LBo|~me~bP!7Va8O^{j=y4KC~ zZJy&R(L#b;FDW_lK1X=T63GeO>1j=59C|U3<$){%3-+ z_luBZhiHA+Ki&j6{e`ac*UmUhSdW+I!u)8Qj~cf1VyrO7zCrc7B6SPN*Jg$f_!5SJ zYz1_B+j8h4(Z@1}w??MGhytL=rK7YP1YC6CA0N>JgK+5iOLfy_L;^v=vIb4d6mzK+ z8)V-HV2Q0U>1QsC$xhbl|1O38_Q;hAQqHc7`;7U(lv}BIyb2-ggUf?;Hx|l6vuNC_ z;5un5{&}+x%M;^#>HZFo+<{T@Al#Nj?x$KZ2sZeIMM672WvjhC807O^B;=Z|LL#$m z#b7NLCQw7gi2|=dCQgLsD|5pO;F_fiZ7Kltc4zxVZ^I44-<|r*g2ce&@bB8^)^lH| ze`%ksDDbe=Je7a0BpeNWZnWIn(d`5h?h@D{vhZS2EPO@#KDgr3%CrqWdmzq2!pHlO zil3oNF=yr@R@H+QH{b5sDQ-4>FFyG5*W8m)12Hgv;A~gr6?lgykT>50*nQP*Ng%m7 zwhDU;)`MNv!Ow4guzv@6^cNoCC`OFEI+V%!Kb(Uv^yGf{3=RAq&)X}9e*A_$LfV}N zU*=kvB*9Kq3^+&?$zZvjti?9&Se1e{wNL*W0W65l&TXaaFd|x^%YD;X9V$xxQ}LH% zBEE0)w~xA!3+BBb6ZO4w0}w7n%6$##3k5)6g){;uCvTNLis~dZ*t9R8pnUYa++ZOa zkjDs;b~PlQ#)|K0Y$A_uggi<%4fGDQ-RGOmDtFZySpSOa zO~<^646rWHk`5Z)t{!h@Vfc^>Q7LzkJLJHg+j0=)0)V=fw$-yhD*~%^Kb;kgsXYT0 zTRfeCee=REQWHWZGhnd=L9ADjpFM4kt3I_~KpTrn=Tyg`$hqd-6=W9O` zY#hyg80`&PJ=(8TbsHY3Q&JH2J78nxLLXpv z2==bd%3{3qkd>K6g1#JJMsm&~3rO+Gu5aM6g_l+Bc?{ag8@~Uu5Ezbo&0yZZZ%<`X zQ3*!=AqBsbIe-@^$hf(*Hxj$KkrTVQ@zEZZ!xv{v8t+Zni3y^h-Kv`+;F)hU*b_G3 z|Mnsza3ko8UaB2$0W0uUBi2UmiWTgyi|?3&RXAWD>i)n;s&*KO%_9k`-AfN_-a0CrOiPpo)6;H=9C!$U-PP3`|K*R_}`g8f#A%P^7# z8}K}5n)37hI{w!z5OAoR{_>2Y!17~vonPh!aZi5dYC2xIS(FG=t6=RG)}(w23=qRP z7=d@%_RMg>3BbgBkgY7rMwz+gLgJ@F$V+#N(LLAvq!V)Nm!w&pVuoe?&puKIoSLTO z%c0&fg50sA8>`60Vu#wE3kqkS_rw}U86B)cURC>)xzQaRQx25rv@)iH`} z_y!ilf{U6@vW)YprzA9{BBl)l5WDB3SYplu*C)w=k`-y09*80#9ZZcG>0G*2N2iIT z2fLyGqzhL~J9$?-%q%6zAu~%WKyanox7#H*dY4NsAPeN)hh1{pdOL&I!+#8A3HWRt z|A2=t!y(>mWor%0O~W=863hI*@TfIOZPeU zUl`)7-Z7lTuI1Fpj^nFdt;Pnd+m^C7pM@K6y+!a-R%<*_FjI$&=rn-T=8jM*sHcI){*6I38hR0%F_R<>zGEYIB$oz?+&|%ifmeRR z2d5JBE=>VHS_WW%UFZ~EvOVmRlvG3p+PCFB06*S<`8b#?5t!MXa&p)L1yy5|GXPB? z7^W$l!p*bT;c@nhQN6iQ!1fDX(O~l0*yxLm0ax!KiRJnYp>OI?1*(eIe_kH?2SJ~p zO#pH^wE^%X-vXZG@w^|=jzuz`-*djq9HIg)xD7tb?Wun$shI{!UYr?*_PTAGY@7zJ ze1l8eV5Je5?QDmI$z$ry*WqXLe? zpEg1dy?1@c(1_;?QJ3U80d?usw-^{3b3-+^mBNJ%*nS)(v5?|3D8IpCzzK|Vd(Cl* zc9WI%Unksfc=I%xLVM}I$V%69cBovn^|SW5H+cbvM^LrMx>b{;qI68zc(U8ws48HU z1xV7zTCs~uhe09w?&tKC)U7qo$1*H9#h@ikDd8Z05my_a{b;#9UEYx7W^Uze*C68u z+t~K%-+zRCAIgy9^ibZR4A2K?|KJ>%n#S(v4Qtyqk@TEA^0FiVqOy-eoFse-!%J*; zTshT;=`{C+J-5FVVFxUqF*c-9oU26}Mj_3pe znw)(jq1C{UwL*gP+LkEncX4X^TMMRz2UK^vDD#0Mj>M3rxV#2f2nS!YV1WqOu90Ip z_q#In(1Z*Z-Sl0Jj6Rrj^z@I*;Dc%lJ%ztXZ2sQq%<0#l<1a<|!)|}wY2({QS8&fs z{>hs^F5PT*fv`>q%-rH4W`F~3sR&OUSZACHWu1hfQvnxrvVix3BGKN5_}G2#p`Zo+ z&497N`rHfFk7e9kbT!&@G|y3P#UZ@Ac!|IzljkYSA@a{8=`VwzU`m40Dz)`biR<4M zMxIbd5>z1Y!6s4emxG;DCa2|~V2w9t#&+>Qsy+tJdc>2;J)2VX1t6Znuktw&)6g$E z!$phF3R>UIFztd=rPKu$V15g{6-9~J28S_A;${*m_4tpX>il0 zRj~Ub!O-1Q%f3t-=>SlmotxO%-stbxFnm0%L*8&$yxKtx+@nVe2MDyV8;LqY{!fq` zR@Wu;knB5M-wq{u0QbC0yo^tcF>KIo%R_a6Exo_cz5MsHoq<g~+t~vbi`TxttP5#{EdYN7Xgb*$Afsnk(>WaWcM^dfFSdmups%QeADvj5U`3kF z@zn>|iDC!%h7e=tuz4yjc!@Z19Eau3DP^||38!O;(5||jdo{L939r2uAG;6c%@R-* z{J2h@3zHjYc&&m!Ao}psNdLg`pft!i^%pO&RJ;)w4s2$Y6a1J zhc1Rm&R4R=ldrl235&n2j1>8{VLR1u{L_m?i(TIc6{X!2m?eoHyRQ{27N?x+ zh>1nS?hTbrB8*l)5qL4+0I{%nuOBDz`T3*gSU((p9LXzvE>T`uS{l80;FQ(D1F!0c z(Cvo3qAL#^n{=(;3sonWg$oTEjIXRK{#bu0P-QdOvy!%4B!r8D;~=n#z{kPCQEv?A zWPPRZ19PM$O7+WY6sqzK$%^Gu=Ew~*mkz|cQT)(E3>)=}!l6S4yI-LW&{Z$5WTGt2 zGhEHrv=rjiWpT_?MIU>R)pH@6Mad$1v;s|c=w+HX8@>x!FwaKVi;rcU=wtLUI;MvA zcui{uiO|*D3+o2eL#T__YR^RoOqjQpP1f^v*YiG-tRU^BY|`lrq8pU9S?eY!(}CL0-N1vIN0;EZuGN73%RppA&RMt6Xt! zZR*jOQKWOh2efFRDRUk7%G5JMCArp0o4(8;AA4uLvnLHxJr2cwW++&t)N>IB477^x5*#O=}FW$y}@zq{u8GTQsbe(qA1Bxr3{J1m+FWQt{%nn z<;(9+8qRw4PM*C-tuTF0f^qa6TKAcU4Po$5eyH`2Cof~}QQyL|iHo|~^}uvl**rfR zrCe1rb&O)-ydR;(GwqHXrB7%Q9-I6C#0Bwik%w-Bhl*XtJfp$qcpqt#M4^mQtWI4u zwORCvn>43s1{RMTJiWH^8)VR9zauC&=7SzPw#)H*n0M2jE&)n&bctajL!#J`5F|Ql zc&<`tSbTo?y|z^?=WPZeq|fIzT}2u`nYVUhZ-Wq2ME9r>YdvOvxVDt@?7V5pB2q^qAZ#*|!(6XketdO>%!0hPl`99=x0 zKh#PgY>3`xYXe?Kh2ZB~l)w5bJ&R?D*k_M@A9JA&AGnp#LE~(E8zJa;^|W9%icMA- z|MipkQ%d!r@6!F~QmI|9+W$z5A9O8VBcCOeiw%DqQi-pyR(xP_q~8JQTSvlAIkFzH4F>y#4Y`=)=sCRx!Q)eJaFU_HDvv{Va}yd;dFW~df{N1g zCeGuQ8@b@F9iwo6{S_k>0e<)C@@aW8@Vvf!DYA4oRbDq$@L(v#@?3Zg3;FpA{9i|D zRiPCKXMOrE>Okj3*uLi?e?a;1FMbHYd!m9q4d|BezNO-Y928sSA-*%Q;nDrK*~@*6 zhd#7j(?tpzKDE)-Lk6E5w8=*uzTA%1aDJsPa&_6*;68PWO5B)HAi|}Zw}ddZq1azU zy@`kOIzHbAa~)hIcH1B)vfGkHuCG%o8=nR~i_>`bHABT-S!a(RIPNC6NhEJ9xgio!waCByK-W-o&x}8>v zel_|)ztl7@z5lM4)%XHPnDfHpAJ77HtR*QTnM#Dz@kvJJy}TMq?Af`a2V#|%`TKqQ z?`SXeJfG7DLPVXE$q$r&=#*B+^v$K$b@mib0tie?yc+0ahnfCxqy~RY6jaY*1~V{@ z)x(WMkCbO8@)8k(u5lYrm3R^)^lG$gR-fxz9y2T?@2GhGG1yco1dfHDc&E1e;p3=__~2T$tu8=fqs)4*4f>(rxP8Eq@3b*oD{n71p)tolv<{&%Q4RRDX0g|O(q*D` z-ym2;t1{!X!VI}gKG*YR#v`CKQ4k3wh%wV8Dnju0A^ReuZP7t8Vr~q-yTi3%cV0Q4 z4~3u6cMi3)Pb6aeCD(0xNR>wW&1={jziuSW zfFvDJvu|MA2VM0(>mQW7`;{t$z_Y(2Ebrw2e{mKtH0CbVmNFor<53$~IgRJ@uLd@mvlKF`|NJoC6ipv zkMSxv%Y$j|f2yQ|94ZgNhb|xwZ~@V6-S;0}arqqS^y;l0&$f#-i#!YEyvw9nOc~JQ zf9Gedn^3)vOCN%)%^LQOZRj%Gdo@4%-EuO*GjP?o*g5t?WqqVdLOzezsPoIfM{=M{ zSvnWyxX6J!rxNGco8x7h|LIp$I=4@RloDCrn$=F<_+Ck_9=2g-ZdpoivhXljk~eD`tc`fRQIo}3k3q}2Y9M2*gy z$J?_|1T1g~yG-?Y5Yv+QliS+@t&=tztIdBQ95o+6sQG9Su^IIWG%_- zMy`rt(wYM}v#uz~IfR??y`V18e3uz#$h>%Pj|G%gXlU1&p_1fsoPvf0jScU77wsD7 zsr8Lrh4*o{-G%r3aIy2-imvX)jDi|;i<5mqZ!bvP+J*B_5e_}~Gt+ZRTD;ea%#|$q z%dd3!$TR389q9@J%VRexTdnR`)wY;1Y<=}T0Abo zJZFo-@yagH!5?@8c*cj$RgW4bm&i@J&?K*-tcTBkH@Nu5yxk-&!Fg!;uzP;_*vB-@;Qb0bZl4$mkyoIg1&a`mCDDUZu?o$jI61!s$R zxuKJsDxg@vJ6m^YGnLqRaIAlT=C^Fq!OzM}Lu>YvWN>_5n4Wk0#j zW>P$go?2_Oa)GRs||S<~h8e6~E= z@bv7#z}rW&l+vWf7GrX&9pa)iPEVXNKGkMi;2$)eiSnObkw#u6W3uTmE($6l->SPG zDAFgCOxJkuLwC^6s%aWx@K-V}Aq43S;+de|GWv0fi~d{G2}AD0xdx_6cFO|`DdIxN zvqt0ol3aK4LXMMv>UC1^fqr^y(f!u6Ha=WqwN`g$P;0_U#I84n_!a zb>{cI(!Wfk64#bkJ|fUjGWXpwQoE)&LAm>7^7)dCiZgBClQ$jtTvB;9@ZwpzZc9D2 zxTuzm=bS0uQo48#@lTlV7ZLI4>swsy@4enpQge?4Jb7pN^za_&4XP((F-O#jZ8zpd zM=rp1b>JJs1(Bf4vV38~GIZ@;w%fX6YaO8o*0DoH zmaVbjgS6#FLD;|y#erjpeEU@sI_{{we(%~y0lomr#K1z zL#qxnN$6ZXXmilvcI!Rdn8>UFtv+(|*j4K-%#2zAh z3-mGPyXw#+6d+cMZC!<98m@c}3xWK3rgAlx9^%;~;m!O_DhIHb6e90|3fOcdWsiVM? z;XIl!#BemxoTc7i_WR{O3&e`r)adbA!*$8ZA?MMYWkoH`STxwv=EUgZ78LEDs9rfX|W_KR8mG-lv1L7*Ctw~RST(ULHn+KZ@$-=ncVK@xu56x zet)l@Kgi5E=d)ew`+8re!Av|a_9sUHINn78LbJk>Vu)rYKB$Zr#`~!-wjTh8z^5A6 zelO!ozIFK@x#@B?ynKUUdljXi8(cN!CV2B@)4`E%dt9cX9Rvw4gzU2(4SWs^I6WnJ z9>U1nWIU^gTvXL6s;gzh8Q&-?4rW1}Q_)wM0QB58T95wVFdA{UITh3#jM>Yds5p6z zxXp1Z1E^(RuA?RK?yWc#3t|=im=&?=mH0P1Q?6jYeQGC6@?ZCTow>#wTy-<#p(Zvu z>fMfAkp4ROoqy`4rJ;rOGF;1_+^-604ic=8TP`lN|1URLsfl$J>lvk3K?@dkPMC%# z3!2fap3k{>a_iR9Alw23I|Rp@cKcdM++>Vy)?Zm-9R$UH2XvB30|};hz=-O4IfDI8 zZe4MOo2GIpnIU7a!q}mI!fn8rFoB16_JGVF{?(=`v5-O^I88_tB>4T* z*1$%G!Zq@nJ~aO-W&+6${CRI86ynl_g0=_81OvZ|dNc)Boocg%xOZoLYb*{;R-0-% zqA`Y8Id>&%1Xr3=+4|*i3(0OBF81a&Ynicf{+pwE#306G{E!Q$L&`#d#E+kIcf30$ zm?_HdNtuXpP5aXvYx9|yV#Sbuk=UbI7J!HB?{5fPcSq5e$-Ij9*mYu+(fl_UK@Qgx z?5E`@KsbSmeT&=YiRnBhJN#2ea6T1(%HMpf?4m3ChYLYs=LInpdc;@!Z_%Vq^vfy$ zF3veb4oKwWd9}^7eVDuBn75$qF;nOspSu}$dQFFBX2w0|N+pllURgqlLszx1Kh9QhN^UW?E zjtnGG8_yN;;HYUWQ-E$LferJMp2^%QQHs0KC1xclf6+0`{rJcO_9HbzA4mDibg5Xx8QQVuj^ zV4_bP+tf!2Tz9I(jL=Qih<_Nv&-+zkNqAMx@41`fc!1aL~J0Lt+qv8Hb|<7?GAV zP#xV9b;gv(nFaDQy)Pk8`kMpAj(hw%MA?v_+msDS-sl}w z#n`^o#g=uN@Cr5f!GfGBrHVn|uZe>~EEXRF>+DBc0@u;g5QB4?SYBUC(kSRu|uWv2jVr)Sr*GdfoU2zi|Kf+to>kVS82eSMq!QRy$MM z;Ho}eX$T2EDWO{f0vhU({_CyP52}GZe;cD_LHuS%i4D%(!|dG=-LDu@dTU3WuWh-> z0am9g*kZp_@Niy2w(8PmRx1I5Xcmu^UwtBYQ6$(;J87p-xU|#4d+xaf>A563BUEc@ zXomI)n@TCbFYgm>DTV+fRbg1W`m5334D1mD;&F@IMlTR1JggZt_HQc#`GylS6y#v< zkCYJrPB3FJ@=6rs90g+wqH3~n?_AgBip?%KUZ>^V{%xl=o!bR@1jGnQnh+xpx|FcH zcNIQDXGMZpF;Xo5cY5kBxlKn^J>0)5jBI@mqjpt)Hvmp$M}rl5gB8Rt$sV!JqQnQw zp+e4(bDN&JbH{Rb`0$n}nrZxHYh6%?#crzrL3O~s z77S@3M#R49*IAhn*}fHHD|qBiEN-w?fAU$603l~jbI6kqfnxDItQ6NI8>HWWd9PDO zi4%$fsiyA8SyhS|19ZzJ9q;#^nI3|pB3=Pb#Sn<6QWXU1Kg8m|Y4aLhyqZ=PNPu6g z;t6}W+mzVIO)=|)V85nq#Y}@O;4FDXdBltZ)VI)Z;v&^iJQ@oiakPjny2=+Tl+coD zp6q+U+#$Qa9%fmm$RWrnA6puWn}UDkj(b=IE0i~ny}7~QYagkog)LUlStCG@6%ZtR z7pPEZOKdwbAa_y1zgBtYuT=b9P9v`_MmJ{jluC74$gNMj_90N^p-Kw}PHtyWAm6AL z8oMI)Cn@3CwXkRW(PEoorLA;q8!)1O8dQb}b;!~*8V^8KqGY`wHx)^e*nu;SEiV-$ zc;)t9E(#PoZBFppJ3sXaHs>`KBI+;ODwrVVJW|rlF(g1x{v!OKE#)8@l@nmrTAaVb z>ONv%06tKfc=yvI39xL_j?&{B4x>3=O>EplI> zDP;8>O!VBfRHp1L!UK;mPx3FCZ1)$uX+X2B0XhAu-QIlfox1p#xX&1eXn0XTqHdx6 z4Ivm2aRwakejXP!`FoZ>K2}!*in$%2nAda$s*;$rI+8n_N<~H_hbz7bTO<_&TG9{o zN4`BeKg@sTS;k|c2X#CeFtU|ptrU1!k9c3CBm(T2{D6H{n;o$(kdSLWyO(EXH@c2z z_ItNHKiLp7)qBWA!2|4i2&jquHR8Fb`7JTGx(?&=rL{I0*+rO2YF{vx$Mw|D-H9N- z^Cs6Rxm|HaQ%Qu8nr`Icc`6`=F848KlcYo;sC5Pt8*n8Hv$yio9>8(ZS#ffK@!7^u zR`M9aM{d9wUre|EXt=*z;E-HQMS#ltwchGGa9#Uyk% zYV>|`pT1re7@)dXhu`)qp%p53SI=NyVGr)8k^DwpmAp zW7O(fe*kXBwo+6X*hbNnzBSYU{%EqJQTU0Bh5CIZ!3uk9MLv(j;@k(9I7{9`l}QvZ znZP}_(|&kyKz0M-+AG>&N1SncpO%6*_JKH(QsM-)sk!;!d7jGFbo_1iL=p|1iF2se-|mcu3(L{_xvu1 z{8^>E9d^JrNb~$ZC4FUNZc0!#zlLHt^}P0J6NbEgpxNtxN%P#auqWd*1k)C|aeBmk z9|GkadYgs;)L|Ek&l?KeO^%=PZQDdEyOou3G(Lg1b)8$Oi=uDe~RyPD(E zt@^W%Fng`^F%<%O#JgusbCN`BUvf@drykD^>hXNR3RfKYQ!4+AjoG0>N~ngv;#nb2 z+k}&Q#wYQ4m@juqvLzce+Q+Ej$A-N)If*|7^k1Umrx;sPkLqV3hLq5JJ2fcNkUp#) zi`Unf)(tTrz5;7a;5f}M7bCosD@bUrqSopCz;DW1m*5^__QuRc6Ayh?cRmW?^Ink1 zF00&hn9vua5GH{`viYDKQ99~v3CW*Ez*g>(+u7F~I5vQN3$7JPXlG3I3SZVsQwoxv z9MrfpnS=KXr!*y@0~?ry{a*<(D6k3rT6vLkIeqO~D z7eEp+Nx@Ym6I(r&v)XS_40yt7suXDXogoBz>62-BJu5vynh5yV zzLF=Cro_7+V$XOTh4>olW&suZ=ooWc={t#F1<8INQ zIW+%J9$JS>vj!h=j@efg^<)7CXud1wY_aEa7Ss`Zo+g0v|Jykcu~c z^l(in_vK1=T*be|6Xg(3pa7hO06}ke#q82<<@%^2{wGk={duw*FSLtrn9M@aicC6c z6dEfgh?+-AmIn6G`TvhBEjRZCOR%3a)lfnlTzv&giKmhksm9>De?I?2*Vq{&2A~B1 z=j8#Imd=r4$V>=?Jv*}S7qF;#gw2;zy*gHJNIb{4d=1Modr9XZMx>#nHPG3teaFPD zNtWj_?}Po`RIZeaP;Jar*MHD<3!`?z@A&65Oy?I`)tPhJxJtSVExdTXqoxB$RyKKP z1oxV-@Z&%MgKHCDU+-o*D(v)Or^nL(HJXf4fN=a(cJpGimx&v5$IS4BbW@eh0t5qG zX)F*xz&ef#aGrb%^0=n9{$XE%njn!dk3W7T(53kCwHAZ1Xa^pw*pXOQtvSxyc-m+TY|4T|%G-E>>`!IEEo@$w(ep2A3 zyFTv$A?UK-%J7N*rl7!i(`9}I*}7NR^6UR1P4Ji!pV=LL#)gXxa%r15rv2s`QK9YV z;wJwEfhjmFpUmq{Ll(xLAF0Gcsy_X%VXN<3*`Smxyij=IY;ea-(pK_h;g-v2ApMPp z8aMfWc)+g)dH6pBuzy*>JunA973*ppE24&7$`u865Af*hHU7zY<)kPmr}41q?~GiJuM)cc=Fmocl)0A3=1lHUZFyk zHE6N`lfau<x(5v$?Y zU3rs*KnhMg_^`+UOEhvZR{DH&$!=+6%SKsA2tDR>vwr1t)m2ffZGs| z-tgj^A<~|Pz_IOrGW@nJiJ!lGtt4>Mlux_u>;Xy;hAdJ=4-qbn^1Fp$iy8zpo1tVq zeQLu`W`Xna*rT9UR>X7I;yG6US85)qdx>bgJ!aVwxXF0@px?pE>CTr8iK~@Vj0YS# z(eMlnN$>OH9Ur)W`-c44h8|PRRp78jav>A{sQQ_3)^pUpA*IwD(NjVc5P$AAvM#+! ztnB}XoXJ%z_yM2>N7SwnH6Ffvn|vK7r*>86Lk%b!3U+``ysd$vkvUIQXhCRd5$gO$ zL_6kVl4h9_3eedcqGt1mK-toaTl;Vpw~jgku9U}rP7C-fZ4loWv<3UcIx&X|_3OCQ zg)-vgChG7UHw1MW|6SxQ1UXIg-GutBVA z9XtC3f_wS=ky1(xRn5^9vVGXlEGny%k_hpIv*G0G4Wemv_Y3}4^!}_OyfsH5omQFg zXEE&&@2+0x!D{iLr+tLBy^X!g3sN(LEZqn@qhx$NWLs5Csbu5yvd964cij#DqfP)QA=PRrjL=8KFWPnz!o{UC^|Z<^gyxD0mt${!H_p;UZ2 z#g;`$;*1m5h6+7}Kpqe$-)~nhP>5_uq%KW{_m32g+D6#-RpdGHvZdi~_u3>CtO-_t zf{#J~n9DSR$V8a{XZ5zfFjHE&b=(X>OQ9ZshC1v__x|so@#W{hX7j_k({DVYcTr54 z87*pDvYsj^ba$bTmDi-O5?@lPsjvlnQCp1w0i)#7f3XqQ1uLXr3>ze~Rs~n>PH3Tw zO(~*+f*1ZBAf-S(4SCRniJo~fmbPTW9&G}I$K5F(ffcj_koCV}_uPQpTl~iE^?L-s zw0xxNl<;SN$o6UJu~8w$D4|~i8*@vOni@kicEeUPA2!EeOy*xwl2{+mVZEx5 z=n_<*-fpK&gkz>-;irk@#D|7N*g1+|L0K>ll7oK}tXCMr`VzehfM*^A{*i}RuzpcB z3L*Vpkonq+r~x=TRg9A_TzC&D2d|UR%zzf8Bq)qI2#FSogoqJ8p6K`!*#aJ(LZ53D)TLLfxMN0whQ#qI>@tB6udU)?yPKsMXXkLjoo7}!tdV#P(YHZeZ|EOj2A7P+;M6kj(3(bof(VK9k`oPLU zsiynfC!h+AmWql81PD=djUk4djG30iF7^-qkRE@Z^OkX7KEvbe8M}t!j*u4&lsp{C zEcxQ9yZDx5b-l>$`8z0T#OaztDT|k@4=QDjeNN5D_Pa3j zdY_hJSs>r~MzrKUV4q<^yc^mu0GqbSm(c(M7G{;w(G9l(DR^OyAT<=y+f0?TZwCz3 zOYL*iJ0Q)BeRUt`NKlqCz{xfJN!XULg1A3m1WF#~F*x47-=@n{FyeodfNovV!iLlt zpt8-gh8k>Igx%ur%xdLN`W%TdY}MXY6e!Pl4B%!o5C||b2mt2$Krt|sqeq@g21EXQ z=)b2IB0{O4Kk5c3xPy2i)Kz(gUd^8=sV!LgP!{1N4Apn*kDeA@N#n)s@{yA;II z9d_|xG=GEQkjfsedU59eEymMzE@Ql!d!ygPqf=3LY9OgX5ZwhNnUN}7JQaETX`69! zo2SeLH-Ialw^4~!4g$b8nyT`>+M6nj`#n2A!b?NZ#0r|`fDf$9r?bR zDpWEIPZIqomE^-CLM-S~Ljj%D{%T32F`tZ_S}l&`X1b{kT-fDR^x#47gYY${0}%Hr2R4L2191~B}_T4;bY6j1(T42Lhg z)d3Mvq;8lpJyk=H9f^v=AC7!N^IZuR{PIgr3>r@HrT_>h)KG+?HTJ$h?WbzM4DAy{zfVS3ujL3vWtIjf6*IA zKhGO}*8h+?PhH+;CaN<*9$n4vO>!?6k#;#1!k2*wyalCps3`-*9i*@c4Ep`;CE&S? zC*ZF)cPfd%I0?Y}^uBG<1`R|@&wG`f;1?CH{}14@j0rK4;<07Ys2&6n_;43+Bts6+ z<8@3bXd-3NQ-#(yMC5?_@+$jh%t~eBhF}3JD86qFhHYF_yX8J6dLVVB69X702_u&@ z3>*Phf$$G6HJ-m^;wWuxv=SHMYg76(-h_x}AN}nm*IssJ=7)6ZoX?ILE2_Le7s$EW zuVWfheoM?`dVhW6Fr?~`^-x&mkWA`^;p(&%KuYdu-1TtZ*fk8rV->C(g1!E@eUtvVX8T8Q*Fgr`?)xMmJa?TkOVG zXf|RqqO?&(@1&}L-Flkx8nJ27~SUE zV>Sx{u`Be=hAW1ie-FBFe+FGgf7c_#4rcTL=Bu5(SgK1VB)JVY9SB8xn2<(lMFfh; z#&(3CYSVx_qwwp0h_Grb(JJa#id1djw2i<=&(J?g5dXq}xT_da;Z5iq*YS1cqAv9< zBh4{w5wkN2Us~YySaekCfNWqrRO|_Ssn)ojeGthX(S{)NZ>>h=WA+-*XjCOg@GtDI z2Ndd3i1xwcB9ll3 zQM{WXFYaQT{{-t^&Y%oPEq474$Bns~b7O8jZLIaQv2yj3Dowp96euV($e|oBnV^%Ds1%_= zMSahl)s5HberWk0P0bJZ zwh5)ZtAvC~sUA>GN@M1=Pl47@vima_(g?$-9r2vE5$OB_@A{m9=>&TMiS7uCL13`L z@u^8_)`YOr(A?y8iET^GwR7L4f6WH*8|JWv%xwkx^q&YS=ja~X)l7#n@FnilQUux` zN(p1$UsB0IcocY8VE`sb;&@wMTn1dwC))=bB7D`o)9S<|P5O}-n)$bQlp+K)E;ZHD z6#sTH1}K5IcvvUXW(!Q~zEL11M@{FscJ^D9k{%+-$)T=Ice{+9UTBUL^ICF zPMfKb+U4Z(3kv(+R{sIeUj(@JZ^4kp4^ld{yCRuFV}uI(?bioH?B6>q?@$?*k&?A8 zssto8h$E1D@}UoJ&C|4lH0YF*>Pry;+Nuzi9ETYbk84*$0umX)K!UXVouy3)pZ}>) zpZ+g!{2!bW>xP(8LCzPHP}TDw?bwQTKFL)mb&=`m*r|aH)57*&TwnL9;LrH@Ltx#_ zBSe$WRaZK%6bH(;s0AMOp~tE);9`#`CjfR-1?(*8s%X=#$@mK zuW-+Q@VJpw3Hqym{{vW`64l10-=w1IAmzu^1c115E^bnQ6Ii?^RH;BQ?yB5Pf5`+? zj9=r3UsYTMdpc;^oKCG^0^>0as1EmsKG~fD#6YZAY6aDVJ-`z*Ufod)*`9%~X*bK* zr)%8|STEQiO1Iy?BAdV|vzsgK_I4l6=ve$LiVs2?aS+cKn$4Q)%||#8vYH%d#|oa;c z3lK~J6XNRpf5b2OIs$WU{@8p0g@X~9$21A>WTw~d`P#9I;NeBFe-!@m&q_j&FB43< z2MZl@(6esI=NQ6-uZbk2m8RYO4-t;QjhkW5lGGogk4KQBw4@Mmq{x8#`~Vi1Zfu;? zWC)t^EMnnAD8xRtTLn--zxX!z%JO3j)Hw8rRawBgT!E9kL2A@Em}~7_d|4(JdKhzs(i{TC)D@=j-`NygIJsT?$3OR8sn>aAwCzS3 zK6a$#9<`lCA5WzAT~qr*B8$84@F$VKG~FDmO?E?R*GQ2WZE>DvSKlv)L@ey)%tfKv zbMXhzB;pvfT>-n8Gy1Q}HQ@k|W6nV;g;6Wd1#Ew}2Zhu7yU}CX5*V#fqcKLi`n#Fc zb;t=x%U?xrM(0wr6`5QS@gujCL*mndgtUH`cS%d?#(>|te!LJWfq%h5A`iBlhL$+K ze~Mnxfd>x;+z#5@13V>w4{ynC% z0csz$fqa9T*R9l;eYXd*P(|rCmV;=Tysb=!(_=T)S9uc!lT#I_0JZIA=8k;i^Ny^7}C5J~G-m5V>hc9Fx3$g*>N zbP4HDEdd@?u}mYRftgzv1B3nKx84yGwIZ$+F=CuQforKuq1ER|EAC~br`{_bW83|` zVvtNqC>UN(&eTJDzMveuot8g+=5HFA_j~MA!|gmY)<;=f9D0D^3R}%*h0P z2;?K2`byy>wEibfLZ54YmuKbK3sqU2pD2ULNYMsM-fU3nSGoNqKr{j5$vhx2j-V;i z3gsYX@J~+oZ3snxEqTq)B~*yx#2L}3t-UCX5%`AGH%`#VFm;5ihV}<@tW<-KD6g1g zetcvlV4HsuUACv-cOKK$giWM$qEq@Nm=B^<+JVG^ot4LvE&pVJ-`Bvx8u+cLroLz= zEuYqqMmMb2*@6i6fz>X*Kk)sZr0(5Hn9XL5fnu)a+Q9Wc4*a>Xe~UHVx1pN0@KpU~ z?~cOw@7E}sgwQIaNU~Vs*-Sjs8fIx~UyhI9zf>5gKyXbsO1*#x`}XommhvZ}LhBV&;Xki)IKwnSBM&yzvJI<^IMuS{!FffDZ=m7I?lJ z!U^LLrf&~ZcySE7DN2QGr!sT_o7n<8GWqy~d6fco>~+uz{&w*j{Jdgsc#)f14bexzO1{Lee*{5)Nu;vgM6kz#t5R4_&D*fEjT<8 zkC2VN=DXQ1f6mzAvt3dH3te3H`o9sA+e`pt`{bI_FcV|IOcD+UaX_|}=Npmexsei7 zA^9t+#$%*c1rnbT3?NKYRjweX;@FyF+T+0g`&FIhPu{fds2T8M-bt7|9MQmjBn2&d+Mkol9PDSeGXz>DGopZY_GgF~3YFziEj{EkI;p<%4onGC4C5k65)Zp$(4`uxc#(G9^>cAEwh z?5_2^t>eNOJ8Ai%yl%erL+DI>X*0dSLd7Hy8Mdp16G?gBKayvoA1_HO2EbPQ9lr!F zQVqK=__WQM*)KqTDKrRRHf0xI)l;`*xJ&h2p0r*d=oVMC0HFeZ@JH9$QA*d^!C-~d z5^xJDb$G^L!Yazb%Bh4sU^s8+s`snrIC}mJ;U8;!ymwx)saRhWAmINf zA4AKVxBC6Ln25y!QL?MOB;}EwiYvzOGyg=rLP;g@Pvoe63J6{StCeu^hG@3F3OvWQ z`|#2eQa2tt$l#Z$uas8K3lj3zPb__-yio{2SXX4{tv5*F0JGGh(u;ESSqr3YgiMzma5(ej#gzvl8qBP=Hi7G@Q+klNy{-ic>y@3_knG>&yWeU!m|3Fn98%lUCDAi*BzHe_D^TmS7vD@(5-rLgQK?{^bPk4uf|H?DfDr#4IuC(m zWlS8hd`6zMU0Jmy4JbpB?WgOj49EDZR|B);D*iqzv`zkvN7{z+NHP7VFYe^P@iv32 zTsH@lr%!Ve8U$~I)@316u#GQum&7rIaZ$5fg;>@ z8DGGYclhJeJ0u<7^;CQIS%l_b5uTs(ToE>9w$jseWxYbj*zy!uU&7l5Iyd%# zazp2gS1xm3OW;`lBa9&s(b(fHVE3F_5T7^<{QKYd+lpu7O8=H{Nct`l zb(+bRD~GJNZdZ2alhNbT#*ieuz#9Ou1#Lupl|6!@v4M7b4nFe1JQ*^$4!=Qc4-ISwLBymj=0Y-tVak1av zZ96)j*Zj?eeNk@;%<2D-$FYIx9TDtG8s*vZEkWe*nM^bBQwPi@_0U$HztbC;HL@^j zjoNNv!Pa`DU*BNZYR>-{tYP+J%Nu*CBGxRUB{Fo88Z| zDIA(xBk=Z;*`NfiZ?oJn|8OWz$2pw_+WEbARXtw(rA5A@x0AYPPn+M1cHMR2qRDb& zfH+(9Nnj+d97-P=Y4`~5zk}KPQq}QK^b1;}hAurL-=-Z1^7Qwjk4_Z%O7(~LE)n*+ z#u`FsVFYX=0TDJ+w}u!Upq9z|put6^Mpa;r&DfI8R3i6sKm@twBGqyso=m^>L(cj8 z8IS&N;W-Zy;x=t~u}M)p4PUH?_Dlt^!{O?Yx9bzZ{Jk7j47spMRPtHYQdu66x-`UW z#Q-9Qx=yA@+HU8^@&3_D<);W}iSM4h6g1(89&rfsjQh-Ongy|6(Rjqaj9z&0)q>P` zZTOaJ7eIgN*sY*9C=A2K8ewDaOM$5euCrc>cJ&CZdg?nmQ{k9DS=KSFT_Hr9huiOG z=@IW(-!iTpiuegK5AulS4AfT;IHEiwA@E@kcQ$!C_bcfY(e8dh!>=KeQQ776W53Q) zoHV)MELo|`JpdZ}%zsfl|07Xt&4-x1#EbBTg)6w8Oqhp{_y}50eb*C{?L^poW?d`+Unr@`rye6#fk0o{je| zOv3ZhrV+Q2Dij}tMB*X%%QR>TlH$K?b&W0bai6#2IDh}u$UrKVCU08F4Hs-f2zwcI# zfZyBRD>Z*6V)lJ>TjT}MgmPFc1B)-*tn_|%S$gT$O#VOsck;6}w7b8v{JuNcc-PJ4 zGPf#Fk^INYRwtnatonzM=C0-Nro0Jh=2Y4p$oerd-K*=fOiV`C@h~wXeM|HwD+4no zF`h#_=)WgU@CaXYzG1{8tf6FJW@Ko`B&=p{U`P2x-csMhh)MXIk*UcwJ09#|5fLU~ zbyK|EH6E;(*l{M|Q>J#d%0@P_R+cxct{YvqCDu$-xdoskWXmav?KzMT>EO1OyngR;Jj zr7e#ZI!|RABfP1hos|vG;iI&XYaf zcy#wP%Si))OQ+;-v$z|?vAAlOC(UTjNZgca`Z8uSJe83~o*f}Aolr_*;5k3Kq0s6_ z6!}F~`*TIByeYDPMVphC*XYt3X3{a80-q$&spi;{W%bIBkA?fDMm*exhRH4BV-ZI& z49M+CA6BF!YdSRMramdkryzM))>m^b^l1L!WA%e-Ci%_3Ldl2SYC=zHjxM{}%66Ko z>H1W!M(j>ndgIq~HXiYKYENo^men2^E2=}Xi0M0V$z^D4F2CJuLhy0b)z1l2BfU}d zbcmG->E$u2uaoMcJCeU=RL={S>&hpUGdGxs7CLk=E53UYe*Jpb+P&Vwf@`Ipy>n+7v6pBGRsq z)tk84^PYx_O^mn}jCQ>yg}YuG$y?CzW2HyDVlrh-G^JZjp4vbEs%5xr%rAGA_;?{= zV4|<8lvBjD`k5)~24tNoNnc)8UF&*hroH{t>Juq(d4*SggpN2L6K6uY!dqB@YR?EE(qM2BO_ zjE{9J%xryK`{2))WC}Y5r3Jf#vsdRQRmno#qFwV$C^9U)meLDzL;KE=}QNlp1hgF znauH)JJN?NJo{aC<+pW^j}DL4okVzcG&(SuhAoFC<<=EFT#)OHbl4y@@ky;A!s+X> z1cG^;sV3k%KYwqKWtc1M&Zqp@UlR=x&zBqTq($99WY%Vc-TvHEY0yruB)Qo5QAuj@ zl-))ojz1$T&zy9lVaDU;mkrI{e4%q2PR#YuKd!#{ZJY(^j?8?bJIJyvWjS)XJIZk5 zV98k%DXH#$Zxez0tgDcCRT42;@iIy8$?nj}2aiq$pO_tz-B6oNu4}FnLwLB%B<8R; z@0`@KIP{4@BFx#kC#bMvqTDWY6k&hZazTfMYyLyPApg+Cp6co4$&X4(HiHs~*UQW& zZu}m4zKTtmn`JjtMYxxx&72tjH33hIG&YmC@-?&WEThK_3GWN>bvTjOMYn-hoYU=e z<%cuE{I<{j`0?@Bl|qa-!<q?-}Ql zUC)nL$G+o42IMXGAAPsCCCgfy#cQhGkZu17i(jlV`EkRq42rf4lbU^BuHN;&KfwF? zqN^Pfa$d%AzqM>;dyn+jsb74U@uBp7wo++hQwGl?@x%Mf%D)arXtXJD7#;B_tp;0Rmgxk@$l+}#S+QG)Y~?2KO;j2Fc&Xcn6)%NYLN zd^|r_0(qd48AtRK%v!F0?(P%G2A{~QWcQ_f-4sD?WDs(`JJL6T?31y4ZIan?J#&8E?-$1Zl&?;m%RrZLqaBl}Yh3 zq%w#3R}zLi>ys4ndov5A*kFJmHBx_#XYI`&B9?W#BR_|~UkE0Rq>ix4s5d&~rcY(+ z&g!Yztv%rNIx*j{_z1rUVt2~&wHm!Bd9i6822pi3YPn0Ya**AJa4D1ezkRo|C?wzv zd5YOOt=@MpH`nnY<=ZmCj56GYCUmtwK4w_0d3-9Elr$B05E-qj)~N8Ty}n?SaM*uM zZHL{$JICq=7wBY;#SIHwALc5Uw1zKsCn>z|o(_%hfiF&Egn8`9d8lQ`^CUcP?opw0 z$hyd`Mu+zLV+Lmjhy0CfNAjjJLygbC_V`7~$;uACF8GyEP`BIjdUb@D{*XQEn^i$i zT6A3KrLrFGjq~4I`4&D;RNQJDWFn<`A&-eJkhwn%F`!*ttcUpAL(`S)0Ygo^W6;}th(SfK5N8BQL zm@vbI-4Se7h3-*|m*{*HEQLA4xR}gqKJ6%t8$ta-$OE`Z)V1ZEXzSuB5K`61%n-Rs z^}^R_vYY}hjv2olU{yYD<|>x%?qV_;dFlarS9E5`2UgwrH#Mv=(Yf^OJ}o*X}$gu=~=tuvP9g63JxdnqrYrCgc_+g3KKn>`5^kQG?-6Sqg8g zJS_8c*}W}$Fx-cgP6m^n7jOEOXoV>fsUNgb}1UIRmAspmqTe$^*bHZ^XygljF$ zw3@H?xG8hq_+jB#g?F?p@@rSV@N1TqTaDFutpzMH#&N^WT?5-9FZ5j4DKVcY8l{Fr zX7&ao7<%T~6tc){i5nJcNbTJKH@Ilc7ClR_dcGrURb*r1^wnlOtmR=164aQ$mRMls zVz<_FT$MBtJ*>81)x48y)qxC?q&$~A**D1U#_7Cm$-O!W3k|D^tHbQ3o;GZO9X-H( z<`DNi^6U=FI!>frzmHYf!_1X6-M#xYx0xR+UGi~RM^AAzl1Qxsi@(af5ybx02ICjQ z+juHj+UN$(Sk|UyDlNM_gAY2FtxLYJEpu|Miu~0$J+yr`gTBeH22p;XZk1CJHiGo4 zlG4n|b)?5rH~a5>tUVTDy-Rh?xrZ&`ihE}kEJpiSkV`Js#YfdoaKIBH8>d;!78;YJ zEn>LJU&}`)<#av-Rao;X)8xYFDA_{Uj=^*LqWPp(mUuLi|Dg;?!+Gw>PAOP|+0=lb zy7rPXY{V%Ql8Dh0?$Lo@he)3A5o z2t}(^h+dgKLo&S5&{NfED$_S{avPhBQv7fo!_M@qde)$luDYhy>)H&F`x~bQH z;$ZGBE{i^eexYn!t9U#br_Y_2P(Cl*c4N%G_N+Hj&Y2cuiKM!V*&T22Cs})cq4dP50`~3F4L9~@ggYximeg0ORqxSmnt%53P z@GN}N{$%Uo9BW7=A|Pv-6jDo`mOU>agE`{pX#@{^nNEMPv)jC8+o z??OQ>yZm}slaFUex`i%|+X}*wjQ4dX2xoWaz)G4UGhZv3GRECvZli0D&3v6e-qbO~ z1fNt@_+b*El_yKH~g+pr8;Ter~-LsK&3BM$*3%wHIOc>0u2b zw1jWonnC|c#+LCs&Qi&1&=9GQ%AxOmmHE0z{-Wo_e222Q$|H`E_{Ql^86$JjOE5R~ zFt`z9F1s`;m?63DW9?${(l$?lXKu}7j`^G5sx@Y=!wfr9v`{6;8|-IZ zz8TuX%KoTDM`Wf9!B;nI4Hw}Pr5ctd3pX9oX2-uQHon&D6Am_kh`@XBy;TKe7h$}3>!vCx z!3e%{WQ|)T_9|1oERHL3<4)x@<8qcsJ}MG2`U+BGHs&KT?s3DHZm3Jhyv&pO@yfhM z&KrsIYta#_jatQCGsOSseZzAJe?~LcnCHTad2kz@r0v%$8(`6W!7Vy3r&YM`KSE^A zzs;d9VZu^r}%T*xiLqL zU^?ts%Tdk2AJPLL#-8G?#*KuLyQ{HsmZSBb8?r2XY7iMu*9&=z5%AP4(V31$k7d;# z!zBHio0jzzU?)A)ND@s8U2U2mo*TmZv_e$hg_%zWdtBTK%WVFxqfV(>MFEP7a+UfJo*04bB}=m8MvIs4HEiFa4m$7B{7 z6@F|%XJ&4jcw)ps{nV;{6;el|%O{=uXc5HUbwjw#^aL!TSe3M6yJjLO7oLQi(d%M; zC1+{14LeN_yL7;hQ7(+E0Z#jVql1+Ioqyb%;fBK9Fyx7tq+!d$T{(7WkGYFUJVH-v>)tZ)(pJ$N)tC~w^TS4T?->H6`wy&Md_T{Eq zduS?-xfdjUJl-$Et?wIpmdclfbzH{7V74a?>RXcgx>5V7Y%p0=*y?5%vdmgJve z6z#UD4RaajgiBxWX-BLumW!cQ;oZZ>1dw|DX(`hVM}63KUq zo6u*za2ZQ|GJ3xT!OPW|qfc_#e~<1D`==d`UpS?TK8tK+x=MnZnYwg)xupfg={Lq@ zqmz!*=;^S_hVS#3w9xN;dJCd!BX)$*-B)RBNz9;EK1W{c(Kdf3h8_~Ot_rRl5jniKbbI(+5Mg)cl z(X}pU0^`326*fe?$L=7z+@|>v)4e{w9O)3Emiy@0q_!jCtNrh;QXnbK>f54&CeC#} z&Yp$aet2oA%!Z2_8Avpm@EuuFwObp>IDW#CJbaR}@7`DW>BWLN zTYy%K^u08BEIyb6GrKgdMH1y|+K8Mb#=t)T8)EQvpOdai=esFRYWccm$t%9qJbKfFCaM zL{M(^f5!Mo%<%#|T_Wf0uuuS<=f0)RUr$g|mK$8wQZU|Te)=rpX)sr&VzLAye15v~ zt3yaRA~UWd*1L9Vj_keeWF+F)9`BcQJe|QL^8xO!kOSHs^k|rl*x4ch^Ji~J@DLl% zghiFvsFS3fV{mwcN07O6xeygtE~1vDF8SUUu$M9cg4ttwC0y78CK>sbKktd*Sdbi% zDbcNG&mzIWX$@f>?K0+!oRzP`x22SXGjP#n=aFAzwbtGIHWx{xQYVvj$iR7P@2YZ@O;SsSVoc1) znM1$g%2@j#H_+H8-7wAl;=BDtB(6}sM$!PJfJZvREzMfz>>AIFJ`#8t9W&R#X!L&v zd?fBxR_4xP66E$Hp5vM$-f9}DIxW8dq)?*+HgRGsZh+vHX2{|voozW(NLpF|f zS1J)U!Uz0YGu)oaw_jQ1$)a&+=4}Y@Shb*-@_zolfM;%&Uj$oxJ*AwvY#nY*l z>nU7FDlAvL!in-ZXKc1?8~$b%|4p&!`l zSfU`D-n7 z*S5!q|JgLM-K<|9i?R&oyJ5@6iCe(@^l`!?{Oc5hL@qzN0Pk>DF634aGdc$#)^m#s zq?r>hG3YpVntQpHuh}si2vYbueQE!@?Qmxt?9YRWuE468a5%EO!I>q#{p;_u(v<|1 zm@b?wG)Hw~-}kw_7oM|)(J}40li_wpegt&wHmq@XbHcD&sb9Iy0VL9!-SOP%X$O)= zO8i$SaMY2@%Vxl4ukp|EIq|dfE0}1R)Yzrz+kI>O9k0M`yx09R&LJ|@?2d6NUxV@P zDT(N9X?1fmZj$2kU7Biko|uQnV;sQ*@vNsWOs9I?I(q;~e2u;Iq-_s`RiX=vA9sN@a1M%TxeiQ&^D@@n;pO##ejJ?0 zfm`k!p*Al(3Ru5XD63?`1iFbsvnZ;$%7M+QjgK6Y(5+<~pyW1BcnnRiHUoZ z4Hqbh!6v8onJ(0UC?Ua_A0kG`=j|BEgTI?D2t{ie06C*MU2pLN8>sTVPhY2{L@xgy zo~}C(>i_>=d#5c)6iP$NNXUrF3`ql_%#5Qr^PJJAkCqTc$SQkw#$B9IDx2(a=V*}C zA>%GC{GPA3&-eG=-TVD|J@@nRe7;`q*ZXeWybn%@W>)^)Hspe>fBi$#FgY8Qp{f-) zz7Fou%ew614JE<^`oeGiSfE%uQLz|zLIH$R9V(c=4GFDst=F&1v=7>#s4Yee&RodQ z=%Ho)S&Xke=?pN-#}XSI zIF-+4O24VDVBVzvU5Hqmtrt9J>#uR~l3+=v$48|-xave-g|W#H?rSxbmuaGWh?2ed z%R3W)hBj^yvDd8hGQ=eqUo=x#}V##3^|822N-Y5mp3F z{x4kAJaE} zoT9!W>k`(cWj#f4Ax9(Wnrwn#!)B98~zk3`sE;JtYOBo-D@4LKjnKDbT zym=r5r?PFVo2W`ynHKI3E(!$e9SCGj4DN5{OHdk7#`jr2r*FoISdT?5&OpzS_D^xA zd!+Jm+#~NX-qdsI{?qLw%}PY(^=kO9GO1=hA-9>arp$}R$&K-AaXWe|P7)iz5yKgr zg89&8ZVM{7gg<+fz53FRsz2~IZ1|VNcEnZOf-vO6=39ck%9-P>d7r{Og zqd-z|CYD09TZhy5QV|1nGIp7PL7yF$FUN5W&Y-o+w@%R1_w3nrH~LtzC{DmC z>wzc8l@`wvQe*`Xs-eqFVa0^Zv~0uaU(5IP`+F3m-|rSf;Rk=ZQCbqWd*pxDJ=->_ z?lr|uI@x%#!7kEu8u!R}j^;F&$K%e*u8X-jh1xgQ_E#q7H@V(>3s zf#u$5o0mu)jhnBD?*(@%UV4CW4c(a;v_}D2*XeU}OGC8H1PT{>pbQmGr?OBqMHH}R z|Cm8E*{AC9wk;xN-jwGS#>_S+G=?8x&m%$wDebYkBQfn`UY{qH-^ z{LJ(f$gfofvDlPu&R+@UVKsKLJYE*!C@;5M!MZv?dWnJ3yUT&~+OC*5{c7>!JyQ(@ zf{FK|lm4u*2MPPDDt>b>!j4I-_T8m1>OVTDuUZbtuOu8PU9ybSV%PZJp|wqqrc+on z*iFO$Tn)SAgp`n?u@Z_pBr=~Pr$k$71hScoPA z&it*6Ae5cJsVJ6sFZd}#o!%ARQZT;-%92W4A&DF3T(m1>qo(bW0=*UMxJ+23_r7R! ze#WJPMJ99ZX5Kx1_mGr96eU-w6;ed(-Wor7dHLlfqA%=d4pz|SUSAB;My`93bP}`T z;~)R3=>`SkhIJU6JHOy)KoBSX&XFAQc&*D`fGKSt5_RZGz9X z1^iv*a?*0#s?O6clh0sQ{Cx+ulDz^>-*evA+nh*PU3;)wG>X~i!i7DH)wv6H@vssV zdtsG|(UvP9aeAFE*d`cm10b_shZE!RIBTHyD7eZ)?{C8uoPU=6Y(>GMp>JBGh+oH< z!j-t^brmt?%FyzNKI<C(X^qr5=%(aKa-UBm9s9^MtW>IdnxJ^_IMNsT)y zWm8%;BypVot3OTmTe;_L6IO1^VwDq~f-S+OMa03OjXTU;v?ZPVR^n<$+Nao20$tdpDWvpQ(5497k~3^0U_diT5V1QC0#(#3T?(15?Tn`b9U zKwye(yB>BIL`~S98_S7@_DX;4Ivs|9#wy&<{Q!k^=_LA?$`Sa-tc^XIs;qDq2_Q`P z@IF?g&5ThRx*m3Z+`cFfXNETRn>J`mBDRD&fw8uuD|YDt^Pm8wgVVs7$(gy!pnBY2J~dyMS+WEzwl<=6D;2r8{m_1 z_j=g_C>biBjXh-Vq}tkNG5ZV{%WxTQ8@+7Bd1C|4WMsRKpAboe6X&A0zUqdwU1fM= z%oZNR`R5r8mbAVR4po+!85^*X1DW*!w)%Do1iVUzvXhUf@;FM54GpdB*ST0o5=6H3 zem%axnO7&Qc1e!#D$)i{-j0oj*PK%qQn!za9CrX`(p2KG(3dxUJnsa%9{)*P6rwyBV0yQseg zmvCWRnN{2VS}JsnVs3BWjl&<1BJCwV3|Dv*cTUmE!UdoWU0JgD{8F8|t!A67);?6xX_nM+=~op`4v$et&^ocH!8sY za;)q*He?;6z+O5s&`J$c+z7cEhzy@E6R`&Q3`C4jAQtd7$ajxpGcq1fQ+F)K`Hx6DogAnG zDybRvw02N2%X6{2N?ko6IOFhlhsN7l;_%N{?Zt~vc+ROOm}Nv!Xaxc|A?;HoGqmQd zX_5B!v_p_ulGdMF`a4>_Xhm4P?b_`{g~f6qrP&&UdvP_CN+)Sta|Ddo-)?)fZKTZGhsu >6T2fh-O>k1 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%0D*v-}u*OZC|?Y)^q*~U2ko1Lz(@a?25jp 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

    &pW^MaXF5mBzN12l!fN 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

    ZGgjNi9+> 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%0AOFw)rSZTEV+094{P^k9pRP_1_fiEsPG!6x_{-Dn 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

    X<$fy)$k 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≶*Z0nxe4HDl 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

    F1Ri?xyZ7~H`_J~l5 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

    3NY;#c7#?1 zD7$#hMvU8V9va<*k`;h9v#?*)*N+ys%*`2nHlS+&d~671x*fn<0f#rB6ukW&|7;_? zqp90<#}H_xzJoCq_>R=d0tdp}=fnpe8_TCDB5^p6)42v)Tgbs6&?u^zu5@azk^nR4E-ULy$81 z{`)q7!bt~NJ#s_S>me3GVcb~%3z4jCTq=ilCmy%pLE7Sf`E39XOKa-#jQp$i^hHJe!wz`&O>PR6pL4KG$GVQ9$GR%Uo6^O~OSQu{_!0Wa5Q z>Lyf@ZsB!xAygpy%AjRrHlM}uDOyubDDgCc9iciM zq=3PR*w@r{QpB0TaBN#JL6#t1vS4f{m%m4~MSx(dMM30&DKMIZyu4KOtqMZ_p1(-^ zv|mwKYLmF2MvDXT#2p#ueMl3fi-#wP_kr`NL;&1pfGW#f>j7%!B^9c=I_IBO9?6cP zl}!K$(h|;8)MWS0yoE#5{97uV z1H)xAO20VWR0kJ#w`Mjtm_|yLS6g=ii6K6A1w(>jMP3JDtqmNh?My3#o?!qFAzWzd zxI&TfYM4*qOMPnOS(ZGOzp3W#9)`XZZWJvw0J+1zkIFW%P*FI6`fheU4tf7XFgWqkhT%N9`Uej~X&HoE%E06+zZ zZQn@bI!$aOhl1+_!8fAS5KQZ;vF#fTsc?tmAo-<7eja1I2XLE>9PrG=;#cmw&W50Q zTG`OWrh$@W1s2|H3<+cN7}7@1@EW71sn4X>M};xKFqu{ut&|Kf+DK5Qq`uZ*=)gQ0 za=Q*nwIDoyigd$5rol1~8}G@nU#84G+7wz8m$%QzX!tJdGk86_w_Hjf!?wDh+)Elp*l z{drWB9EK4xgJ`9qLui|SnTi4LL_)`+wBo>4HVw?9@VT&0Z7s8 z?2v(#yMn6*3K5E~_#8th?!bZC+#%1;9d13vjUJi1-M|{I;Y1hF-1}6~iE6!M{@tqb z&TBJPK^c_bFn6)?21#URl7wbPv(k}NOer_$Mu_`?>;l80>r1#1b4Jtox3ayQ_Ql&8 zB!Y%xO0^aUES4xCe_}6V*se$8FZ9uo5mAl>kkzd+?#-^yAfQ&QW@k<*}iabNsl{TR0Y2=;x{%5uUmF9wI zRr;yhfQ~i(Tub9m>DP%yn`{NTmByc`jVKx&b{c;oaEivBxHwFjnBphuN{IQ0RheDl~JAg(F)NXlAo6S7}BS%D^pRwblf_%U)^9)&uWLE5c6mUoM60o-j`2 zzpr3}`zvZ}U@hc7bSuIG94+WV1b3!OypD}}qQoKU4cF420Jw#%GWu|MpEWZKV?!{l zUL=bOwYMUi8j=fm0(WL*#i$S|!m%kNFg67JkjJKgX`|$rvT~MovFY)(l_5b}A>9yV zOZ_l$O8lE2#gL?ot}`yY6BS5>JFe*f#Q)$4!V*2ADkpUdWfu9R)I|hdkT5w&p$Lf@ zY*hwt(f~d)(^+Y>&AEjs2aM5}0}?QZO)W{}fJ8<_9D1>J0AeaQLo@WYA-ODh+VB^1 zMY_plKu5~ON<~Y7R7hq-54XXadPPgaK+rIWl4V--;t7WCO6%sM98ed%+zbLmeTK;V zhQ3^fstz4J<+jLoTC`ygXj-w|^^g>&!f0Kt0fsHtFg8?t<>}~a4TcU30kkgEu%A^H zs`chGKYB<0#BVDdF&Y-Lc)jTxM&jKAN*A`d%R>xN=5h?V1Vzdoq&*2b(p7xJs71e7 z7BZYP#TOoa)H;f{8j{KWcUU{bfVUqZi-YS4{r(_&w$9pb%1b8N$WG2&fHkclJqZOxPqvnI*aDv&E!`gg!kDiyK4+l#K zdM82fu>zP@UF23A65?R9_ZctR!};#&2&gHe)4Fgo`9lq_!x z-JK*c#K*2+NH7yB9O;#BjHb%cY#D6p#>1|uz&nYSxF)H;4At7|*l-4;O%9wqE(c*V z<Yun|^90WiOmT&YZ3FKdg9NIV)8Y(L_z*#Xdwg{NJIHYdx&Up~Ve_zw4!8rBIE-RMc8jL(`KUUYrH{!iMMg$Htg6J?NOS_DVBUZ%4~`exAm zWsO==7p6hE!R}M#06VHiR$bJ*;klRJb#$CASoS+a9j=hHU@VCm5LM$U*(PMS!44D! zWU5I#jynaMZQ;UPY5(9m?^h#31!XcFPwIkf9= zlX)T&5M^cuohQa--NcvYY0%O<=R(W#G-zp_m!XxyU^2tq4i{hH2#jM*W=0+e7A?BG z)}Ke;-YuF?`tx}pJYP0t?e!-VcjTif8c^IETgpxXvgvUh7y@WLlx}bcS)k?%q43;> zICe+m_AUx1q}UhNQ~gM)C>q68V4Eqf5RB#up_S$e0B;;4Ta9T@Wmsbdz%Upvu9fa+ zKOjn=OnK-Anm}eeZL{$t1qaeYnA&lRO<*E76mjE5K1u0<2=ZH%|3nMphC*oNMnFN= zK!!LVW|c_$|in&S5E4{Xsq(t zPGc&gY!16J$^#8N&bn*|?W0Bz`iLKJC&lQ)0oU}n4h#V_vqy{|G>hJ#|6$J`JAQtf zsHDn5r;{+21gWLQZzhW|MFF%jC15Z{*YXtfg_wf!HR-7Nj8Ppmk2O`@HHv@QW5c>{ zVu2FCSfBt}S)c$KC|I6?zR&>ZzZJLSjk=(9DzxbS*O`V61!7f`eL zu|*H*^tdkGA%NDEB1gn6(l$RP8HN3zDZ?eid(XR@}wC+0|m=0FpQOlIxwFF z+4`!ig7P*EC1nT6lq6eV#dyNpc8ef7ZY!w0``R-6E$-cb&$$9#G%d5*KmmzRN_v6U z-P@E>$VzO~?E$Sz(k0>1+$rZPNbEXX>ZFQ&Oso-=lT3;t0w_X64~4$6;sa1r^UL#_ z!*9qt#XXogw-HjfKnv8E_`n2+n#zO~NUw8lxGi2zh>=Y*;!p}5#?LQ?2)DT9kJX@} z(XnLho=}_zK2;io#Wiuo2!u{DLng&F!*dtnnvI>1h<K@*!sV%x(-C~q8KTd5E=cEe2I*7246+(g9z zbKlRc(oWl{0pfs{k=)tYPVxZ9=pNwYu~E7QFm0qOvoE~az=W~+9PkwK3Jb)hVsb50 zW|_Y^7Cmm6Kw1g;bkWX}IAdK43Z#`G0Y)1o%k$CK8Vntn&kE1zuCbzMYQdgoS|t-) z*ne`2J)c;^;I1H6`gC+u9vfXNNk{Eq?cvm>ItmZtwwdwMb698wA&d>dwCX6Udf9AY zn-uCyyA6eRC|g?<4;?&IRHz>ieI{jNd#WBDzYATFYQU(}pG$@l&Uu!UQU>*^9nhe^eCfCS5=1qlkU<{Jz znC6Oe=n<9KcU$Hei^qn(1^nJi{<6$@x}Hn2XGv;Oa+64bre@Bw20XQCU@A9j zK5(qGb=8{zGzThzdM;L|LdiiOa5RIE%21q4=?Q0!diIv5Oz?!3yax5B^w-F3;!I&q z2=R$jSIg`*Dp`p$rFRT2;6kfH=4*2Vz^Kx?NZpl6aoe z#z9>vf?#H}@C{eL$$j&}9p3Z~Ws4%ifOB6zl-E<*X>3(@l^gf3QRN^I^vEA~I~{9- z0I|ZU-U6;`^tL*p`hN7`F2)Ihj}^eQ=vMOEce@ojW(@Dp>(zL2w_Dq)Y$Lwo$=N4s zA?V3GHh~06azu>SL=7tzm&|3S(F8Eg3&*fP$+ATGn;ndg6~MGIBpB!jh8_!5BA4tB zveY50PsrKb4q{OkyKC^KB}5?l%5}Gf_80ZW;+pN2e@&DFCy&cP*w>ntp~FyyTi8Sg zMkT;uG_tNN0Ri>29`nEzybpVHc{RH7m5mK~7<2vNMsLilc^VlfAO?7XeY4b6I01?2O zqIfxr1fh#V4@~PiH^sZ&qv<%x{(II;LGhMj8};aXz%y&dD>bIG!Pk(Ejk2MOO#>y% z%Pzdx7!t;Yd~Ib&P@71**o<{M=$`v}dKcxqaNG?zdg0cq^>&F8rh&BuGnm&OrVH(p z9m}pJa_ue_C|oJS%kB?TTWJOInVgt1OR<T(wYPppI-RUxP7{N5N!ND|Avb^ZR+BJsw z*i44B(bHe!^bAX$cEhMJIt(S8*_Apl0ftku3%5zM1L{ex^T13Rb`SOIid0+OHn*GF z#*!T=cEdUBN+~RZ<;iDgA5{oSE6=YmE$?J$fAA09l4DK9}`Gp9}8lxY?d~B}fITT-Xs?o2^I{ zaa`@N*?YGLtEe}Bo6Hrdok%jGA&{R!9txgf-xlG;(9TcKgU+CoZdP`F>rok%!|{GT&`;Y{LJWw$BofM-s4xpLQ1l6Syl){L?tV$(#)vCVH~3<;Wl9z)vb8D3-b3>yZ` zf>A027@2Us`L$9qz-S{unUaROazh8^(Xgx7YErG<=f1k~eyx|(k+wQvoB*nun^<<1 z-J_}u?X1$~C~h;RfQ#!a2UDyG7o9N`b-cnkW`!HOdz+psbbGE%Vv_1HMu#QP%IgFH zaW-adb<|%T81ClAB@6`6k!*E!Ri)+MKA%w9ZnCa>d*(u22?oqs;{pR09{#=jVV5y#+p+db zN)As;YCHUuzua|0#I>n*(5z=W}R3~8fh zc#Y9Btak3Kqrw$_Dr!ZDZ!SL;Uv zl_f1k8o@hDA~gdDa_-5rtPL5ClEl#AMA_rYqC$_l#Th?ZMDD*}*tTt;R? ze24c>!qNJ)zDMoNnaMNqUBP9`LfaFaGwb6HwK>~+>6ISvn5j@rbi$%)m7b&ybDDTZ zq2{qs88(%CfCg2Ciibhv@dePuI6(+wLom}7>Kgu`!ZotP82lAiIvWSVVr=C=ce-n| z1L+)uTiFo6;LQz`EUSU;1QM7qHjg2b6{^uQC?W3nqr%ulH4#%`v{Ev_FiM88AqmQq z)Ylpe9T);=6>1M+t!h%O-e3CH#13S}9&d^u6cPZ(U1_+i(Io26piztkz6@Gf(8Xn(jODfD?{#MQ*gR&m(bC`IvB3JLe;5EojhD zTvFQtl_o8S{WvRj;X!OJX0TG}X^4Yux>4zB2i7k3r`-+iKIkvSHpK8!wy}Y}#Z)@x z<`&7!Yqu)+N?4vqgJM)Lz7ic$a`{wk2DsH{h(A1)XrSH)=C?M}yxgs~xDsfdVQJFp zi?~%_Mf2uLyr}x~(CCtp=kc;FRCQL|`wgs`hPEIbWYhCLGz2nPZ{t!Y5VkKX1GNqN z(uA!|)i{<$cwhIegm)lDeFxG?eFtJJ@S!0I%i6|YYe0Nx2&9D%ZFKav7#(M;TO(qI z&`QA$4oL`oXgK*Y1s&@IL2(!?gcjO$6<$S%HI9;XvGsbag>qpcLdT|z{|g$vMR&tK zU5Tpd><6}ly6B?{bvw-Lk%Rdbr3Vkx!?MkEww7eurshfmUA=*p9BON1QsbDvS;Q9x zZ7nWW>?=r|C~Ii=J%#`#YUsa>_QDtbFaGt#a`D#}KmG|fXy4~s(^re%ydQl!uBxlr zY#ebYL2}17q<5^A(hLO75NyT19ka}aK{Y7{f%h4OAt(@$@{n?h>>RwFV_rLCapNYJ z-pr)UNuHTB;K=1f%xRDSqKWMo4!?hK1$Q@}mAmM0utzCEt}E~^Dt7$_FaMJQsv@`V z*UMXG2TAUcG^g=fD&PX#GWNi`GqS_XWuuvvk=CVlF!A#_@+2wx~vWSj_9=0`-eG$J3u)y!`g@{fFv@-@HAa@2j8w@$t=1 z)eryq@u~XRx9{IQ0l|-p4Jau%{^9)b{m+kg=Z_1{<#&(o?|wKxEq;9YyWf0=sh$7+ zw0QabPng>``RBL!=l7VwcYr33eU}xAK>Uuvgrep22iF-=2htzhc~}j^zkdDe7cc+g zx3B+tzDqEEc)I=R!wL_caFCI&%LwiaLE0hdCy(%{e}4DwJ*M#E2Gqnb=5k6u(aJ;q zM%qyNx#iD4@m0n-KBAoa=KbUS`7v>4iTV8I{PAh=tDisI-#(pR-TmeE@z3X1AKt%t z_w?%S{P^_d;msXCc>T+($MfHQ#&=)6f50d2o*r-CzWVsf$EWj8|Ac+(=hsgn5&!n) z-G9D#`3KJL$8eJ;E+RhcR_JPvBO7FzcYCrY#tQFGk|fjX;LPcLew^J|hodiUfk4|a zyHykA38#G>;|=*mjKL!=l|L+A{>T6RKllaf5bZ#Yi+4Z2efuY4itz371Ru{2Uw!|> zZ@>SSZ&xUYKYq2YQQBIt;cST%MIfD9rtyaJ-362>qa~EL=&8h;U3w@}#Kuv6fA`_T ztB>cqpC8{m{qkycs9_!JZnrnE3`5QA7B<}B0^$_%$(U5>7t>LZU5G0;LnwURDP@J<4{TtWWf4#Xo|KWdqv$*>R>u#hO*ADAr6?$>uXnkc@ zstnPa_RIz8N1_bUoA%5FDUO33`n}VX>j%m;R zS7v`)qMm~OZpS_k1-DD33xfdQ&GqSKZ-<~`0Yv%Gno)qvS$YMZMb-DXqtsuAyJ`~v zA1Xj;J@;DEA~Y31!dfq#_HAS=Gs7^?>mdJq1sj4rQeFkfT-OF3_>JE3>_lOn15W@g z&5Fvic_y`j0Oid|(zaaUb*xP>k$w#SsZSXI4=ss0{yvA`W5l5crd2grIPd_M9P&mQ z{K`|S_8m{+{tQY+NgneQbZnFjU2GCBe5^ppvP5-PY69b91u!iPiRbKkQMSLv=^2(M z2|P*#hoOYCgnb>D0K;Xn3%4heWl9Fr6B+ZsOd56_wKb_8IGUL%1@GBG)C?+(c&3Y3OV2#r2>t(OQ6we=r08{sdR?W_2n-aL-bR<}GpN zWeruj$2$c>*|dkXT}Ybi#w~IBq~d00CivMd^I^(@-#vaz}pfs$9+u@ABPFM`O;=k}bLK04}^!Yp7_K-)` z%Q0UXG|r(8$Ry=up1cZocDM<%_2~f$%bK0CaC5vcl)hHPl7LSRT(LJqHEUsigc}LhnTeP0nJa||_LJIiI-r%CsAfKq@*eoRk zSjL2X(U|A~;Y8=R$s&qQPB#bHI4UzWs-;DrvW1y5jd|w$Xsbc%Doo{z&AUh0J*y~+ zlx zXSu2%(RpQY_Ei4V!ffy)w1SIK@U3xr%}sky4M(~FPFg`b>OzFZv7rDe{_VGf+^&$b zj=8LX6D$e&UHHJ2$kK3NLLAE*DAy}sX3e0_>&i^;tzp07=H1_tSmy*q#)zT3RMZTY zh>#DjqKGJJoKn`!6xqD*pTaKaDq*>(TmEv41#zxCgl1=FbkOCYQJX(wut8HebFb~7 zm`;d0Q3REGW=kP8YJLMkr+)XSL$|;v_2O*BDIQO- ztt@aLZDcH;x+3<<3?G}vj5ZT}sk*|r64#Q+QgJ`9qLvSkk*l_-3DjMEOLc^lJ zBwB^py<|0Mww-|q3s5Y@gK5^*k{PuNRY!KKI@Qw($6fB^h5gBNq4RXyRzW^2+&hek zR&bYAD5r_7P?$J?a`-ybz7>*=YifOn)_<`1bZw9w(qT87L4_4}I62JbMkT&;2vnt8 zC%LQ4hxB%T9=j^(&DJA4Ou^O`DK>o)2Rx0NB$xv%$(0)E(X zZjNpp8={dy{}BF*BKP=k5g--K^Kt%*|eWUX{e z%*Uwg!;+(u_>1HKg2UUzTP-Bz%ZL|h`=rT!-;R|mo z(~)z4`E>a$^G4p$+UEXeR0 zqi5K(Xcvx(Vt`@9R2Z$43^3YAP^P55)?nxW@R&iv-UeKh>E=^j^1$K0*k<#Yg>5ts z@am=VJ8rKJ+k5EmchmJfEq0QGKU4gr zjpxm@2?LXKc9X4{e!+A~qMHrdGtWXaNF2|hBCp|#E#ZVD#2&t+SMmYkO}L|_>+1$K z9Hn6(;T1Wz!HtJ!PAuZVIJbET#ew4B0DPHZ?BG-Bw1NL7+%KKLkZX&yYW|z_lmE@I zQrc>mgpFGdv1O(yNWL~sAP+CT=KZ$l>3nAKgZRyhX4tl^3ursu`1|glSWnx{2+M3r`49@vl9qh51fqBR^g?pGGi$F7Zm??uI zk9pNttPDQ$G)Ve+RA#3yS~1&eZp z%=_&U(YImkF~zDK5x$S_hh2o@1ccRrw%$41e=c5UZG0LHd#Caq2o%LhOi1vm*X&g^ zNk4rd*K%hQU-)a$5_;Jz+9Z*a$%!I>JAs_a#%uVxLAL*T*gS}8Vm@C3&`Ep^&lUN~ z&O~hWLA}W&5_-t+FX%p>dpL$tv0&H8S{y}kC+v&R)Z8BdyL{YhCr`^N6O){01sq8F z+mDNN2w_TY22~EWPzo_OzN~OWAX5PD0m6-KygUUp1w^yTHcUrjgfk|@Vi069>D!y7 z#>vufRzvRxY-$w(foAZJ0s)D_mR$^%H45DsI%zo)%c8Z{`q zxy9~qM!MPxYU+wRoE4;(M$Coj#|4Gyr4e&s%B;~q2-!RmhpAGI)uCbxG|6rq~JE64% z7^Qgxqhrrc%JK>c>&$rSV>3C@w@fPp_4hbI zZG|SqF-iu9p_H=-rw&Yjv1y}0nUsdQN_HNYNkneBLEDt&+RtBO=b@on0q)clvPb9` zz_Eirlj{$^m5-JD20No4Fptv|N%8u@2)2*foqm>r{MjH{!)6v%&3>}!y1y{lqEZ+5GoTYG1fYC^TG9?4*i5q!fCJlQVURkQu0Fu-LZVx%? zw|@<#m9`L?5-?$?pn{s>rZ*!ph+@edy4Uf{O7+FG8bZITDPEN9?vI1wJxi2GIUO{0 z%HgjOMW`H(CqW$><+`Xb4O(;{2~q+((~NyaZ+US+#|I1F(0-Q&uC7t_~oAYE8v(*VuzQq#p5#hn1hp~ zPfdpPJ&Y7WMOKx-&1p&L%w9bo)6c>4Ayz~G^e5;3l=!3)!_y~BA$(uXjd)wEpoB?O zl$LABxyC|4iF=QnSO8cG5NA~Q$Wb??7_LE55JA+>Ivp?NxSr5f=Tx`dL7x7Wy#b&Q zgbhq{24S|e^dxVLAiIf#9e6*N51E0#Rn<}X4JxoirDnAPD4mkkKJh;ZAyMiN zUrwKpquR2Z`9}@y-jrm%x=!o_Q%FX5fR@ruiPCwF4dvdDT)|s6( zvT2;t_K&pyMk%xM_LR>yvlSIxxiB)g;$Avww|G%iC5-5nXZT!uqq` zxzM|Jf_<94+^A8v8fX<b6C*rnttY+HMY=M9N*>}HqsmMx7@ISpE7s+lv_pcQ{Z%N-Vo4wH$eI3 z4PNrly)j|EtKFCo`z~&Art?;b2Xt||bkW234Iur?CRSA>LUX+}4#wL>XorWUDj2zN zS;F|W9z%kxPBmO`=&|NG%bO!orDNk8gme$bIxfQBappALz!94cpsf)S72z(vSs~nr z-}W#K51R{!P{5uE5qB8DS$(rbULrH0a^HX*B1Fga1w`~d5MGN@7uOC&mNnkQjsgi2 zmW1RU1EZMeRUt55waE@Cx1oJ^8i;4oq$Zh!D`WS z*^Gm$#vdJfo~ax^RF1;;C+N8i>j@a*vJ8j#;0*iZb;sz*dxMUYgQK)~vVa(UaP(}E zKqR76kIUZ$R}RKmCe5@__uyr}7{i9*auP2x52f&vAZG?-4`D*Q;Rx>;eXqt4K|jpoY>uyAqvx( z`#<;NT+{2!$#iT&)q&G@@!_aG4-AVNxP?6K0R#lv(*MdY%)yxLo0R zo8sY$k&RlcM0S@w?sr3r^!_xr^ttjMy4rH?8M!123VJAMN`97PAuU4Tqs24ubdtHs z_EeN1E-aFjMCO}w<|ww4%e_2GZa&+hfXU4g4Pv34CRO={=Pp$Fri4QxTMFu6yuSxy zYJF1nT<5Yx@%9e+i)5TA6(iNb?8OS+!VZF626G5EZldwn^x9yW1nY%DK!6Vm@oZ`r) z$HUuu09qsXs5!?Kkm&M)+J&@WLu|7s9YwX6^g)TE$ z!wrO}lgc?B-tJnmQFT%2_ zV3~dTLY#FH19f0N2UOxKJYbF_>=^80g#*n*os)#msHfCurCxeGZ(A<1 z+PSS{Q63lo9cTr>7mm^O^2#s(d1Vwh+sYVS85P!Cw=(PqhmGb2&Y#IgxbWPCBb@lv z%9%c8H)=Zde%e+|bc&eIW*Q1Quwt?&0K5Io8bPcMggh2Nl(nFtK(9ashXRsmmnd-x;#Ke&ut|Iu zNUIV>MK7FcE38liHg_6M3CH`>c7BD45!)G=hXSQ4#18y1iU%;Q6c1op$W~@scy9(0 zM&{Gr8x>TD|Lo1Fj3K)Fwu*k7ugbr|Xk|r!(L%*CEA*uqg8n(52_e~_yaKGxB%^0` z!2^z<3snJe3xbfgvLMXY_z=Lf@*#l1n;S@3W@mV_feB;t zIMR>mRCIQDPbQw9G+L<{U>G%ZmA8^Iz-XgEnUwlkgP{ZSh{z*F&^8shzUbnj=jBp$ z7@}m1`fKP%%1|^EJ?6k<;CX$-`4urRJD>J&-muzr=o*!1DkEp`bD!+lzR;A3{9Fnw zpIJI)SsokJVuk}QNif3<$I26W0FOQ#)-B{SK?q|*Fw<4wdU>-!$M$g*IKQ#f&K6r( zJgw_3PB$GLV==Iv)1IG_Wr^xeATcD2&0|QLFo)L|JymJ65;MRsnN}FB0v%xBwGAXF zQ&L}RFmzxZ4SUL@EY;c-!PQk))RUA7 zWh$*VgC#B{LdJD(U3QaE`n7hg&hu(~y&gqPYRrUYxGG0ipg`Ed`xM;wGK8B}Bs?;F(EDB&ItJ3WWm#Jt@qu)MXuqNj>m{EOqr4Ce*M=&}z$_A&J z^TNjplq@TNpht`$K2`wJ!jQ?T)Fj%}PugTgsSr_Bna(hpDd{krl0H@-L79>P^|Ue! zkHOk#pByRGwa^AQaBWlG&Hk zHIvn-a4U**i>mz{T3YoLsdR!s{uMGwT{)Lk{akgaauDrC9UGOeq%O1HxC0@NH9}yB z0s2wZB?=3UNB|stI4)>~5XOdJS|!U4-^d7rcX&|5T~L?vorFs5EA^cE#XDeH*$}8^ zya;1MN|qOS)Cy0r($oE7VGaA-%uK2#+Wo|z&Ig-hjzLpwT3?_XmyB{Lt8 zf2&u57nQK2!g>Q1Iwz4ZTT`(+wt*bD(W0vWO4^@p+oYdM0U~g>k~=%XqRV5WGG{p8 zzFbqGYjn;=^NG=i!}}ng2|^eff@zf%SD`3jLsYT1wG}j|J6+mnAJDY57S~CNW=^4i zaUpGqKMk^%)j5ZRKDXFhD7&2H0UqOQL8riNYNa@ z{hsT2e$TB*NmxIvf+C7f1LM*9)UnaEpHwH_ht|ugI{EMtIe?=NcQH;7e5?Rwy6VK` zAh-p+&!mFxEVqKHdrBNn=RjC@tsHPLO7duZ>e%yBvb^HE6G#m4v6&2+tUFDjP2Z%w zeUu7aRGE`v!J}qMIt=o)fdpkr2GkRbJTQ}nJ>6NBYKirCi#Hj_d4Sqv<87AD#U|Ai zwTOUpDt#IxCIU__6orx_Jor!LP#wxd`@YJW@?5ex>A$>$?i(@5=OtoQ{B zPzA@bSMAPODGtO=hzwP*E7fgs=k8Qe_WVMFx=}fV@bXE%%UKsyPpQf-etwzw=v}%; zIa#0U?7+un@AWHTK`5@l{k=EFH6F6@f%IX%F?>JQlOW9CIFOBgFP;`r-a|O3k%iBorTyTpK-YVVY3qCWxOnjegVeFy+ zUTjk*O6GD zE&X017?&CrqIe6z8rJ8FKtf35vKbG#q-~zz6B4h?psXjw3KS7bK1lZd8!h_+79P@R z-;YMLE0U1V;%Pu+A&B*I6}h9n1fuITSA_HmM&AfCHhm3&p#8OjCo58|Iu1V}k>Z1B zB1YbX_QD356?EvXX+hy#X$`>A04u1&waKq(6)@;i$SYD>SIa?$f;(!&RAZ-gR?mKEPZ473(D*385!_ZC=OCO|RgI}y9S1HCyRTD`m2tLxkrK5nx z<&|uBexh!?0^?$!mCJ2zXyQmDq=B!+(=gsiljhSv z76&9}_X*?)4uZq5qq{6s-V`7kjh*1IaA|E|q2`sPt(TD*P5GXBjM1E-&c_Mt(}0 zEjKW*!_iQOgxVeta&R|I5?(fIKEdLHHvoRw?7HZ8W7~_t=%TQgz^-foxKO=?kN&!v&mO zJfDE~D`e0e2fH0^y+DEyd+x*Y%HD7|72$W??7O7O&PR80%s_M8sj=FlixB#jttuFg znzxs*pMi1R?1d)-v1j)8Ez%Yr=M%m%eq6lD#=hxw5fh3_%c78-2m8Xa&RI_O2>PRN zabQtknp|f|)+y7JXWwkF0vZSa{f7yrgF4p?Ay7jS7LM{*FWKhBwuj9Vq~IZf4wd*> za;#J|>jWcBai+8OI)E)yvSfB7a3$^et5e5>4UV}J|a?@9_d_Ufa^Cg zjF699P|&%EV8Enyu*dqTBNT)Bl3qJ?0d%>A`J~R_9wI|x0h;nza0*r?{;qcp zN9}SM?G^fKFVWz!+Xfz)I4*hr_U5NIPahXQ{_6gxuU_9iJ)Iwa`Re0;-+uV&{CCjt z?fIV;zdEm$ukPNzdw0Hjdh`C>+xH(o-v9jg=G~v49&g`$yp_R!0&@S)?N8^6fKE8X z3+aD#UanrD&-~+40C9Kw`tA9{+n@jZ=H0`a$B$3{v_OB(bjL*T`|m#xn~(U~8Z#tE z@wN2;?3??i_y2h|kZ@$_cQ@&~cYnEk#5@1|@%-_lOz-YLA8y~g{rM47-@s#}U*EoZ z|M2kk&AW3SabSQ1bN$+`fWf=>Pq%k>=MPWkdwhAfwlD8ry?uXo`}X4#CKHIcSRc^- zBTs1$fSr$h;_yuCw+@b7=gWBC0i6#stkbLWe|>y&f4+b7F*Edh|Md7XW{OBqy04>& z+l%!v-4fDWJ%n(1J$yXhz54L@{^8Br^Xk>>+mCPVUSSB*^z@64*ZS)FSqqtxNZGOz z4X(Gw-xpQ~FCbC0azFdkZn@cB>}NmHP4<9>r6j*KwLvn_l?{v(q&Kyh3)6Fy6s9+| znF~`+7C5G%I{R507%9l-oVCJyu36*SIQXNS*Pz9f4UF~~q|bUTOy{-2^jTkq$p%K3 z?`aU8<0#3kFJ^z{p^$G^>DC|s4!DbCkN)`)f{q0cBmzznM_s3-h z;OUeFD6QF}*3js1;-b&q-e+oPWaM_nHj}$MyF_yb(@b**(?+*4=lsP6#fPq-z85N0 z$p7pujf^EZN3)q9-T5YdWEjoNa2Rc5EHlF}&+8yy(OXKbi@+0;v!ggn-!nRtN>s~2-!B>`@5{zQi0t7#o6VWs4OB9pKJ` zL%$!R=w-GauWM@LEO0T^u_-h#J_InWdLo&=8smk z$?zWAE5iz<;uxi7fML{B7_FoXFxqHPCZ)dCVCcX+B6f4zYjPbTrsIX^8ssSY<>8x$ zmZIk#F!57z+7GwTW(YUwlVi~V3uN@LN51J2x5)P*hlsB6UCc{q3zu{w2=(YfIZ9lw zT1f_*2~c+((d9QPhY3PH9d#6I9&3aE9C&w&Dpowa!8vyH;V#ArLKqu@X<5ePp)1zi z_6F?gv#_98=eJ7ojVUb2)>Yh{E)S`(WJphh&riv+GU!eqF(i!5XGpLEn>n(wW!cxv zEyz>;tzbx5G)l+rWD`47A+|1w0K?Wr7#k9?JRNDA&~*jd;6f`a>QYm1k4%N54^p598L|N$MH1NDzX)8iHw+Ls!qd z+hLesUQo~FJk9#v81OU>bQd8P_bB}W7-K^K)5?Ybrj3$il@Q)+V8YmZh6MH8%#kb9 zvvDM-v?g|RC!1D%Jr zB5UcWoO}2pIn*|Tw(UQux-119b=xW#0zuu;5rU45stdz`x8`JPm=AAoRqp7+K}i7P z1i{A&V5X~EII?+NNAEyWP`Bl(%O-Ve90&`ol>^=BGI$ZK;bt~C818iqlq@gt?gSDT zAG?AfLETn3B83cN$5t$yTB19w8rm|pgt$!ot$Q5yPs0LOvD#=EO|^8KC~BCv<=x79 zhoNjX7&v%(QYLfynN;K+yC!@!SlzxR4T<0{q{XWRZ3u*`woD|Mq1yaOgP=K1MZUTWRd znb;A==CdOxyGDLY-SPsO#*d&VxOt6IF~G=#ccs_Li2%bSI*biTSms1PJ+VOth5%ZZ zge$%BnwaGUmdXfbgAc04auH?d)DeBaWtT>0gADj0iR-i+xDDYt;RN#YXuAlNH8_NH3$tUJ2E0UI5vbx{F-T znTi1m6fDc0@MVY21Ss?d<;u9uG;K@`hwZji6DPwYCku5;qUA0!AHT)_rgMopU~ zvsn-0n@Pl2A%w9Zm{vXRrVTDSS>j%y{_@2w?VIKL%*x&MdBZUEzR1j$^W$?_CB}xZ z7q+q?P|bJ|#)gzEZ>izU1}2OR!L%|Y7&jG;a7&T$>R2Ag{ap$fUK~m z5UPXnS+nN|6d4)qR$!Wd5)|+*OHlGbcwHh(`_lG6X=OAg8(2K^s!Nh_8gxX+jR#VH zqO|pBTRYB)CfZIK5=hOwv>T8ndTL4tJeG00|D%WV5)BVlL;qPPz^_^vT6~MIWRNLg>V?mbKAnT*xB%R-7RI`6ONAFgx)SYf(gKMg0HaHk!(?H3xa`QJk z7$3WWA->5W&U3Rx*~qxrfm+_}YI_b>ly=tM1{*^ANZ=97D< zK(>We?24%lYbIN8qZSvo&Bo=u;RKByM5mQdtT-`0Ko`K5kC#(kA4H1HDRF5_Pqjqn zN=uu9&v$@6^3o(BTp4q*J(8nMI|?ClCJR6FY<&CcN!SjT#SWW{;WQ!kB!$GBcx87% z-Kx2wv%vbZ)}DXqEWq={=j$x6{jA*W*3x^&qwNDEd&#ah8+t;Z-nZDuNe6Z3a*WQr zTb!x34@icP({k7_pc2tNnK^1qX3jmlHf#7))|+z3=(2lO&)MBZ)UM;kbYS^;S@8{> z1=e3W3y{=weElB(dvShu|MBVZeESoBW0~t_$C_m=c>SN*SpW$?C|Uj_odwvYA~zFw z`5nz5Tw9l3_FZT?Q0z0XmOcYgZ2sb<^ci47rBf<}W;JoQ&%l9T*;+dPOjYWey|g7* zz(`5ssXV(|NzF%YP?&;Ns z+m9dr8{e*#P{$a~1~r+d#cs>HTVaPT&@`GO7s{wPjpxV7%^jF<$Ot_yLVN_hMKN*# zCz5nJPO&S)>t9|yp8xhUXo?E@S9j-kD8zsJ>fWwT$?@6H z2624h%-h6DYvkz&zKj!P`)BI82&?$>2Y{EzlEXiX{!h+6c`=blw}n4xgS<*Kaf4Zi zHYkh7^NWWULu%DwLHhVO)A9)IgxeKy`{`V0IKJPYA&o-Yz@Lc}`?=84JQ=z`L&7{y zw53>WR`chXq2+nbg{JdV+|oSfLX&wyDxs)OI!_StaN5kCr$Wo~oC___Q=w&k&V?rP z+=6B&)Rd^)!U2pcMrKb`!KvWR1(#>4;8b$wf=g57rR?jSP4&7Zy3NpZrZb`GL>0G| zC0YuU$_(MVyIDcq{`4a25giDw+Da{RdLBJ_j)=YZ^LZdVU-r@3>)}1rNX`Kdv&-t} z!vWd!xDE^fw8n7Y0X;&D5!=35$Ne(-P8l8yp}nDkE>T#KG8$*rwbNK37?l-5E0q-h zP#7arnN9ja1E2%*DGiq)cdQDfcL*8NwNZ4rCexurYemawon8Lzv{nd4YlYBCYX#6i zsxqzhg$6(e=F|HBWAANy?aFaO&F}sd=i{9ZKDA%geghf}Oea%7f&p$O-M~#!XcSz> z$K6hT4=Iu2T1#t7d+p;&dSG|Ej2s42WG2KbM~Wt7e=yX8%dek_?5uYfd)&X5hu{YmO-CLO zpf(qsJMobH@~gK6%-V#UB#p#+NzwoqcCCLWcCC9GLv@0-;k>^!%yy_3!^S)67=}x4 zC0cfocP!x9rsa4J2T!D1lMD@j;o16k;@P^l@l?mN4d?x>VKttOZ$vzow6Fi|E?~=Y zAu$Ns7bED-ebLT#7jhNH8k$t$V_!-@Cf776DA4R1W~#mOXBm6azxU{5=7ej2i^(jN z+5XlX7GZ+QxQ&K8Q5)7H*H$84$2ZRxL{RL?EL)&61pl_<_^X@ug!meRw7Mdn|h#yTL9h{Z zFM`7iS~#lHhYiRQ5&&yhk7Q#MbtDh(c+^7@suUU|anw@V49)#Km zRMbUjXqinbR^PD@t-~-pN$stY$Si)#7AuhnK(R+W9!afKEtzsGGF&qF@Q{aZYIW$F zO)QCjI*Hn8&kaoyP2IB*xNz^>(Ak~Aqz<@oZ#qk=*kHb&Y(kFS2}|f+q9fP<^ddOSpoOD43$X!xkE~%ml8t-Uk$j^`r8(=QRs_Z;4Nb&{ zRf<8P@a|s38-NbH)t3-voOaF{)+657TSWYbcMG4CXA@p3)ft&Tl*rsvDmgtX+d08$ zdDId^6Jc&Mer(S?ZhtX)?ZJkts*!v1B=KnXv$8x9FF8mSFDU=gQu8S;l1NNhKrV@C zi+13}SlteZ-ErbJJl>Rtkv@wOLR@&gar&uPtBhKY5>t;a(Vpk&Xl2b3>p9t|@KhRU zEO|;K(k)fSU5@;$ljw^u|K0FNmAat$=Z5AH_0dUU>av59*^gqdRa=Vd_mHF#wKk1JH|Z1JHr3I=XE@2Vf2B(QQH?qPuX65DS}M&P|F? zqjcMwz$&L|7!r?;OC!ZzT1=wlMr*5ZoDPkQL%Q7%l2sp9QofvcC@|KADETcfwIyOt z-)mP!zM_@Et|7ps5qD?R$}}0H=%I4cH^y? zbU|f+wh9V?WUGm(!cDPIRL3wirUiS{so7JwEPcXnzWFxL3^A1BHD;O_eZNjKt@rS9 zNgs{Ykife{$8U0t8|s;A@p4tdzrE@&=cRYG^E_Y z(iO+{jRot=La~O0<0E@CP>)M4D5L2YPRcVFe{%^z7R!h9J#4p+oQ!ebuq~5KM2-+b z!4y#Ns?<<^GoprRE&v$5a*zNiVmxw?7B%R*AX%VXWAii8WWVFIiE(l-*IJ<&%|0z= z%e6bB zTv*e3U(`)29EhA5HoQct? z4>OqTVK1GVkid+&gRUl?T9k6aKloo#x+S%mL<=l#%>Iotw5X0trh!UU5w}w`RcOiM zCyKM&BSz|Ux)r>rLLDYP@Z|H5ayCuw5#cxS9x+II5JCvdmv<|shSQ1K2J_TTnn~X- z1x+J@;%Rb6A6+?olgj0xE!TMr$qO4EOV{Uk^`5@Y{xgtB=pxUv>mx!BUc_#cgy@!4 zfy~D}&+!+=xVoyf)(1>tk6Z2?3uBJg<$D$Bk`UF)JTuqWN&)lK113t3{)-EBP=5s6 z4grfr52`KTI!zb6Jb&C^jTrSUTHe^%+&bT~kCH6}4dw?TjfCo~5RV5RilI<&nY;L@M>aI17ilYc9fz5%|% zW*4)9H8cgX>Wl;VB%ov08G*({rrQ@)x|=>U2hb}^v(7l|dFgHiYJ$#KQcV>GbQV6TpTo3R71hV|&r`r-)vh3z9@-W``; zm(^#Pj6m{UNj&vK)0a(L&q#NsqNbhDH|Nd$V7h_)@cDza^ zu_!LLpI!|lX(1FQwEgI9BwW>;2|s$z((=bw|LfsHCA$gP>EP@|KBUiE?jZx3;qHOd zFX$>fcF|_V4^pn(c4$A8alIB|GUh`YD-b_9zV!?Y0w?lbGak z5dR2c>RVCXE|967q%6Nt&<0d~_5!A637|+F_F7D|+w+Ok848=U#Q2x7ayj_v{Oq&L zQy=8WM89L65B&YTV&Uzpoox{Lhc-N3V1KOXHRW-sAGk|WQ*dJtr$4WbK;|=UD)>He z{o4@URvY6?y;l;OQP(^D1nCrRX(7y4xTS3I=0XkTJ(yD!lhTm8Ek(jp!;i1_ywpAH z$ytvPjpH^8*j709q4GJT;??rn5$ zdE%)>o}#xw??khnPG=r+c_YbXb?bLzVM_2zOP&O<@|W<$rl|_3)UT|k08cpZ38art zul|@xl%4hCAsBzX;i65*#t9Eq`h(}~NfR#d2oEdkkp)VQ>_hg*F|P+|CWA8aE`3L$ zsC=dS{loA6Uj4d>j%;u3=dF9Z*>L|Td&;@qOW~oi?Ooi5eSz-EQ#f5h1MMi2t2gZHq~nxY%yxjDXASjsQ4tNKL1dJGy{2T6#TWOQnl!17Y5!D%1 zrayakk6T9Cs13;lMcRwZO#5l_|HoJMB~sPucWB8-F5kIj+rAT{1bwB_^%!D9UN1sk`SlE<)!v8SX|+N5;25{PArAwDkdNC zG}x+lw<1k%cT(&X0)9<26&j=Z+V*)*ye;6Pc}ljk-XdcRBIgntY^P@Ahkhq66(r_s z@4gCVFPV~=D+!d>Tgv@VAWN|_p9CzWd=o3Tep4Fv10pI;_s2y&L8?69b}~XLeF=>q z8Z-N-rre+wh}L&h5&6YLigkV0xyN_5wVt7 zZ;V@OvraOv50^d`t6%+t1BOVWse>0&tKBY{I>dlAm-XOnDkgu46LKI8eRT zZV{>tptaY8x?=o+j{{dOF)I0-OJlH-E@bXXP{f`>6xJAuHwGwmqnl6VcurHvQ2F+m zL)^B7kEU)wN+XV`8K7R1sTgpEEry9LlY)&hor!IFMPi{cwSfP!zqf2a0p<9X!emA& zh`hWt&0Q#vm{cDU>)RPd50FCZJ^R58Kb@?_{YW9UIbJ42PgR**Vyw0E5#}2K3E$D`NYt~ zkd$@Cq#apFV2tv&?nIesp!h()-g*Nf9Qz~o=B+nC>PBh(@Ql}Cn-f~s?oL#`gfA_S zc^Jv@cqcz`EEYK4)I{ufKArfeqt=;FA$n_Ci&TyGDtu{)<}H9~o_Pf8`91oqCU;I58*KT?(}295g&Q9H}=Dk8FgW^&PK+IFhHes?Y>MI zbkFFfMmQfcnr~tw%-8Ov&Yt^mTA)Ovmev|B>gx(CFqGz|8jM~#FZ^tY&|%H;Y*d2r zHFUIXvhono?CpSY;~COuT4CFl(;GfZ(5k$`tt6X*QNyGe$0`C!@V_#6XW3)1f?IyT zdN|jlJnvPMBC-?-&@-Uz1<3+J40EBww!Dxi)y)|*;KR}+&7m|FPIqN6!2XRTWjd(6 zB`8~ts{tG89B-!Hft>bHe*5tEuQm_=`szD8oDXkv;l%wf zy1U|^qs(LGgyB(zvC^-_Rq;PaVY08qRfUA*p1V+7^*DqgeSe+BRkhCGe`RsiZ@v{b zCJt**`HxyO^`HLd5C8i7^!Y)mHELm1LRPjHf~e#Rsb#OFR*7OuT}Gu=d8JGsB%Yl&NLR{cwu`)edj9IKY-wLe{Tf+mTBjxjzX|(IQj;HbIPd|V7^t?2WlGKRcLf)EL!Xb%@8Lmu2$>)06 z(@)P&-~Z|3&+p#<_`LmIcj$YX{`~R%=f7C{(yU5q2GlW1LVC&s!l?PYj2)7AmpY;K z+NNPzyYD~$`04xqc>np2d457cl(~KX^yc&XpFb?kt|VDVv-5NZ&Dpgpua5Uli|;N@ zgQpVdoh!8z;0OK+RqhR^E2V*ncy1#pQu1{YDlb#hJp9#Ya~>uyru<`v*@{ptt{Gz% zqCDw3(XHbN#oWlN0m5e)8F#iD(KxCHoTXRD&Uo8$N!=SZHrxQYl^x}pTJC4W*K5<2 z$$TNs87^ZoE%8Hy>ykv`;8?vft;j!f3Ew?$nGRP=_@?`^IsWZu2>>9J|3cXf_y6Ox zKNF~ahyOoAEbjlcAcM&!!z|wawJ_EEdBA+LCxpNky|&t{8x## zv}oylK9@xkwYTA|!TOy(WQb+aYe9xZXP9NtYhmi5<@Mqjjm>wOggQsk*{@%;K`e`2 z3$iTQV3tL%g{h0)i*=H>Qod+f&%}YPU$j9ii(U(|EZSg}MPG+05ewHVkn7^l7}8Ol zgKs3a1ncvHn^F5q_3|UW;sC&!0))D~I8Q+0HOvDpeK#mz&A!e`&XhCL{@zl7(Q9k= zSRM-7bJ|}tlE*P!_Ou(-qqQY;7bxBMb|_sqtM6GE)`66!J23B2I}4b9@t7Uoj_ji7 z-iz^a(`IBC-8)fW^kK2S7e4cR0>UgNXQ-F{gWWq1d@DaX33G&dp?B^AiV$V6eS3o*LH|f^N zQNqdZ;s*7#*q{!=8dh_YAY$uWy&UiKtea5G7+{tj+DIA>D`p5uKqeMmb|sEMa){}Z z8m%)Z&yp0z3BUfBpu!xnRBgyvJ7GbP;ynGKgumtV@W7VR7(Cobqe!YXewPv^GS@KQ zdd4z&{3FauoZj#B8I>dqOS#WdP~A>HUyHdQJQuDpoqCgNu1fXgR9XaCC!MO=am)sr zpte|3Q};-E%a;4f(bN{{ONski^cL&y^RK|TU2oxXNm1q57EHs3OOm$ewC>Sc5|U#u zS>A~z+C~c%lU@YUjeLi4>Oo+g#{^DgKuXgc+fW2G$yp>N;p7m{)W-$I1%ohQq?PW= znhV8XHP!WG#KPLHCotfke^JflC>Ea?XZWIuOMOTd>VZr5>Md|fLW$?9NP!&<22K~Jc2`f}jc=rT=FEhV1OT~J@2 zhj-+!mMSVKw;`HM*lSUe%UqAdk$NtjqUV|hH4E^U2hpl$2vZ^qPXqfQ@T_rJ`kjfM z=J{Hq-h(!ykHM{P%G>HRIhiN^OuT|qwoT<2nTI@wN)?>9q*Y#-p|p^s3o>hJ5~b=L zhqFBW7sbN?SW_Q>BcU5y?M!o#&b+~IA1fcO0Pv;?kegMPBlodQDlHXD0L^6PttC-> zl7{E|)DA;-gko*Y4G43wP4K1)4qMtw*@?oODqwoIqDX|!tys_7%U%SYC^}&ih2xc` zlaOI_Z$p96iNX3t_|$DL!#pNOs&@+l&#dnO7c|_3l1r$?4^;`UT-HG*3-^}L_53U< zSIUxGpG4lHHAxz0GT0c$oXUhH-bq-~9>?WW0nM3lGJLtQ@|YC)@s{jra=%P!r_{qE z2h!-CDk=V-r7iV^t3OF!zlDx&;nP`)Y@jFK@s&xXu5#6!aDK^VDVZn;(fu|^C`l)h z5_HUD5BO8@)}Zm6 z$z?=plDTzM%vFNTk=&b(Qs%JpmlP8CZd!w_E=gZ@jm%iAS1KGP+LL`_*Ya-2YmiY2 z6IM=1u?1S8W+Z0aFDhq^7pxYO7Tgd4=g*rs(=f;j*?FO~e%_8Py{x+l&4Jg}JmbSZD6z*(WHWZQVxP zdId7X`31%rnwT6j9xqj7>>x$Hb+4nlR+vbG+M(PKrb;DFWo(PiVD1*S#S#*Lat`M}dUv|8Eh$Gwi2FoB&luOOx%JB= z9ra@xm$TDEU4i2G4^VnHpg`%uVg0y;aUDu%TelT`BpiluWQN1ug~u_^H+q2Y<9CpxY&EcrKWIGpiSCGU+opXHk{KKZWc zsX=#M($OTL4NpQQ=dH#@l@-ElRkIa)P11NTI<7EM8DBK~cbZ_X=-_=+mDrLKLpdb9 z1aIFgvtz~8;=D> zCkpDA3{y`89p*7P6TRdduC#S}POM~^0h&h+9ZR#a*!Qa%n9n@zTa>WCfXt3+q2VEzOt|_FQwPOrvqHXL1uR zuhTU%yDHcq@T~-ksofwc=PH*Lrn^cS7{RY*=Jui|0?1F1ng`Lv$qDvv(tyrKVj-HH zos-ED5`fY)2hw|d+)jXvfCp49I|1=fP8WR~tW477XkjL{9XG5#BRk3z+mjohbm6eh z!^X2uI}zH}ZABk0!!VA_z(IwzH*pYPI4TWBZny=8BXSJ4i==H>hhYuta5z?nm*`o& zb;jdc=15aSYwQbdNk;bLkkwU*B29JzSEH4uE=!EUz$P=t!g1ctEC|%aM9zqkx43eMEE+Xm=qfb4SM1)Eb9tsm#tj24;Z?cTl zI>(yK8GcN4xapjkCFKziSJ-7_#f1huhZ+WOpL6!C>Z>ol4R({%FQfLI?IaxhNEWu) zdngkCa*Lkyu2BHwrsk>6Ga$4cd1T^=&J;>-vz0O&*U$u@G|hqBE}jVa-)!bi+i`#{ zDX4w3`_Nt{>8KxbGI?a&L|uX6_zzHeH=sc2!eLW9Ih65SCi~gD6&~e6F@TP(AUW2J zTM=gIdl4i;*G2>wz7qzccN+qXJ`C13!iIGi*1$YgZb7;0EbKvvVpIdoqML0J0hsSB zCKcg-9-C-9P%Pw?{cOKh3UelR$<|(BeX%@+B|8bF4$64N+{B7hCfjP~ygc9GYU{O9 zowY3cFT;TC^?bNsSW}Y?`3x>QMB3l`meD ziyMZnGTEZ^zd(^2ioK+>Im(SktY_|nP5O9x9k?`W^5Ih8Z8B*tB5G06>ksBFzkEo5 z-VRi8EzB1=@ob1OOnOLFFZrxaT0~%a7RXYqzh1_~B)4UGa^;ZAp9Eyevh!u&s^4N< zU^nWlqxxTaDrS>aN>`=Dzqo2y@h@I1?ua|RwGKDF0&TB;H@R8im*&UDDo*J*&B*&#*&6ds1K3D5*4RZj!)J-N} zG=_&Aq44KJ)(i_DSrEiR*9+LS899E9%zDYv062yXKre<3faBO2=18jVunp({tYHqI z7t6*&>R9G|4DU&<@Q?*u+q@jt;Q)5gvH@^h8-QM18-NZ})p2bDIsj`}k89&05!c05 z6xC0OAZS_DURvQgchjwOf#* z)(EN>wZ5Q?T1Yq9PRut=qBH&zV%LJ04S%V&-JDnC5#pMfOedq3Hg=XAxMrsXBqV=&!W+N*Oz1ohLG^N9>wEK_TQu-#v6A zH;msvP@OQse6@cVf3iWn2sTbyN3aBG-C*8mPFj)fY)GY1lc>TP6Vh}4Zlw1ktv>%S zUqyNten(@Lm0p@l{w>hh~IseT!-xhDtcr%3ij~C`Vr@!Mu_SGh1qFzv zCXy|=q~+6FzDY~=*=P3KWUW3=W+!KO{G27Tku59$eRsNCmdK7K+}3v@DU*PG2Y%C2 z715P7a6r(3k4K__2^&yUDM|Vs@W$MKSJcnA3wWRRr&%!dYC?Od`$gw!{5o!dT8kRuJM0KHrAf7C4qwpyf zrgW@=R?}nKj^vXgK`%I31c$9fO$Dj)K6MblFt`gdL7ZUF4o^J;Un?p^Go;b9xs?|d z#N(DLn)lA1o64o$c4TZ)^xAcY{Js}LADVr`Z6Ni|4fFmz%6K2H!kBm6KpbCLIqt<* z7{9URx-K1*`P4r*tizeGvwVReiRrKvaP9LVjOz*mOIHvQpp%>F( z{064#m=3p;)IT?@$8_ea5z~d+Of^s8|6pFkR!Uw72e-g3;pTNcjP`NDeoZJS`~^;> zk8T!s@s4`#yI-{8_t$#vh+uutRNc$kW$&(f?!zy-y9CUAt>?bOcMj*(V8nop!YwH0 zK76g`E`msW?+f+ZPqEbWUuQjcE0g|@&!2w&^T(&>Pg+L(A3py4^xNmp58r+B4}bgZ z!#BTs{?E@3-~8QAZ~pN7oBZ={^3T7cp6$0ke@NBWzZDnSHkDaVMieshY@`aiT4xAe zN+0C%x1Mz_?eg2s%wUehH zwa+WGYuD=qlW(X?>@O=$B+5VViayqXB17)xO3i7V{4F!NUURxkWrzKR7`0friLm7D zX}J)w;_sHJT&=?GGeJ9eB=dT~39m0`xH6BIEyGqGoAI0`Q zD}^sBw7k-_(CqSLb4v@o4oxC2ZmAG#w|$HUR16N*f`!mX#g}4Y8 z#;{MIiKRN0^LV~TVf>X?&bEyOEZ-OBzq;UWSk}5?hW&V|xWn%%) zFX9CE1DkL*A=bXrf50(?L8VwZt)Z{GASe{`#dDxyyxBR-HFeJo6#zZ#qtE;n2EFSv z8;YEtSi?&$yH2O!pd`HIhLv~=#?Daz6e8fH05l(bSR1hEhu{Hqv9`{grZF1JN6r1fs!Wm6#Ex?Ql}-B zaqQq?Rlgo{V(|+jSOo)cg?7wIVbX1c4?7C8QCW6jycda0Df3yb9?jN19;P@9>#n-N z!7LF=N+#2jRem!%S<%5cI$81iVc2l8ngIn8=QS=+?qsv-ED-Uc*>}S#WB5_?Fsv@* zjrhjSLmkG)6UGBv@KfZL-;9tO^DmE(8^6B}xf*gDlJaW+oP-5SnaH`KI9PmnL)gAGDdwi8=%(@HXvOy`faVEJev_!Uv)#u2@iA+&UCptay zkb2Kk5e*e7TvxQIdGdSq!ejo=i*l&}UR zPB{T613p6`tN~R7LR^@^WUn&)A3@i)#ge*gNWrvO6GA-5GvaGE3U z4toUo?0DBsV>@DCI@7#ll!YUKqjN6JTW#l`Q(#g#+6a#zyzBE6g`S&=kuFfCpPTdx|GBRZ!I zV%y#xX4*qW2dQ0#6jM9pY2`N~bj*Tt4IT0Ob#&y3XfU@)UO%6OgS6G^-Ee-qkjjN9 zQJa0_VRh;P1k<}&gYz%jZ#{N#07=ANZ;_T+0mpJONa*08*WtQvG zXcdi8nf~#Bg1<1gP8wZ%%K$uqGiz$??e!EG^e-WgkYzN2@=f|M4W4vzXp$i|9<( z)@;Z2Bht4OVI65J+}NA!&&{m}>rPvd0d#Lgm_ZAZbrKFUP5{CTCVSaK!jY35NeoSN z`{b%?BCh+DR<^Pp2t^Wq|6J1yzZna-sRYle)#&?yah0gyia}bh_VcneVxN(MhWeTg zTA~1rr1*r&a?;PM&u-XekqGi#{3qFXAn%PTbl6toc=PtiyNHK{^$qeQGO23$J;ohs zn^-_E`(qqys&-(cMCVT1U$C6+Vqt|!F^Hi(w+JRw`jpc<$1Bw((}@-A%NrmH#7}YW zIFu16Nw3+OM8KRbBOw6t_fqy&^Y-F=Q04<7Ru$+|}+UzJk1(5qz@I zk}mBuhCiP<$EyA^CZ0%1N}Ap&O*gCjW^{yRhDSR>@%wQym<0577?a6w^+t=?5wwhr z?cosnmwY9dMX{l!_s8RY^0Ey9J?a<79W7t3^Op8DrAZKNG+zLj*|2{zf}S}HS?mdI z)TjRw^n~9`(X*c`(fBB+3OMRBn(EAmh*bJAkFKGKxm6L4gYIeECh4V)jw1Kk{Kn9R z@^sqHN?9~5{_bR|48H7oG4~fba&1%=H&eMCeqsd4{Wa=eSj~7VgjTLRxiwh;aiW?YK|eB#!5+Yh$TB$Z4N{XB+9!OVTm=1WQnR`Xc3%{B1 z;F*{r)w}ZG0xcS}VhBRhRwKOmB^?HPDWF0a=V(0zZB4eh)`VeHgo?H0ZaY__hw_^l zf@kJVLvZX<7I6!Le<^3_fa(E3))roVGh6t~VQLGHebz19^!{}A!+|WUxh;eDXos6U z+D3goCK49RV`DqZbUI9>;>BS*yG7Oo$5n^v z2vXd#MThCAM{$^T-(1lRANM#$M{wfECges}KGjn8Se8hcFzOlju~erRr$*UhN5Akq zX4GRemS!CQC?W^!kwwEronDSQxv5O|2Ds^uug)SsM8UKRJFX&hlslh4`-f$w_@Gkzb>} z0rSOT9?uR>xgd?&rkCH$HhtzTw@r_I!q6dP%zPIAwcc{!V_WijRcO8ZX145^$J~}3 z`^076azKSqSyBKF>YW~Q4l?;8stYW?nJsYUHMa%EK5>D6Oa}v2 zFMshALox{h%Ua{5xRX}b%He^+i3jx4h0*8K>SuIj&uh8R$ty?V{_19y-^4tNSB1AZ z*8|juHZg2SGCOAKtSb?7BoWP&-Mq|m0KJ|`v;nR6a+H`yWon}{UG6Y_$h8UOH`A*f z=>@^&5AH>9m_Z9ib@#6g=t#DP^+?X1c>Gy4Bx_-D)G1UdaR6|&0J(6HJ>;Rc|00}Mb1{^}cG13Ca}Sib?;(l^?G!a__jOk7kQ&l(mBBhy@f>a#d; z9hJJ6a=FDI4R@Y8T*X-m}v`4xZUCMNWxN4Eu!3*BlL>T z;CW&zA%CT8-xR4nd|Xni+6usyTE0UxaE?l}19A=PE93W0`RA)_L z#tA@fxC6;18|p|V)FD-zO^isQw2T4WBONlv{WYkV5Mxsuy{qe{r@ft2}Og)l9-zX(tOXPV720|q@t~nId z(Ce^h082$RG+}NQS7bhxYct|ojB=Zm&b zVj3^=A_3|t#laV+38);^0=3~{Ow-~UGC7TRR30nSRr=KSTpp}~8jr_Ok$4>i8rO#K z6WAg~HAS(F&vS8^4`n$@;Q>Dj;VvT7#oy^&Bbk6GMn1Mz~t~m!pB6)rE>dm1j7UdnE(NpTrPl=Mo`~_sV0= z`F)B(_umUky>b$BFo2fJ)C56TYtJP$Qf<-;CJ@M9q%(ohMrlzA&Y&>p6awybp)zcrNt) zFS@%#p@r<<#n&>t<5+JF8^V)`5hWfAOPuf}&Ov7N(zZhvd4tr$ped}FBaJi6_#j6g z|B&1}<$Z>{GoeN5JMp&|{93q-zfTr9ay^qhTK-OPKm9!Y{`9kaU%gHpxzG<^bD;~$ z1%(T_& zp{F$K(_HA6oD2PubD@)-fR04!oGuB}ONl#p>wLL37faWE(_F5jrDTH;Zw*n; z7z(-c9kH(R@d{qrx#0is{Q2YapML(xf3K&3x7W5D<1?w!<=~_jvE&-r9 z&mZ4De|-2(Sj>h#fBXFD^TYp`9-ONa$?SyZjgP}oT$G8OkfK38UztY~boF_xXD2or ze?r!nP2$hjkIob;4HEHpHsp3ddY}jrg3L<^7#p7#@scFO^_kqpPRbh%VPwR>iM>(Y zP7pN6=PNU5v)I{8t|O(yVG|;S4c()o*&aS$nM%8aMc}V}48>z7DJm$j;U3Qj*WF#4 zOGgchIdi*?7>UYF!Ey4F7lt`pP2P?3`3hn>IPL91*~1$U#%z;^AL#SzYp995HkX*7 zTH)?8Dlw5v$zLlFP=>+oV0I4+NO}4+`mJ0UE-I*=zB&9>H&4efN7L`CBMQ zihN9|s~=DG{@J>Or2=BN%v%Br!hC&e=O!y61)p zfL`xf_8^b)>IV<<*$u;yc9O-XMp0pgcNH%%e0rFXHM}H_>O`FnML}|IxC6=AgS>!b z4Zs#h*Y5bkJz=LZ+$M$r_qSzX4};qzBG1DpPO=(#@=KmKxDBFNQfuf@L*( zhbF$>Y=vcW#Ltl&HRhGXx1|0>{6zRY#7CH(W|>wNbr@|p2a_tavh0vT7n?PtIqc9 zdR1F4gWKV05dWO}T?;0F{+zIb(^D{*VM%-WmN>|;4AqyxL)zV5hx_-ztkzZC@6Ii%T=u&L%4EE)d1i(&)+8H*!P*=iM&2 z#mon2{gliYv%2x(a~NhzW{<=J`h!kqG?;r77U+JAZ6C78fp%E*p4xkR&fcj$w<_Hb zo}CaVKEgYmqYb?5I`M>RVQdHhhq`zw!4H|p#8>HSj0b}E{wYOOBqZY=V0KRV;+(CV zcO{Z{hXZu41fZGO#;>{ICJ>cmTp=n^9sY0@$W1+`wu9otXHOw@1)GN=su)1_MPOvT)BMcMc()0LX+JkMU5uEY-MgjY>Bs}L}3 zOmw+OLJ^9jRw8{jhfv+I3(QQ8?%K>^xUk5!urRvP(}a#zo|^quC>JVPSm#@u%TTMh zrN?U)$Fzh-)z=Q{RbY!^#5c@=T@^Q#?OEP*{O1IwKt}cXYK{=mrsag?a2|&rnI9He zsY5YgRq1d7TllL;Ob%!k+Ew>fNIe~Hj(M6+(vdV+PN1SaM!8cc zzI~MTm`Hg!@NlfJqP`_B#Oem#tuphpaiL=2xT*q+S}6B77zfDX`Xy-MUz)fG=8|85 zK*#w?R;OS+86NI@+&XO*##86I<@asIl!Ye#VDgI0;z3)7w|h#$$ccF3c^&?U`dGr3 zEAZM&*pa7?+vO76LAD3UM;N@5G!$n*1qgkFSyYO;^h7Qb~cq+zQgtn};Bo?HC>NaIm9IIR2upR0% zT3}WPy~8|^IK94&X-s!-CCU%_QmLv(S&TXwU#nUNRE9lDZj0G0p^7OX-l+uz?5*@t zF{&ZR^)W;v$x7W-mCYb&(6Wr1p5QAUWWd2tDhVgX8obSfT ziO1HPKov!t)VYB2cAO$R#*@6&^I;WrW96Jhu3DaCMI0n=Y;_>hnCs*-USVbU<@HHo zM2Ku*SP>3#a5ITO`So+c_m+f9zNaTRKD9`(T4iKrs&O@2GYi)^(87?=v)aXyVKvQ0VFel14O6JByyF6~;HYCTA2D3~`>P|ND`NLS zE|IF{gk$cYVS3zAtm#K@8nAJIH~ek6TWR>?tN-=zVdN)GzAoZo$a!DJmCw`%IAANm zMM3zcJHMufOi1(-Xy_(e4v|ymdgg_ zahme@-tYwNq)B?yk2FyfZ*$>#>y6t>I$t}7?kzTjr&rbld)0aVSXz871-7l%CSaeR zUi~q%8KFJ#3R^Z9~f5j`mVkt}^r=^+Rqsj{=&ny6|Eb5R{hsF*G1)4NyS{mQhS zU;qB$cYm)nlM}Jp=GxDjHyLww*wde0As)sX4@%ECO^?U8&)9kr#g~mPO}^9K6t=pw z`ECUGzGprSZ_(XOv-LLFZepvC_T zT&8e<%h{=6zv-g}?hwCzcs*<$eucW24JcfU)VMNWuiDFR-2cv3iFE&!-FM~6r~UO? zWJrSd{z{uhWOR>$^i}y%-6rd#MYH>_SH3QnBX#yW z_Lytf^lbM^rjMmvyu9dM`L0lYFWqwGGLyH@nJ+@xc5jc>MsLHk8BW9ZZrG>qB5eG7SzDf*O> zUWiFH8C^OzDNrqQ&lGxuFCJ62w;jgjbdtO=EWdRSD!sv|gCykXkt=-4#M`>5+R>H* ze0sO`-d_eJDu?P=ua5+ryv!^eB)7;J$Pp>=aPES=>2ThsKTb)z11Def($^#(D9?d{XKcJ8LA4oQ9`91?g83&Q5j2aVy5D!O2 zm$6dxDBdA4-;&?Mxzforwyf_Rf5;tdk_7YMS|i^bonBHv3}!7k6Fx@ttLFdA8vpAH zmsV|q!PxgMSOcuhm~i;s4NOO#JL?8|_sC?tF`Tl=zQCh*NNJu_$^Tv77H@>YJ!3}4 zwNTxaE(Sj~adVZ`T0c}vd&wQ(GLz@K-C&#*6QSV2@a=X(5z+q5t%NP{O&T4I;hQ(? z!XoQ;aB)|>ad}tBEPvc0H`4#miPC8)5*zmv#fb0SmX~JwBt|wZm-ptFi3kKl{tj8G zeND+z*sZjNrMK9A8z}eTn}M2e-o}YKGb*iNqN9@|<~xqCB#V;&!Bgg&B;f^zo%!^p zOcib=_e}B9z&C40xGsi z#7D|b-YIvnFK51miy(LZQb4gOCJ~RXfcsr_q8hQ)OD`@dlU{e42i$eT>I*oyn4}j z(cLK*%`Gt;5EyPH6)}D%y>PyyHC{@$mu>#8%0Xk*+`;X;H|!9ZYx1So`^yYW>!&2B zLtVPy94^#w-*b5M{|K|GltWpNn27p@T*Y?Wn7Ia$&3sieVW(me*lxM%>~Qi?*$xi{ zsPKzPX${2LV!O5OBcQtj?!+@g-2&9FJ3H_GrGWbNgdhxg_5UI>4L}J#m;#*~c)#zY zTaRl|<<^6wh1H53rFQ8!AfeA9p_5TKn?A^X&o#oY8hRVS)C_l-Q_f^UJS94jZwKca zK3t44M(|-mVpTixz3PNgxTZ;i91USM>l!h?D9>?|35Q&iZB2mfwiWaIiy16@6JMEr zlSbnV@tZgBn?)VFz!Uysa;LP0^D)^EioIg#us>4MA~PVfQm|4O(8fZ_Ct~?F1{8H| zsjEFTvAh#D73(O?uShA>N@Ns&SW7MRYB6?ziZt+R-89VZvMmx(;H`2ADy=+Ezew^Q zkrSpqp-vLAkXuVkLcKM>HEVUT4h!#G8{IJ4LSj_WPJG{XTc@!jcRM_v*)&E?;RhUF zW?V+)#;`Rz93#+V58Ix@|B5r(?>M_70VpSbtR{m%I5Hh^NFRQXhjvM?ca|aCL|*$) zZ1wPVHi4#0aGM&^0rn?h86)=Xt%2s7K#QF6?jxXQ3eFRB(iZ_Tv#UYrx%-y_T4VyV ze5siRpr<*|5v5>YKXGyNKPNY^2flvd>|le-^f+N8yckbK;ozp?VVCgJXj{8M@7E-d zM7C?12rbjPOR2#Buiw3@gr$woq{Q~kI*tmQ*95)7!i06z6Z8)F?@Hp)zsdx?65vbn*)NiySA%Ud$1UaNL~ic5 z9O+=+io&%+H&37B4CYL}ki`z>-r}V%N8fz`T$2O7LbGqF$Iofqv{FKd=?`3%8fz{7AveM6-zLysY ze2!^)(-f}fZM-!_VacblC$ENto#z}EWNzg1m8^grxi#l03a_U5EU6aQV&Z5${ecA6 z@0Zi#67LMEuH)s;e|k$+-0z?M_~zpup1=Ro&+k8c{yyO9`yc-Dea?pZ{m<|C&4W(c`n~Sy%}xs z`w!pK5C~uiO(l6jnp;T@(3;z-w4GPagulrr{SYDDyzQ}f^4#4I%Xxq?WHf2)<~@_p z?eqj3wo5g8f0Vr?;`MYTX{YkO>zih$@5lF_KFblzlY_tmO?_J2GJpMylR;wP<#L5N zjrYy+d6|tVH~x|{^S8@nUB#;C?~9MTGu{qYCf3fO{Py|BXW?mu&3^yxDZ>>o0f#i{tEX%dXL?eP205@`!vP#)zhEnA%`AsvZOZF_lx*ZE?17eY7WQ;Ko{u*C_HTYWy84SLz|9lXP2x#IzI#d3ofz=t z^0noy08bt@?ZJzfC9u4tdQ$ebd2`4sFPsuLnQbs4 zS-)tt;ZddMb>Jc7DLv2*sJeIJW{IBuluM7=lf=(0q6C)}neHEGJF{iHe0w+AnEi^-124{F%3(oLnv&(2(3r^97w0p$4V|d&0v=O>mjW`2m zm|G3cP-g%QcdG#!@(iF6-D-e}K0*SC`s0CeI8RFJLGsI_~PGHT`s9DHTw2>`Ud#X>D~Z` z;XB|kdUwD<^dPXl2R^2Q@Rs#^u$3zX3ewUhRP|C+a(R;?p2+9b8{?Drjj;sc-TUGo zd|wPi@3uIE9-P*<#fEeU*06q48+uY z)3Y)7s*Tf2=bb*=b1_p#vN164o*OCvdO1C&h7Dnl)Pf`1xLqo$(r|MBTGa?VfIHU1ZPa2P6Y5z6LCBLz} z{MRE?QZil%!O>V2q>Q9@m#`fA*JmWr0NgI8Gs;*fX&P+~s#X9q$S}BPvw943scM*vKb zS07YwBeqJv8(Bkh*{M5vf!N(j_uSCg9aaS~y1=BfIKG>m1D{XbtzizJ2VZjdO<*2z z9oTEca`v;~x5&%FIr@-o6LbZ`m~S_}4T59bA@ri$AUM*kVUD#r#rTL0!CU4adJ&)R zNlSP)P7QyQe3^P#5{@Zc+__ZQgIdILYBK}BjmJycGr)9eb%DOUmJ(uE| z$r0uY_nb~HNQVNnKB$m1{`d`*%x2z{)yK2_y*vhdG(SKbx7**;i&*ClmRT8B_{k-xJ%|@QAr^o6}j8Ts{)=Au+ zwIlzL*k}x*Czw8!U#|mQlK9FESWcQ4DdbxtJ;(Y?W;r%vjOJ4(L{7MzYtgKeAsXDXnMVf0;aPoJ{U(Krzajnd=N;or#d6o{$;RlR}N22OY zXN}fj->Pc* z3?1|Fc#5{(#Jq!W)H{e?)H{eC%+-$?LS&w{|({=2x6V#@f+9iH0oQrrBf$HL8 zBpT&35@BYMfQeXHo*ke8G=rv;ecG$$ZWMia?)Pp;>~ zKuHt5Xozn{3>CxfslI2VgBo@-qfAts%pBwWi=b*>R3w%0nXIbdv^I`CKu?cERe2JZ zg=Fbx*5lo;jK6$s0MU2}mxcv7ld^gz1|8B7J-0NtkHrog3!; zZ`NLTkW1EyDdU`JFDo6}N5{3xvtDF}B@(Sc()}C^){F0coYe``#*-x^q+826toKo< zjZqNiXRQ};1|lP>*a&(tX8?LuUdLUWbHbgqti#<%#MUXcC>~Z^W$euuo`-h_d>48v zPnF}czX6tyCu1rA;M0;aLT<}XaMij9BR|UH+|RL-{Ke8g`#YpMjeJ%g3J;0p^{p1d zF!7cZ3wu~BHVPG-MI0T=`HQ$9fd)y5W=6Qh6;+DX$_iP%7A$03^+hmWB2|;^BF)id z)M#|>=Dfh4@{aoGYL%E)JZV~UbQV%XOHvnMTEx;JKgABQyLi+A-ls5aiEX=*b*pvP}xRNt$)(f;?E>1HZHk1FwuiA%cpRoo`ZOsB<49X(4V7K%!FnIwY!E+}@mQe;HJ5Dw3{OS;TT3^Ho|V^eS0a`9~zzp;v7tCK?gyL5Gh@s1(&8_UPG-&nd>W437FzKo;AWjJPF)Vcg(;p z`SV%TXF@(E3lMCus0B@nPU5&j_e9Ub4Qqr~p`7JQOoNO8~<7s_gZ?8i0;vz}8M&qoq3 z89?`;H3)uat)X({>W9{+oX>2S!3rVM$L>@p+8S5NRC`$A-L0X?=zMf}RhYxerSpyp zakF!f!Kr(0r~v2@4^b#n$q}`FrdZE}GCA%RVm#|R9HyLzY$_~z7i}0WV%b`HA;_M$ z&{khWoO6O;Eh{nKN2xYQA=Y@n1f9*L8wkTy5zW@p4Wghg0_~#PIPHW#YgviE5&NxE zt_kOsh#d>RbSXtZq>PUFx=w3O(54r3xs>5n_meQ1%~9Sl&aQ$c7R?j@=NI9(Xa?{) zu0{A3nrYji&11r&6)vW;tKfqDIpnRq!xl}P_#^oN9~Q=D)nj9{2z*h4kcB8KQGLNG zUdJ&eOkUAXC9dHZnJVT55!_V&1iB|8!({=?;PEk~V-hAo|I$l#JJlUc`PigBa=AQ@ z_MSSI!!XkX%DieupSO5vn9+>F@^xP{2D}+z&M6dBjR8QG0`3w*5$CjuQb?0`q&oRT zi>XtJcwNA6Hc8kle6Py*%N`5V;K!2|KdX)#)j-9c?wg!G-wiRLU_#?_2yyW_jP`|x zi&3p z_IM_YWnr|XogHQ?sf@n7uhfvGxa;DmtF_!B1A~s(B?608) zbqyj+ItjqsPyx`bx#c%G3z{2wPlTu9Ax)P(z4i#d$bp!g8x2ZJA>K2&B|+_AJStx= zm7fqAXPFx6D_oEEj&qNjppb~Ieg_iDt&acAaz78)kmyL52U43 zLZ@^nqtMrIs6m9*&c0^OA(Bgc{gvO3!jO&}`csMLj~9N+v~%;xam>#M5s*VddBrqmA-&EXAyp;H?Ntm|p1u8S;b z)PtR|^SY=Ibw>sWOA+FsRa$gu>5#DT`u?LnBvlE>m@^$SY@BSN{1KtV)&X5e=WtTA zikE4mR7}*5`j{kNI9_J!93SCGuBcmYWV=9P@nZy%WIn`^x^E?WtLkGP&eYvrRI62V zrcjFLqbcID>7h4au<}Mvqz=iHf{or9n%65e2*~IZMl^$fbmn<~`+67d|EYU!r~v2| zEBO`To~k|U&XmGt1_7$ntT6}_e8=0Q$mb@;!Wt9G4MI20Z$MjJoZEl^h%;y-x zCB$=_12?KOmwZ#e%!2}*}}_)M&+n$Lk)!OUolcxOOqxH zMAwGY_cTsB9VTnJV^8fOzObn)jTCTnxT;)ycw6IQOGUG9df|QTtAfw6P962Df(5f7 zU4|Dh7w{0EMwzTGU%UBNQXIt>&z09#D&)N<5hs_qhY^&Lfm!BfB39LtU0n6&_N`CsT;JA?mw28f{NOE*^wF?Bi%%X-XbooNa2Hz;Ih8ghR@F%6rrKY{p~p>1OWXN6fi<5a4oq zZk~LHkXc1hLwb3KLvY^VE%Sq4=N)0viFH`R96%4}=o5@Dp+{`VO1?jbWEqHG9SCyZCCanf z39p%eAkVZ|Y%5&cz;I>WlInZ{rdQlLX~daP{$ZXjiOZar%Jt$0W0kZ6T=ev!IcCMv zOTA4Lr_q5zB9n>2vBl8uGRNL;sB?ikv}RB^$emWC(j@1UfyP60qHe_mvIbhh zpQ@sTn`OD)_Z<_Xrx(!W>{t|a&{~>DEzY7z=k=o!Wk3R9Eq5FhS4-+=rI$X(O2!pq zPTfmtvsgH6by~>eXmJjhIXn@eCH&zn1SF(rJPvDDb zSB`EIBE9$yGe{U;#94g>HeNxxwXDaw=>m16YZ+9zwxyT?__uHdy%wr=a9=t!3e{n^ zp50>2Zm?ig5Z{pm%!mi6*yyA3v6L5y!pHdF_fjCw#+6DWQHR?Q$3G9uT-GB=cZTO? z$|Z&n<~QXQ)0ZnrLmTm+yeHf?5A%RViH2ybe>o3=(TnkyJ2WRh1tto6PeGhRItJD< zr{elKuo25Su$DQ5Uhd;6&%!~NY1;8^k0>@Oz_O($`S+5*9qlYi5qbEbz&J|qeoe}! zkNc7->_ArKQQu;JLgXejOK0jm%em+KipAqdi#skB>q}) zT0H9Fo35Pc`ic5~?%Cb_FS@(r=lEK2dPhbII6tg?gpI=6sW^T5T5(!fn6R#eiqkwt zEEQ@0Ix9|-*lY8JDo%$&(n+$Wn$J?ka9&kGgkp`0(@R zPY>S>JkMg*l&Q{Dp@}3;pL12{eXa`43ukTTvYCG7D${t5(q}D!{eaq^KP$XZ^=K{& zX^$B-_4?+Y{`p^M!-o7wH1UT&|M=tYUp;?#E2SgT#I6^SoR+fu^rxRce0p9g@tGBK zf}5z0ba~kFd5b6ENNr0#FBd{p%zTN7P+IhKIzL#_Wdbbtcx4{#f~+5(-@X3%=}&+9 z{?qf*pFh6;{Fm>y$0c;^J$G%IhUcAa&ZAv`bv}>XZfPE#$PcgRg(q2iPr@e^Sg+JN zRm!}+FSk`0_4IjL+zY4ugQvBlr0;3JyfJz-u1_SC$dx%gzikz#&IK*FZa@^r2Y=N_ zsvkaInM=D;c9_fefBN|IpQL*4^I~CRyIKvq?c>1p+h5Lc3F7mWnZ)9&zxny&+vkrD z-w89>(C2TTKYf1qA8{sseE`@p9YwF>4e7 z1q8`HxWPt>qnxgkz{X;E^F*$*dL!Cxo{Ha4n^TEA)+z>*75#LzVsN^gTUl89DcX)& zc#jls+#J3BB5z6dWKUjOxzeCn0mil9%x+`wtODa&cy?ztcviV`Ej&e?l;0-c)=F2d zg_TXU2JNL#XYgJMbq4Q6P`6{zXBakFi>0dI7S?n?QmrLB182Bf4bSM#02=aE12n=j zfQG%*0FzfoLdy;pLmwWj9p3h}*xP1khP}1m40#66khd0|;m+V0?ykd=M6=iHqALo| z#m=<%32|~fNGOguT5?0^U$?#G!Epw71hoL$5Z}@4o5wnfDbO_c^fzV6mrgJTAfO)8*4U+6;^cM|$QLIeiO~ohhxFb! zh=q|?$3YlnuUAWoz%{j^m(ramd&sm-={BT8u!ePX-X}PdqL5cvu8_UU*6wD>^6u8q zWHCPa3B4q%DMy5cq-Jb(HhIfjQ}^6Z0dTXLLhRgu0!I_hJb8by-Iu7^K5U06Cywe2 zvKQgL#$+ljchYX0hdH#+R;SZA=LEr8?!Y`muWCvi@gYl^#MfIKcS_LU$&*5$WR$WS zvG2_yZR_FvF>e7iDKP}{zw%T&fF;G!LX~|`NBAz5%yBFfiMCt(VEuM7VIN^;Zqc)=QgVb`r1GdpkyM$+Di^_y>35!a5`w&6nA*Z^o`33_3D zi?}h#*j*oP;knw&)Fki?iwCkSHKROlg*+Azt(8qmuk_@3QY|e^P(giz%JFLRI-gbj z2!AndCjpY@Kf!q!dvF&yv{0Ivoi^54RZiJs!O4S zYie>*w(=@h>S`9XhS$z`#s)>{s=eeCnQ+mWJ2j=z0M5$E} zq-$QB;jK4sqlUsvBP*0UVUx-Ygb{Vo-K?b>gv_EzrFBA&(@r3)_@uW;&G^{8j{&o?J^p*!@n3$u3SPhqk57uo@DeWDF*ngIXlXU zn7oFJvsyY$Qa3>CK~jq7R%)~@E7TaoY8NpY1S36H4y>U`iw2?4qP0{AsZNVw(uovv zLj^#OuqH%x$^_~U$CZ^rM-pCfC?ih{Hi!q}W9NC}a;_;V#%k^;3(!n#emRclfURlA zfD^5vSC0AO!p01EXog{?eXGbZD<7gwgpzk(u{lys>v)){g!OH)%dnv1j%ov$E(Sc9 zXP!DvkR~`sgo+MF0)DhQH}8d&Mnq8tiyZhfFbf6)?%kSkONdMID>lK)i6h&_WR}cN z>C!Z074}ltNA?EvBnM6w`!bbc5RY@0(?`jfDR8YGAo+pV-sHv=D^NPl09Q?<09>=} zoQxT{exVatrg!ZQZalI`+M*t$YhIIc8wg|dMPashCwK2!&)kYT|XOP(&=dAh6;clg|rWMszTc;S8Cw)s?NJxLlbL0`T>nSEAY}; z(xNpx2Yo$t&kYp-J@^v3HtXKN^M0tE`GbGCeqmvWIP+ zo`>Rd(7cHyolIY_w zw}qOiCfz`glSoDkNtiCDB@iSd@uY~AVGNJtX>Jb%j9M6ZiIg(!iS@`;`Fj=lJ^sVX z+*-P@Jul{(lah?q z?UWw0>^(WDPKTM6{be-kJsFMXv}xO5rzQ~IzyXImlQAi8G*cQoWEEiL*L#UYPrDN^3a!uheep}>rR5nDiG^K!nFtJgt z1J=?FqDYbmv`d7?X(v%)Eq90#Q@0m{c>jf9ngJ9l)Y~PyH?G`L2%{}He0FsqWoN+7 z1avRATdBN@(7MB}U@rBcJ}zsD9ErPi=0`ZUq{uv@>$_XdWGZhUnYV@UO!I5o`htXt zZ)=>(<;zws7@fx!>6CDrODITLXTdd@Yh?Y3f2ms|*EFeI!}(c#T_~p~DB4|zClaaT z&+zL)_t`NBmK(!6^w&~&AvuMungzl~T-dIQMJv?qNHV^;Hvm|2$;(ak)IEJb(3Z1-po7eVe9&T2zN=#EIi-kW`y9KZozY@*a*< zX!R)M{ZmR2MQv31Wb7N7+)aHpdr5RTyR6x445O?kDrJlJMdlEds(8&?YvU}kH;DT# zh7=DzN?=f0dijw<=wT*xe&mxjA#4rnxKTMRZKWlza;4T`*{{62H8e$VQd$_DGhs^0 zcHpfVj^$=&lfK?PH&g)hicYg}Vk5wsFuVBAl$Mf~TzD=4*_-|O@E}>mNZ_a%Pf1lp zqHFZ=J#}@QQTJ_8SZAV5mwkELdNF0&QVgTk(hEV<)3jB~xULg-oO6O;Eq82}X*#5- zJf3FOiP>&RWxaVZcmqPpvh%z^vk7dNG(iW#ti_O26Mw#|!GN@tY+CaN<0@^iBXVhj z_e%t&nmv>UYOBa*WPISneWYSIE!PO=OTDyWAdEDM@xxl0#9|-{wOC7Kuj}Lzr=7^f zS}GuVPq$05`sucT3N*!K zLF}%#qMI!wGO;qOYKKa((6Hz-;jxTRZZX{p_44}=;OJP0`so&<;Dy%=)9WE-_~GqA z9yS*>ekep<|1y$seF z88;Nkkm?Y+`Kv)F{MA}2%(2d2gKC-BYi_6j=;5w~uQhc|Tjfe+@xXS5XVK|nQzEIJ zDI-h7V)mtzSoGX)8Y`W%<}>TwgD2s9rejKRBob@SINvzu9eX_D7N%pOMwYslFQ;Ud z-Eonf$+U@M!%N;E>)*LUxpy1Qb$YhZN`Grvy-!&$?AxZzeytg;VB8OJFUEa|8RZ6` z6Xn*u17~%l+js?lwX8mEg?f<@Ok}0l<2i~_=yMn;gZSU(SwL-*#69-KbixZdkKNhl>JN&>%cz8L zm_kUCXKY4xJoL4=jQNyq)&~Q$=Ex_4STSV0q%s&mhVhqmK_0Rm7WL6PG{FEj%ww${ zSlG8|P`%vSd1dC_xqm0~w%#4Qx6Zu7bdyqK<4@J19=)b8vZVjrQDAZRi}KFLDR@9N(2CEPX*WB}d~XP*kPr_M;1c%X zVnBjGG~7d!34}W$UZ4?BzT2+}#j<-7^_?(C$lqxp=jrE^5~+ND`dPj&!nLQs;`wWV zMM1fsaG}8BK2~k}>nyOi&ovGI@%huwfByLN{OLieX#K;-pPzpF{Q2R#Z~ozLzkT@T zchCR%`Qe+t`{~Ueo_~{n{!RY*chtiA_U8|uwcEFH=iEYlQnK+|5u~}MVtVU9Bxd@J zC@v(?(NEQKi#sj1sMQj4xkXG@SOv9S;;h`_pd&sE_-265&s2og6NDZ3wIhSWVWOxL5YWpF>BZek@&hYS9r_UK4?kYZy$}{TJzCb;&6G@~b2-U)y zd3PqCmkX0AZf=}NUp+9Jiq!*aPo-T>@3tCgCF`Rk!8ty7Hbz)IpRXXLT~6<|nPl_8 zalpoV^v&V2$Hyzv5PG`4H=(LuR{^`7C1y%988+lbB*4EplXfY++Yn;67R$s1-u&n5fT7n0>lR@~ds!-{&2+@_89U%EzyttJ|nKZ`Gcy zLAUesP03FAd}SgcNUl$0CDrUX-$&wajB2C+EuXJUrOkZHxspk7jQ;T9{f9ri{*O2B zKfnIz{fGBI{rRV*dZLCPd_5--PT)zZif-iv%au8`+3@{y+HtNfqkk40U(q_tcpr^#d9Vp#=c<@*?Od@=~GOad;UWXv;gO9|^ z_c7>bC+TyT=7U|d31 zS4=!+XjU8caL!H4h)UAc5sG|}9@xhKd95?qA*EMK{y0zd8bq3E+w-%nE&fpp9*1}8v zWJI7Sx>g~UccJ1!SW9->49;*z8l83U40#67khdD3Vb1^>_8I`cmN|WR`>Mx!E>=1y z@oSk=Y(>%fX@u-mA+13wI!(&a_To9KtqVmRzm_?T__uTK__u~T@NcT|(gv8L`fHg} z6yyJRW!oV?#h{;^biO0`^Bo)V-?z-E)I&L9wDw3bYiNcdsdyHggfgenc~5+IvvZC_ zD&2EK1wb#;v5>EYs(q6{_1(Ufn9UqSHL3_xzOT%wVYs{yu$GrZTiqcYnS0tdYq7y@bjWzNcU+6fp)#AYMrozAW)iKXkzrJE3W);?CvL}T*LXUCR#z?84M3_te_i`!ChO5W=WFQ0Mg+qlym!%ZS}z$QdgcFf09c)1YDDfTK} zbRq6as9CLQm=!_^kft-kRJI**UZOw;n*O^H=N)mAyx=t^Y1~8@`<<2JjVYG5G1k&# zlW`VJE>~xiQ432TtmO_y>3Uh6Qx4&s$5K%gPO26@)7-Hs?>mn$oTADuwGWWbrp{`I z3z2~DN+HGruaUVuNswhuJG=05sun{blun+`M|?v|m1nuu%Ofp9J>+q8ju{QXAo-E> z_@Rg|T#r&t3Rrk)O#GoTM+Ag$y(Ew1Uy_}k#83Qded6vy?Lk%Ss(c=aDyd-^LN~1& zgrZ7WONCJDv>qm%NIlG9qRsUvV}%BS@;V35gD)XnQ(ljNI#CvDB0FZv>uyB&_FjRUbG!-4>dVW$S17w=jMZA2 zcn+8mvwKi^dw0qpbRfG<-Eq!oyS!!ner4t3h?9AqAb7G{690DPP3)1NU1D)$%O~PG z{3a$hoj(B_KhhhK##U10l8e$VQC&ulaqao7+@QdKD)GMFs1F?pZkrcotlumO(4_wnZ|kMF zcW)(<*N5mMe5VfRPBYAmGi7?gCmvp20D}LvlLDiCqQd`PMPr%8QboBM@hVVR8 zsnPf2Z0}W>q@tTptxlu>{;yY={Cq{O-F3bqH7gS|2)zf)0Q4M?`Vq4c3j}Lff5cot zsdK~sB5f&h*FZk`%1}2ijuVPFy+`r5Y)+EsbV{_=$6c>2VI(~haWXju>(nK(bgWjG zoa}?D(M9!7ovO=>^HzDoy1nY7YahfEc{`rHh;sm$nv3b7 z8*>hVXHiPx-Y{Qz9d~8Y8G<*=A@tI@iNPg0?~{Y?4hQT8npd6YsX4#8OCmWD6vur$ z6Jb6Yr?}|G_PAkMc7n|5kEhFJ+`Gufp%(iiL6AuZw#{Y!kRx zo`Sbma{LWQQxXLxFORQXaP50asj35^*%K)|#v8WxOteu#5}ZC@o)|ugf?nK zlfA|hoj9}s$c(2Sg0YzhvP+oShz7tuuVXTWWSX8VW2Gx~2g(d;E>!Ps4NaUS)r0j( zG`^Lf1sd;j+FKT6YU-XFWb_GuUZ!lGtb-I%I?r z8}Bf#G1!a@WH>QCv-({nf=6>@O6n&>ji?OH;8ldlkwkQjpmeDVef-8Yy|A3fCWZ4h zNzp(U?G}~LTDn2VESkhvr{_5B1j1VGpl6qn3;f6PTSb?VDhqqm2FXy80@Jjx%w%Wf z75Ik7V-a-M#;RNwve@s&y$iXcDWS2LPE^xnoX859+@K@Y57`&hWT*m1G%%V>ee9Wq zX0^iNTs?^Uu5%FSO;VA2n$YfJU=YeNu$Br9*N;J%bUFpOp#q>s2p8&TDlN9km0E{A z^eWx+JGUnDP^CpiKcS_V(z4$@o-ZBDE9fYxyEV)K^x#X*rYS80CU7Dprnion#iRt> zNpDkH1_J5M+#2-G@^VT`*`+DlZsOT7linW&rKNYL41({KHO!G+r|vlCv|ZjZ2hqD< zCa3G$6_u88r1`W?q_b4nMgtmmvG8ZPTfU^$GaNanmCUsDc;A<~TG|RJ{(xb6O65_# zQAs3G6hH9y9lt5OIihM$30G1QDZzIM!anBY6av*Hwj7zNv@|K-L1aP?8cr|iI|!$J zZ<$kWo%rLl6Y+b?97Hein})N*toqDe7A%uYCNE!We8ddPG3rz});_1OTqX;nqgHv1 zrP0|J6W_2yXOD+JP;{!*G_ON0`9dz7fKk7)TB2vh;dQ=ua{5VkrY9%(kcG)Cy~vQX zOp;|?IfwNPW0fP?cgma;{geg8qwA141V3a3q4$hA1V3ZmGCv^oGiF0N1Z$WB=s971 zxJwF*FWZG;lCw?jq}}&NLKL-*VD4@WeceU-+M_RJ^+`IDIH%1S!(3DMF!}^Q557j~ z(~i>5R#~7>=1hGmX}m}3)0P!jahMlWpL~}J`|jMPfSI&W2BCYWZa{XOx^2X=+tyOq z@ZSA0J)pi_MSU8v$Sn_)h+}>jVz0s?>;7?qM=p}sa}4Q(`Fgt_Ln`EwZo=N99LV-< z*A^BjsQ~_B4iU2`4fSzlL6gdXHc?`Fj-*vY3`|W>um*?}|q}y=Avi%SO4^rx&FhVO@Ns;$3rtnV(f*=RQ(A z41rI`IE+T*k3PJrD}*D6JCd|qh}*n!yyU*(eG0v_ImV8hYE-peg8ju<#vTvV7N7Fs znoLpkRgG{fr+HrT%>1BrUJM(`xaVIKBrUc^+Y3p)%!I@*EAMjgWTTFzH+htPv+q}D zBwXZzZFIs#>bon?VR*nOZ~Q1y#6pk~HmVd^#RR)rnRRLJYGCK#kB2Nt`wXG`>>Gq~ z_N}FIaO-D3OgbI?FozY&Svd*UIOj`fqn5VFZGqO%)PxbG_=$` zH&g)hDo17ul*D}}tk+YDo;omB*3>qtDmFQ5>0Pv8xInO$UI;Q`3vG2eH8EEpSj!!l zHw{B-lkQqZSc-sNdsVmJqgU|mZL)iTLr&zKrBQ(EX>xk_FLG+c>ui4FZb(Yo|Ht0@ z_Q-YP2*2<9Q`F15FKl=HuL6PrHZ#a#7W>?1HWOfHHy8wVyE^f#-A>xh?9Bc2_eV;k zc+SzOqdL|0?gE}n(p~BjMNt$>xE)2ZkP+h>{b51LQBZ}3M!i6qcUtgYGw{vJlwn`5>*LZ z&=NE>J(X1ZzO-h8DrkasL~yMl{9%97Y^Wc@a>p> zKT~)Wf0Mm@Dezh=JylU;mmUaf>#?eE`~Fsvd`Q*`O~@jF0{WbP&pTLMXbB7JS0^-n zk$rnRjK0QN6d({V`QgKUNISNQqwG|BT2ZDwEG4CQV(hRsQZbg-9c;C3SgheEJ9PL+ zLSotyZd#nPlUQrNUcahhC;M_elyjselCW{Ph^CY=MbDs?7P_hdS<3z*A%AZfIHY%h z94@w~OrV=uy5cZodZ~c0mPt(&u}G@QS}KaBuB)OEmOxlb1w^ZrV5giBE1`8~<#Sbb z#&?RfOBg~6uRA6i64MZ;*W-jCv%^jURu>i%4j%B0Fy9XLLuIikq-63d@XAR@u;0rm zJ)TbxfjA=vQlHIFxJ-wQSLCu5r*@}D*{Y1rDN~e@oI~_eB^^%H5OBIk;p*jJo3+xK zF{OO8o{y2gR(WoOf}OcJ2C~tIhU9RI%08FSRi?;Lq69@!!UU=+Eo;d@gM_26ECN+` zxQ1RW)?wI=itDezn)kuCy$+ov7)l?TnyPoR)xsdEs5->3h3@p|jMB8wP-vGZ1Z9*h zeUwYg0LP!4G;5Q=1^*WFq}l7$Du|VvE&X9On*pCg+L>564M4 z<4%fSgJAO717xhB8A3TJM3_y7ynu9)-?`xm@ofniN5nVo3CR>x+vKU%w(LpCAJ$Ry z&WW-MeT2GL9thgwYHr#iABoZu=##zz&^R}D+*z4UJ?^B6>R9_E3N1FNeA2F&2M6*TQ!M~~&W8uoANK)WF3H*|fr+;6u_#DZWwzGPTWv@)TFOeGJaHQIp z+IFeNb)IubKo?hTC2#!+*y|}&p&YPOCW@6Pa!5~hNa>4>EOma^UYhAUS#r_2M0}U- zxnXi|`sfFaEarNFi;m2CvUBjXr0&)*1kh?!nd@aK`O$`tKL+=R_cQ8fSr&D!jT+xdbP(P$pOwwD8xbO{eAvJ7g3(Y^*&_7 zHN1?t-(ZZ2@8hWcF=2N39sfrKi@JYIl$yk1-*VryETh{!up=f_aWl`B`?}3wlgXR? zv}gFaLG}9itbW_$c~}uzMKgc}x35vTjNw%uU9$L4e6y!{8Nv1| z2j;UTYAFqo@+_3kR_HdFjAX!}dT1I*BDKW9e}D6p8fYAxq^R!}H!#bUofy+gTbCWo zUsypL$dmx)zscZEhcIQ-A=@}@qNu245s804JKqE1(9Dl8-7a@F4|_%3?&W8#?EIx} zw<+W1wf)zdD^_>?Syz{Ez8yt_vsE1w{+GJlT56dS3?glfIR8?&TO_4O$dS6;oc2mR z&i|ctySJaIZnqpetyFiXig&ecH#I+(N6vGU!OnHNIh3M#wV?K(Zud@`c^{DLY!gb{vn3C%4$ppmxO;Ybc=_t>>Gc>!cC7Py;+B4&%cyge z&6QiuWAyRy&5u8x9^aile4vE=4LFyC_-fx%{Olp*$QR$=a}|WRfye5$y_o7J4FZ*=JOefe5xw3TX{>% z#gt(}eFph_29sDNwz)v|S%xjie^$>|>`x7lmuKwM$L8}HT%sDR<1!F#XEDjLZ7UUy zIoFv`*~)Tl&Qw)b!F_%UUs@mAq>16;Z~G^4`DC@a@sK?~5Qk^Ax;Lb|8*)lpmzC^6dc61$>%f3Oc&{%#VniU?Q>oVIsWLnM^UHEYN_+RfI|MOXD`StPT$2adEp8fpz=KbTFkAELiig`z^s1&mm2Y)V4 zuqK|K$htE`nijoJg&NKVDIK%4NJ3ENGWrZ^)3W$l)Qrhj+{+z#C0imFs5f%X%u);R z{Equ@y8BgD?DW^u!^emBAK%=+xzn{ATS7xd?wO==ntQf+QNiakgfj8`{YDQg-!5MK z>EHhYlNFzvUZ6hw`u6RgZ%z-d1>=nx*@nB-A75dPUsHd4PaGx_Al&KsUcKP#%^CH_ z5jN7@pm9;n>pXnw^Pmw@!wrr@ zd7cI>&vPy`o#$4nw{7>np5%Hwa_={Hq6W?ubS}6&Qv+u!Iv1Qyb;I-XTVne1l5*Z6 zSbX+O4O*V*TxfZs1}#r?E;OCznkWR~VQijrw?SrIgJvsw-4-=ywxDOBU0NDEV|_=bk29A&2$daN_5Tun(6EaOwy@NXGb{q5980I^OB_(jb5iS zSNi_afwvmx!U@Fb`w6!{508kGk@_;m?73l*x3jzeHv)Td=$b%VwiNKQ!AKdBx?95# zK&$*9=345db&5|H`EjP$^ayngqbyBbdNebo0dNW%o3~Qf05lM(&ek@d1F(kqR5tk$ z>!%hfBc+!TtY5vYJHyF_m(x0Iz$R5@0G!qapq17Jpn+6%THAmQz#8V$+GI$ib&1sZ z@4MdbM}>^8cAZj5aQI3Ym$$A|>Yh(=MQr7UMzO_U1bn#IB1%P`a7}g&xTfybFa&U^ z*y6fmo1g2H{j@GsM%y&8;p5abzHX(i0dV>nfL8h%0H?4u3`taH4;#<{Si=xND~(NP zRcX9obRnIe zWUH??m?V<#SeXGWp1yNC6 z%3mfboCl4kT6xfCWCS(|_c*f#DS3DZaF{9P!Re6kWQJ60N zBqZ0S%X53e7zZJv@*?YAo-6Dm=cPvW%3BKpR`oB0rl;gUGhaOIopo#%wz7_jMf2dg zRJDdl!I-2fgKe~okwcSv-pS4Z*VH{X$ml%)mr7N_MkFe}FI6u!4FZNq>)1|fC2yFK z)SmHUXET8V22(VuZ|#6_0+1W7AhJo-I*~8*hD>6e2=4+Zsi#Ta3bRav&j6YUe*xX< zQwSI*!Uqgya<>VYNcfIS&5t~omH!6fg;v#)5_+g}Ca#Kv znhvEi>Q2TbO8&@0V02iooVQ}tdoH(Lk(htof!N2Zp5Rf|s6&#?EjN>0NbR`EGsBhS zH$vCye?|S2#ioyZ%zhFxLm$<%#=6^O)iFUNkq~{v ztB_oYsS?D=q>qhOQoC*6#iN9`*C7tB9uyMMA(ByLY(`=aS_z=~YrOQTq;_fHmPeBI zJ-s`rE>d^0MCrqA>zzI~cE)JgWA)^tC6N>I;&rmG4duP9VbH(D1S)KO?lGSYkz)#G z8znMFrI#t&MtX(u6UD4yFz32vwc(s*)-dSbLNnpaY|(JiAboK5+Z7hya7baxNCvJ; zkL8A$lR6jy!l{$|VE~NO*1wU|)_s~(byC}K-rpK#lRB%D4ylU{>l+Py=d?&Ye>SPV z*X3C)AF8|vW(j!(yuZ{Dd%bwD&=EgkS;Hg;_}H4-UO!3SB{`!f`-Y9Bz4PZv|CXI{ znRGFZH5P2-*npx00=aN%rdRu%>ntDeRhs3`Gies33*kbZ-K9tu*i!rglAlVRu8Lda zvis!8X{d}28<)?MoD*i9mLd0VUWRru*6|Pc>N14!d#vBWy0Q!=dA1bUv7Dg6DICgt84%S}yP+)DYmxG+#O%8MlxiNGO;tc+sKd)fjv zj+nXSFE73cC5wS&LVwW^VG7}rZVaBm(HX~5>}sd{QkU2TmB21tdCQq?DWw@QY!Jh ze?ertUW=%|tKjp=&L(T>IUhJAkBqA)30bD>$#sn_T%3-C`d(j79g>#7zQ=M(s#D2- z!O29Iyqte8p^I&G0+F}Fw6Aq1fDtPp#eF8yRs;~&?)^ZhVvaJtyqbHq*rlY% zmFac%t_Wt@dLDx*3%kzl@<#8FD%|z-PWVe_%DXQYNDQ5wBPRqn8N{C=Gr#@clOtphHFYTL~UuxUph;39OKmZ{X(Lsb*643(uq9F z7ZuBJnff7ZLnfZQXe*L1Ii=C`wi0{blq&#A;q= zRrHGbNwTLy&$yoHR;Po+ii@osPd{UqVh?EAHj5tV+XEQoWJv6G4WpG!S*+S~9$WYN zq_a50k+A>fv$%FAGEPf0xChD_CVc@u`VOB{_HS>nUC3uN?MMi?rtZ0+0-*IEpF^iM zRF9{Yvk0-yUanj1<5vd(!>c?_Mo)KHS;HiO0|rwxsyj=9w?~?tfD7nXUx479N(%#BFAoQ2l1GQmoXo%dnceZB2uJQXUrn;$Ym(G1SKfz zxPK{f8%V$%yb}=pxn_6DyZH{Rfn+(Swt_Kiq}KQBjL){vGi94ScP!oW+ssMM zbIHmbzl%oF2I8=47L9^@>TaTO2%wc|Of-^$1rux_8f&G8&gmUP$W=#gr%lqw0AzX= z(b!601JFRD`pyg(Cn8(Jd?K4@tP^=FAs}*JnD!xi#P-QG!m)6;OO_<;CYQkHo1PoH zbTy`L2H;EJ5F7bCV4Rk~8s;y72}g`{FCA8#)r1;Jg%LU2dx_bUv}(11C9;1 z=kB5BR7Kip(I{+ePt?m^n+hz|5Q{9WrTB{;vyq=6>;i}rXStrdHbl30e@QbnJZO`S z(EbulBr>~*|Mkv7Q7@(p_CIBmo{lo=aX|}sG4HzT}kCW)Ul5iSl5qAZRO-WQ~OsXY{@TMcD?0L1{M4E6N;-aXH z`Yw#G6z@iC*ALb(N&SF9qW(DX>eP32U>hViTtR)4jDh;a_B7i$TuTMte)RszH`FC= z2OUu;VzGMl6Lfo9&@HzRV&^9JyGBQL9Pw%G`Hlu>0=46Ur-(3mVzWYEckdl+p48-8 zZwA4cc=P{P3@ z5?e35{Pt=FiYkXNp{Rzb>5)v4JnE|%@}vt=b(R8*aY!bVP9xvTs)0igZJx3|Sm6Me zro?KB2xHv6POnpzvhalR8$GKN#e(J*zi&qXRQ{Lbp{!hD#O_+jZH+_?2))myFBjVk zbo{i+_tQj-{h7E*Vv@0iEyP~e`NVVVC*SVM`y`&gBD_))M9&2n^4kl4t znNkr00ELwRA``ZifO(V<65El&B$OyJt-_GH2|!bMfnA*UtF-7Ir@d6ZNG6uNrUJ5w zME>3zA+4m2E*uu1R;Ngzmo@pgdN#96L$|xEgxs;oY8YF|3Nvy3kq{O^rZ6RFD>?3@ zcM?kpp(-&{tU(T$>}%FkMW0nUa&+7Ds@iO(1Knb@hDoKEy64nKrF(8@?2f^?!bCKS zk ze4=LyszdZ(DvC%!7AK*?Z%TfZ)v2VRDu9Y;X^5A>S9iPFlKe63sWNgFTTfg2qg!mz zj9GnAYX($hF5{Qg;*~m#&jBHwBf2oi#*ge*lz3Qu))Eh23V0xVFkkoe8=hKCn5znS zY(DGiektI=wGH{Z#AB$*PeVDABA0Nt5`v4hc38J_!O-ODRziw@uW?cQd%DQ&_LuYF zhQKgM*V0|af;fJ8gtwT>Yl7Ugq>{uxh@&`$wp~^VZlr(*F{l6A3wY$37%#p(eR%)t z0NzRwj&J08vAuu?^$y4wto1Z<0gsIq@JP_8`5|RL{_%ml#~&8o zZ*Uhd$YMiEyYw>`*x(G7KIZ}(MER%BTCk&2U_(Jz*5aqgL7(jnVs|JPbXb&Ep5!}U zok=UMb9hQbO6<7g*j+9>rklbNd>+sHOo{En+;x)Ny?gkfml6NX!;imyIGrATefRP2 zKc7aEQDc|OBZQ^YeIpmOhg9R=I#*IcSM);aoKHl*@^EIVSr95`LB>1_=i?dbG-NhE zJ?6CBCrL?vdOcC`1FvchN908?qDB0oDMXND$%k{eG^8>g;&PrYCGc#wusE>w_6$9y z3rhU@^Xr!%Pe0uK^z!k?(+@wtfAjD$a?cO1{{BOz&=2qL`OCw{$Cqz^`0)1+A5ZVb z7-{9!HHB*k%6ChZ8!rTE}|Ak?^UCg5RW}NWVbT#FGw%vt+M} zN>L!fE4Sk5&}l(?=CvcB;_2qK#*R)TJd)Jm7N1@kYa^wOCHUBf8Z3_Ufh-6jU@t4O z66$c9_iTA2@&*^1m~iBSyIo-AIK)5dq6{E*mf4nFpu^C*-rox#{{6F#{h9~UvaMi$ zskyV}1o+OIo~@ShM_DLw;|RlDKi=wqMv&=+0ln>$jJUZSPSM*cBT}^afFm0E*iVSM zJY2ZFjNZgau&s`Zy)cR7t6ScZO_fSI*78fPrO}kqZy_Ajumi63HtAH&Hrw8ze7#andA>l1|H-@PD}G@tZ#{zWZl=OPNl*#sv2B8fIAG`;Ke>j_T9ArVjk^ zmKJ$|vTQ7Ij3wnNB0nG<63xR9 z*5sH7xcs%k5~ay`A`FnZz|olGif3fkKkg2D!W7g0h-=SmfvY2l)bo6iUY>l)^@akxMCC{UgULmkKC-G4akX zzud?DX7OxuyZB1)wmNBbHp|~o!HU16%RH{^_$pHPtK>z~u(8x%zeRW^+V(32*^wtt zXhnUo*Dh4a+2U=t*U+lR-7OWTP#{sMc>`z7Gms^*@fy}=WSkV z+pI)Ppt<>;oTbHNb7*f3T4+f|`_s)}I4Y)$V-m2lSxjJT_}Muq9bY(-bEZ3PxFA08 z?yhKdo^|P**L%DxvX_fy*E#`Nwac4m+<@nHa*i302oSQGMYKk=i5Pbh#a!fe#?TK^eG|MI+VS3>)1L&j$_z^hrU>aaovm$yw>C(KguJ zN_IdG4M=i}bIc-}<1Lr5@SCX$sZycXQ6Gdr;5wVhkxT+JLoS8(0va~F;B9GBug&)oC&It(I;&aLU~ z9a2!tX4ElK2casavpx}!@Jm>E)!kkflW=outSU*7c1K;K&C1ru8*PS{4={xF?xqZ| zU!nA*w&wf+)Mtv`eCDt|#{lL{dbSrA(2mkjE6$X@`7Bt zNozktnus-BWip}u7AwVlITy(?;~ezJx)tVX>j=OupD#AQa<)cB$E8~vUtKD!EW!G_k;ndR#nRTm3o zJCHqFqM3--)||f1y`|B}a`6BaSmo^W3}T}E){HuPfWlD@>oW{cSeAM=pJE1K0FLt= z5)EYt0qloM-Eng_|o&4zVFrd zCaEw$%C4qK+8cS$^96rX;A2-zDX^epgyuJmkAj`R;6C z(^nB?lR5N`@bOmL1j7~HEVo$Y_CI`FgB7MCJ@@0{4U!BYS4p3E7~l=);5cxv(b*vz zOkWIPYOMJm4#DovsvglxR+(}Af|qkDSs!&tcV@$ISDhQ*QW`58Hk8hR0=z_L>FhS( znLJS8v6wcNOXF%|fSDX`16enLsfxO@SJC}-rF0*+F}|2Ydg6<)^mPt%T_P?_hpOKy?W zP(MzR1KZc#@dvaTy<|6sn$PthdrvOVquBOF+Y%QKP!x~DiUSb&7PLzt1N-$X5FBQVqzR@*w32;1tZ}w+;Peji0*&;Jq7{?uo1^#R8{o_di2 zDFexQ3D2O!e%)810K29`geJkN5>4#zmbXYMvQ5kdxFk^LNThFpxFQGvH_B{?8$uRv zum^}s;zDGMxi~5br)Mw8qJMGE+M*s zaT;@@o;Pb*il-)9eMUZRSU+pKiuyRhM4XLMKcyeU5|Z=-dIHBN;Pv7y*Q746qmg zX(l_$0q5;vjqu{i%T$I$fu+P+*|a=K)W_9{_PxXU<&C9n9?>$P6HDe+uEv>s1r2GHzTOE zRl&4!x5@r9+>M+s1vkA)wj_E*LQCCI^#$boGMfBKk5rPt2ZL4wlGIfdErEAfj%Jc3 zQ6ikWs$EWmjt$RGb~`_Kmc1q^gw%b~b}CLuog`0=dL__PI4w(mn^!;Wm+#*WPB`xl zWcC}Rs8VA^lij!;)H$j%QIgi&ljMd(IBC9U%t2}+=tUkN4y0N)Jza99tFZ6>QtCKm zEv1DQqi$Es*cSWi39*X z$_tdPP~1Rdbx{Sh(N#QKCH_6Eh;u3C$HXp{6n)ujk&y+*v1zBD3F4cwX~rV7JAj1987i2@N3 zhVsaX&&0v(>Cvjdd1l8g{}4Dp&_?R^!(S=!WaqurRp8uMZMbh5V4ghqs@OWOMa1(j zN)J&S3;3x@tPP;iV}#QT2asd2Xqr%f+X1w(y>Ud5v{#umg~k(GV^_Id)W!3Ry*9evc9N{GmlN*k(>f*h#QLjnd~%>ChmbuXNo{^(KyC$|>@4J2X;m_8U#$r~ z=CZe@Mg&TKf9VYdkwkmkiK9@@WXGCjWz$Q+AZb)fk@-z8WhfWyPJ6wPNw7770g8OZz2$|9{C3HG;C>vc&?2s#Bu?Iv=5zC!zo>}=<>iz@iuF3hI3eE> zx;ilGIgp6M#lVN`&aAU1BO{$fQ z1xeM^u*%LX0YEuHIB61qn;Hc~ZmI%lprn&g=ByP9u{Sk`aA`!qwX-sf{9^J4IXE&4_0v8$%YdYxgN)R-wPZ6_sDt zU|iR44mB@cRsDiPrI5MI6C=(ls^~qD>d=nCP#vHAH&RKsLWAn~>X}h0logmZZ`E*- zqB&?~Rz*rP$WL$=0i0`Y3Jk#eAcMFTy4_Re`kV(KcGD1yJTY+lY{KBxFBi?-UT;G)YCr;;3ea*&&h+@+dGT0R(+% zAgrkdq=kOb4w2we-r@`;!@v$14<)KEykY6FyVqC{aS>eQwXZ_JrG<#~3Hi9p$e?)J z+_h-qWgjLGGw#I{96iZP4#p`L>=18j2h&Q3Iz8hAjGo>$m!8oM8Rc!$F5Iq2t%Je+ zNdHb|7^N|#4PEYc@Zkx?ZFxvivb4yq5vl^{}h)3J*_e~LYf6$?go8O`MMlV)@H%;z+ zhZ6R_x79XneeVbKZR=Z84M>Yt>(laziZjd4T9f2U#Tk{tpRMA|`m?Ssr_WGhCA^+= z`IT?AaUdh-IL{*Ai0!~Rj+B!UCNGh&8$H8FYtTG$B25vLNJN~*oaNM|E^hTA`QyH* z-Cf7OcW=#yPTo2FMb@@doLPRUI3r6TOE6M#=14fh!U|w~M}-Y)wNRDihW|cNFkzt; zP;OrQpVR9%FTZ~Ox5fAJeR49BS9(Fb2`6nzBK-F8{m-L+{QB+b^m_EK-#xy0H~Pna zeEc~2x8G7D1_VElmo%4kd76qdlI~$eN-zq$ko-X&E3bIipFYV>Bk@Q2z$J*}V@w~! z?#iWUq>{{^{_m^5obFN$n?HVh`R?bX)}PTbF}eQCTIBDpw1uu$UwJ&;KYM@o z^UptgINkmF_~zr^e^~Cu>SRbQ5si0Ql2LXgwifX=IaWo=63{YUD?{gXDK4wk7%t_? zj-=e=Zvhv-ZX?cHTF&4yU6n?Pt%RyHQ&m^&nvApv2ZE`=#;&gj@Ro)%$OzvVVXTM< z32Ba{`Gt$k4XSTM%Gt$k4r=*jRHI9o$x*eY= z88Mf12F*w}7o3sK;2G)W!ZXqtJR{v)cuG3d52T|CM%u6&GH#|4GV|W{XJ|&cx!{a+ zhMkdaE<7Wh!86jGhbM2rgZ!%`8Br2S>J{t)_pav8;V3%t1VwxAiI>_@o5;IcL+D>W zgXY2UOG^?S2X;#ar^&uqz#gaqrM>fK8N1iN<>)FVvSiUCdUQ{E>DyJ#8zW{*epfjA zDY{eFc%qrSVNQv_2BDe4?Nq9-kPYZ$wuUR{oWtuz=={Ww&Yk$SftraQXPT&QAeyOf zAX=zbr@sy95Uk+}`dd8R*aG0N8|Gud;U<@>;`+P(dATo2_Bb`KNt}IJlMJDGNen^@ zLF-H6IA_5VFqkQL>?!%kf=oUnujA?B^a|O`it}Jx>W*bWVhxkx*+=K)jLCNCjGw(( zw#%ZX?qT#EfL7sd@zs)<5{G$8G*bNkgS$4;PtJM3W_(y~+N@=gVquPnbfm|HKIoZPPI+ex{h z(>pfq+~hZ-Yq%TC;po0bF<+j9m-8x~Z>PkF2f?w9mlRFFGtwirL9MU#YvPT8J>ah# z7bO06LbU_V>7~9#4e0`E{|-*G_=LE)gOwO5G_5m=gp@?85^&jBol+$43QG%p-r7B9FPsEHwI#k{p`m73NrzHSI&7mw5u8%ghvYWw7 zDx;6D>w3i=Ah+nqsI_}&hacB$M}#@=F#0qa#M6@^*!vgioQnZB#bX-OZ>xRxmvYDKCRlMvsA> zyOSLv64}>F*4r)oy4I}A%p!|LO7JPYVOD9-k(((-x35Qh%&LOQXFSxs3T6-T?J5-& zdO57b1iS`dzTS3UBKcq=N=sDVy`(%5a{x$739S(!C#2d*N|;poN4}%#Oh*f941rTF zR68WCt0UB}R1~4s8?fnXBvkXp+QrOCqDWMsUf`-o11rT6MyM}iU7Uk+3c}G53A~jD z+liGLAEwtws|$8h9JU@JbkrDBH4aNTz4={&ne}p7={hp2Q4uT?T6At{ld$r7C0`#?>gerruKJ=R!^+7T%Kt>ov37zD zV~{CActt|pJ7!AHpsA0^Ro~$-IC6HkaO77ExRFj&K+a`DlRcoeepSUSt)>SX6|)=u4X zLj^#~F<0dggqFl~=nCHb4b1j|gMm_7a~uqX-u)wQ>!gjs#YJH)tq=rWgl9VkaWrPxCZVY*8+~D9Sq-?b+irO1@%hYibAkkwu;9^gxm#RplsU@4m4-DjLy8udjOjP%-XT zV2pgI=C@?TNw_fw;ts2=DSwBiU7&Ibua$5$@l}|9<+rYZDW!L%0&%Br(Qgu_MhI}X zkI#~T3rhR-b%YqbVjbyWFIjEaL#l5pUKJZb=!xbO+Y9SQQw?HQb>`{gF6Bv9KCqT~ zZp0?^eFd#M)<@T=RbPqDXuKRoC+ruyI9jBP*bd2=A_s4^|3oJajd;hKf;W^Y?9)r1 zP-E{w0Y9`8SSY_si`WukTZjN+<*_jIsGYbkX>@E;v2r*r5Dv6oc`hw_*k+gTv;2_F4LT8)E%Zb3Up-^%+q!l6tXy#ec@M;we4# zI7SZNebYu>l3@7bd}=WR)8aLnn*lyk1h{V{jZ*Gh}czhDpGU1ymAK zv;V%TlM+W=TO>dNPr1)ZulViV*=BRsa}PQ;D{l0cgJaZSESY_qu|o18U#r5UEuL|c zDDzE?q65rOXq7N73|hoPUBcLq4#67c$(J_TC37LqvKT9^)7I`5H|yQ4VN$gF=m)Hm zY^+G|(4m z(>&lXMYcMhMw}A_Yq^5*W~|f+PtG(+NVN_Lsi^WtVv~}mFSvGi>w$}OYV}rRKSeTD zWPQek9K=}717Y8)l$|vqX51ESrO=%eRxL+XG=WHGJxC&fC8sL~M?JW9Wp>|5V3=|t zv|rVH;O-4!qGX-haLa=-;Jk`LQt^*kkmqsu0rquTa{Y5$56pITxQOc@++p)cW-!n} z98`NlW<#mH`}^8(B#%w|y$;;hK|iG(3DYxeTjjkq-s2=gt4%tgggXl1Lod`SRj zE#1sj2BC13wNzN5&Q-xMNK6%Q=&8eQ_a{EDY(|yyT#od4Xq~IMW=Xp6B!R zepy^k)-WkA-58Wo(Ak=k&P$@{COZeiCUwsZ6#&gVoiFe;#Zb}BgPZ4Fx~9ZALhKq;`vb7o!NK*dy; zc2U@nl&n1t&&KA981YodC6ZL{k*lO~p;Cq)j~b&WI^(T*6z$_mjp%6cY4z8^X?@)4 zTpth5x5Hq}O$Z_Ei;NW3qzYHl*Ccz+=@_sfyp=b~gS{Y2F+qWp#o%15cM&^LpUKvk zWaG$lN%R6?7~%3Qg<-Mn=-EF%$SZd2kl3@FO4yPiM8!ue`(k=q`s~a8i07V$eVH$J;F;{k&D`vfjcXQPs!Gf`px?95#KnuM@ zWZU~D$t!_X-nShG_Deaww^7?LbaT%{XfweLf|J}Kw9?!lIMuCTNVYnk`iKs}TZSN7 zDW8pr5yF333x?nfGN%pBCJmDEItwO@+p}P(tAqtV!03zxL;UWV2j4v>SF~XK(BC`! zbS)Vd_|bwPP?tNHKJaAnB%|_bOU5=paT!_5q!20Gm$E+u5UqQ{LA0=ReOH(Q5VVsx z@|O9#!gTrAws=}wrZY;hX3mF9Z3#cZy6yD+B=$_$EzzoI*rnInGb1B6+B2)!_KfWS z_n2A3J07nhu%W02v*Kl zoabV2^gG-&;Qhlpg8isae9446eb~tL#UiP5{g$v}2@&oC%kvg}VJ=HVo<26_-^Uf6OBa_-3=>w*HyA#TK&#ctV=h`Lkf0iS7;ash(}A5uyiUs$6Q7d+?=efx_(5(%Xh)!I#6> zo=+yc?MiD^#x>z>7!iPq=o`3T{6&;cSEa06fD!k`J zH*!ra_7DZ!)OHNu7=Pvfx!;O>#84)vhQ?W-=w%P%R>*Y~EzVxE(rm`#evc z6mB^ui=V=jlSI4weMpXL4U>Z0N8e}$Mg1t9DL*r<1%hFey61)pfL8hIwje=!>tWc- zz!ogW(Kc!al*Lk>Z_62l3j}MKqvaQanQjh3i_C0Pmq+5^+gA7>L2yyJbfL~qtb zeYYN{VapZuaXs*hiAx3Cq!?HV%#=cwlz%F24Z=E>l2)&ZE24491Nh!GqJp6I)F_7K zkl)7S#tkMpgS+ff>&%$CfUuTHHjh|La%r8>U7~|_0%0vzFuE(|I;YQzHP;6S#|x-}wmBz2e}H1n)M5F92MuFkUo=>#F*(9^0dO0mD=uc%kH z`m7bLzSJvIMG<#eT+7<);D5cjVs$s4b#>VvU+R^$)GJ$ksaGa!f39Ac)Z(%VN&h?R zmGRo=R*H)~O}#SScvQ=fC09_cR#vS^w$hqpxpGtof|P)cBd;ZAqrj-@CQV zr1n;Y_7BA|Ia#`)Re4gWQMg5=S!tMg_Z^`E~hzQf4 zC&~bk4?n+u_;4CqA7d0lrNr}3p(6Y4LR5bF_4MK67$%t}Yu;E(VrQcXPXOif8Jf%} ztk*^pL&az^jY=%5_Y{0$kp(LrD{<0UlpBB2b?(kFN>pD@fk|GS)tX|1WP!ESSrN3% z=QFGG^fK0ol5yD(c5xsJ-!v}MQg*O=&a$j+p4F1&A-zrUa#TyRD_!_J5|7oO41;2G`a!b`4tYJDCsz%uD*I}kB3w+17E zO`#d-=7KZQ89XE1TzE!0gJ-0h3y*%7)Emj`zfvLoVakm)L{Ito4zZ{*w{JX-q~hF{8jQ9E z;!3n_@AS8ZE9h@F*VqEs6Z<2M&aK>erK%WmM@9^cger5GOZUG1*m3IaK z2&M9zZAV+N`t?x8P*A?ET&_{L1Rz+;aAvevg=p&WhJM>ybSAV0iz9>kM@Up@LP(Z z5HTsCV0((vRK_3A2C-xjg$xj%EWfMOCEm#yeBM{b-bdaU4!w7gb93`mw;3c7= zaHWOeXncy47?QPtJhC!uI?Wd*xlHO0>vppB4uhBTDHuT#6lu^)cQ2>N8g{gE&5R9+ za~H?Zfd4JBD?A(kN2qzL)1k@$)6MDo3;#8);Oo z#C%J>sYJr~jDq?q@#be!6RcJ|MWxzMQ9vp>$X*~xtx2KXmbW0|ru~*1 z&s$7ES z<}^Iow>Nu24%RYmt z%~Jl}yq8J#LDBQ!yUN$igDP3Mj9#u5BfwY}$sR2ySk6tHx09o^cC0z4vrXQbadL&p zZ)&4}u$D>nTd-)*19eqWOe6zgEmx=#vtUPbiEEHcQfSC=7N(R38Awomqu^A9FQ%Ez zk*g~y+XA*FV13zxydYtlvvnAEUb+g4j@Z@5Wlohhs%QyJ_RYPfRn_7?Y{^u#LDGZ^ zCHu+1eSSql#Y2EgxqKkYRf6-_g|@jcgjAvyS|@K_l0j0oM~-r=glwPgp~BZh_M+oL zE)_~@_r*@yh-%XT1@iJ=()L_aN6^f=V7NC~b&>0nS(hO+Z$^W#BlIEJ($-ShN%hU> zNE?KJL(d*>F{g_NJ}1iD;!o4=nYWWNNW1gO`uU0wQ$K!KLtA$t5WYRSXK19o*fzX) z54fi8xq(;TeE===5{|Xw2LZME-mco#yC4sP(3W!#= zH$gqZ_U(SYm|2`N$UPSEN~&@MzqD2JK%L18y{f_>e-#48?%o{y{_RO?+aP0V2>y%-2Ib8Q~88L&ds8E<=S3O;W3B5`A zR78m>^lXAOOE`m2bc3~2#8X|u1*<0sILBd@T5nU#PhrPcRH>Um)-XwTAAN(}V_D%P zT!Ucq$hv_7^Dc?9R|)@GXYSxgijzYaRy0_g`v}{3UtYRHgDQ`=CtZB z&U+j(bEuknW>l(bt7v;}vx97J+s#H&6I)l9YQ`A_gtbiaO2lGvsq5TQgs1VFwOqk1 zt{dyS+m;&LDEjt{mpNK{YJK6T!0HkwNp{yH3&pHIXN|Io?GBrcG%2a1%oZBaRX5FxvE^C{t7d1>5UG?oreSa*O`b1#7Zbrvk4>qqmE9JM4ZdEjxx-OoIAyYS z|6q6aGHXE~!VDO2MbN8;>J%WD!A?IzBp90XHk_-(D-UnApn_{%X%PSiOgg5kaM;MP zOr8X8hq__l!8=~8+D)nzf$c_LqiQz@CY{~*wT4M?Z4ioXx0Z^mt&8h`bQ1Wvp#q@A z6f0u#oNGgkN1NqL+mjo?=Q}b%mF~G=l4?FW_gikd(i!E^Y`O~ask@o3LjW!GiXOZ* zPCyEe4diLpbY&-Z_N^DwYnh~TpiEjQhtRrG2BCr2b?){N z9fG&aTdy|$_CXj{o+w^ni4`{Yt=&q!h(+R6Zy8R$PCp;h>E|s&5Uu>~I%9<2+l;vT z?RImgnNpXy?eZ;KXJ?SFjc8-a-o$ZATw2%U+4O@Cw4e;hEIPe|2GTt0K3?IAcJr{a zV+-V9%ZT%;r?0!VQf2({ND#Zv8yQzkUb4*R`?X#LDm_JQ*qAIhjlwIsFp2S*{#cxHyUjqcGn&rRzJ_g_5iKB&8+=xlRW)1TMQXB1($>7sAz0^8w?QYMI-C(hXNxJ*!2P_n?S%hJ`-LxAl z;F`K;@00u5io%TAP7IJqItR+g>-gep zYhJ0q7*oWqb9cl!L9mu9)+_tTMwW|P5^-2b)J8eEi-SuXB2V;urnAlfq*r zjExw3Ne9^%#pU`<{TAZC$Yp0-AE~yJ9ZAU6DgbFREZU@vEqP&Omz%8;$3Ph877Nr` zCU=8@5G*EHvChpA?F7PFuHa_VrX%cJm^k|S)br4`S;M3>N~6n@DU2Sofq=HWAna=8-A&UE0bFbY;b1(P=d;JFYY!1z ztxFZ^jt#WI%V|*>Pv^8TUYu{i*t!G=dFdus%4pj_>^gUw;wj7JE%VpQ)P8-rq78KZ z3aKNn3}{@%!UJ-weNrQ8eZW6hxo`P|65eLG+T&at9_zzfNL6hTdi#oh?=hrGx(?xZ z1GJPH6Zr_-q*>d9lXFPUMRkR}Q&`{Sax3dQ7S8+LGUVJk^ZS?%!dr$QT7{L{2zBnq zFVeX+=!sXQ*aP4C}rc1OL7m!enn`kZr3Fcu45C)?k9cQXx)nrp=Bf0_o5By z5UgR|PAq$3+RVzcEWV=FX{()NY1_QJHB8bynOO{$(#kkAuH>f|%{0Gv&kZtq4?wHr za#z#sk~&mVVO^_GAzS$0?#7mApZ(K^brnq!#k{cVB%K3gB%5F{vzk}x0%F&>JL23; zB6P)inVPRJS243XqI5|e0OZbM6?+v?DmGN*BBWMHm@t6nq-yCx3Ib1$;68TQkkd*k zPprd91+bl`M|72FOb@Q93_pHnV~(tmamA<5i+nId_nb@8quHM4YgzvC;+tWtMsu{v zl4rSFGV29+{gE)nSlhmnZ4g9aD3cP=YA}uARS#rwlFFtxXq&wjU+L*f(USi4!T{$a za@;6M7rAa}mC6Rfc6TvPtz}YT7zhzMliRhv<0IM$gtc6;eM0{rN@ zr@;PX5@XH7^(EVAWZYuU`m8#%72z;AV%kM*T@pj4OnQDxZ^-k5Sz8LZTG$W-2pqX! z=Bgc2m2%|#mI|5c_v;9W3>ju-s0&&#UNN`@niPN23RO0$7~;ITDW}r1nCCXX?U17D zgAv%I>J5VJbiXyVhRLmO5X#oKmdd`ZZ~cID+WEPm0-(h->(lOvibKoKT5;%0Jt^B4 zzT4tjK6yQ<^=Dn(FZHD4&`B!aUQcJBarNy0YUTAeGs*@~_2Q3%XuP(L4QN|p|jgqTJakfjJ zbM+`r7wL1Z9>tY@`m6&;PL=d|m8(&$GCUl2`aOa()6Wc#K>GAK!^4nDpEEp?m-0DQ zrAjCor_@Wg+`WIefAiyip8o#q-OIl{3pJ{q-Tn0P&BL<~Z~nj0fExMCY!7L}m8d@py%@#Gq=QF4@R3dV|5v15gKR `0?3) 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∨C{D)SF95rkQw|$LX1fja{EfA2U+~ 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 z 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 Sw>Ymw>Mjrv_q2<1t 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%0D^(b#Z3)?h0t! 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