ocpp 0.24.1
A C++ implementation of the Open Charge Point Protocol
ctrlr_component_variables.hpp
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2020 - Pionix GmbH and Contributors to EVerest
3
4#ifndef OCPP_V2_CTRLR_COMPONENT_VARIABLES
5#define OCPP_V2_CTRLR_COMPONENT_VARIABLES
6
7#include <ocpp/v2/ocpp_types.hpp>
8
9namespace ocpp {
10namespace v2 {
11
12namespace ControllerComponents {
13extern const Component InternalCtrlr;
14extern const Component AlignedDataCtrlr;
15extern const Component AuthCacheCtrlr;
16extern const Component AuthCtrlr;
17extern const Component ChargingStation;
18extern const Component ClockCtrlr;
19extern const Component CustomizationCtrlr;
20extern const Component DeviceDataCtrlr;
21extern const Component DisplayMessageCtrlr;
22extern const Component ISO15118Ctrlr;
23extern const Component LocalAuthListCtrlr;
24extern const Component MonitoringCtrlr;
25extern const Component OCPPCommCtrlr;
26extern const Component ReservationCtrlr;
27extern const Component SampledDataCtrlr;
28extern const Component SecurityCtrlr;
29extern const Component SmartChargingCtrlr;
30extern const Component TariffCostCtrlr;
31extern const Component TxCtrlr;
32} // namespace ControllerComponents
33
34namespace StandardizedVariables {
35extern const Variable Problem;
36extern const Variable Tripped;
37extern const Variable Overload;
38extern const Variable Fallback;
39}; // namespace StandardizedVariables
40
41// Provides access to standardized variables of OCPP2.0.1 spec
42namespace ControllerComponentVariables {
43extern const ComponentVariable InternalCtrlrEnabled;
44extern const RequiredComponentVariable ChargePointId;
45extern const RequiredComponentVariable NetworkConnectionProfiles;
46extern const RequiredComponentVariable ChargeBoxSerialNumber;
47extern const RequiredComponentVariable ChargePointModel;
48extern const ComponentVariable ChargePointSerialNumber;
49extern const RequiredComponentVariable ChargePointVendor;
50extern const RequiredComponentVariable FirmwareVersion;
51extern const ComponentVariable ICCID;
52extern const ComponentVariable IMSI;
53extern const ComponentVariable MeterSerialNumber;
54extern const ComponentVariable MeterType;
55extern const RequiredComponentVariable SupportedCiphers12;
56extern const RequiredComponentVariable SupportedCiphers13;
57extern const ComponentVariable AuthorizeConnectorZeroOnConnectorOne;
58extern const ComponentVariable LogMessages;
59extern const RequiredComponentVariable LogMessagesFormat;
60extern const ComponentVariable LogRotation;
61extern const ComponentVariable LogRotationDateSuffix;
62extern const ComponentVariable LogRotationMaximumFileSize;
63extern const ComponentVariable LogRotationMaximumFileCount;
64extern const ComponentVariable SupportedChargingProfilePurposeTypes;
65extern const ComponentVariable SupportedCriteria;
66extern const ComponentVariable RoundClockAlignedTimestamps;
67extern const ComponentVariable NetworkConfigTimeout;
68extern const ComponentVariable MaxCompositeScheduleDuration;
69extern const RequiredComponentVariable NumberOfConnectors;
70extern const ComponentVariable UseSslDefaultVerifyPaths;
71extern const ComponentVariable VerifyCsmsCommonName;
72extern const ComponentVariable UseTPM;
73extern const ComponentVariable UseTPMSeccLeafCertificate;
74extern const ComponentVariable VerifyCsmsAllowWildcards;
75extern const ComponentVariable IFace;
76extern const ComponentVariable EnableTLSKeylog;
77extern const ComponentVariable TLSKeylogFile;
78extern const ComponentVariable OcspRequestInterval;
79extern const ComponentVariable WebsocketPingPayload;
80extern const ComponentVariable WebsocketPongTimeout;
81extern const ComponentVariable MonitorsProcessingInterval;
82extern const ComponentVariable MaxCustomerInformationDataLength;
83extern const ComponentVariable V2GCertificateExpireCheckInitialDelaySeconds;
84extern const ComponentVariable V2GCertificateExpireCheckIntervalSeconds;
85extern const ComponentVariable ClientCertificateExpireCheckInitialDelaySeconds;
86extern const ComponentVariable ClientCertificateExpireCheckIntervalSeconds;
87extern const ComponentVariable MessageQueueSizeThreshold;
88extern const ComponentVariable MaxMessageSize;
89extern const ComponentVariable ResumeTransactionsOnBoot;
90extern const ComponentVariable AllowSecurityLevelZeroConnections;
91extern const ComponentVariable AlignedDataCtrlrEnabled;
92extern const ComponentVariable AlignedDataCtrlrAvailable;
93extern const RequiredComponentVariable AlignedDataInterval;
94extern const RequiredComponentVariable AlignedDataMeasurands;
95extern const ComponentVariable AlignedDataSendDuringIdle;
96extern const ComponentVariable AlignedDataSignReadings;
97extern const RequiredComponentVariable AlignedDataTxEndedInterval;
98extern const RequiredComponentVariable AlignedDataTxEndedMeasurands;
99extern const ComponentVariable AuthCacheCtrlrAvailable;
100extern const ComponentVariable AuthCacheCtrlrEnabled;
101extern const ComponentVariable AuthCacheDisablePostAuthorize;
102extern const ComponentVariable AuthCacheLifeTime;
103extern const ComponentVariable AuthCachePolicy;
104extern const ComponentVariable AuthCacheStorage;
105extern const ComponentVariable AuthCtrlrEnabled;
106extern const ComponentVariable AdditionalInfoItemsPerMessage;
107extern const RequiredComponentVariable AuthorizeRemoteStart;
108extern const RequiredComponentVariable LocalAuthorizeOffline;
109extern const RequiredComponentVariable LocalPreAuthorize;
110extern const ComponentVariable DisableRemoteAuthorization;
111extern const ComponentVariable MasterPassGroupId;
112extern const ComponentVariable OfflineTxForUnknownIdEnabled;
113extern const ComponentVariable AllowNewSessionsPendingFirmwareUpdate;
114extern const RequiredComponentVariable ChargingStationAvailabilityState;
115extern const RequiredComponentVariable ChargingStationAvailable;
116extern const RequiredComponentVariable ChargingStationSupplyPhases;
117extern const RequiredComponentVariable ClockCtrlrDateTime;
118extern const ComponentVariable NextTimeOffsetTransitionDateTime;
119extern const ComponentVariable NtpServerUri;
120extern const ComponentVariable NtpSource;
121extern const ComponentVariable TimeAdjustmentReportingThreshold;
122extern const ComponentVariable TimeOffset;
123extern const ComponentVariable TimeOffsetNextTransition;
124extern const RequiredComponentVariable TimeSource;
125extern const ComponentVariable TimeZone;
126extern const ComponentVariable CustomImplementationEnabled;
127extern const ComponentVariable CustomImplementationCaliforniaPricingEnabled;
128extern const ComponentVariable CustomImplementationMultiLanguageEnabled;
129extern const RequiredComponentVariable BytesPerMessageGetReport;
130extern const RequiredComponentVariable BytesPerMessageGetVariables;
131extern const RequiredComponentVariable BytesPerMessageSetVariables;
132extern const ComponentVariable ConfigurationValueSize;
133extern const RequiredComponentVariable ItemsPerMessageGetReport;
134extern const RequiredComponentVariable ItemsPerMessageGetVariables;
135extern const RequiredComponentVariable ItemsPerMessageSetVariables;
136extern const ComponentVariable ReportingValueSize;
137extern const ComponentVariable DisplayMessageCtrlrAvailable;
138extern const RequiredComponentVariable NumberOfDisplayMessages;
139extern const RequiredComponentVariable DisplayMessageSupportedFormats;
140extern const RequiredComponentVariable DisplayMessageSupportedPriorities;
141extern const ComponentVariable DisplayMessageSupportedStates;
142extern const ComponentVariable DisplayMessageQRCodeDisplayCapable;
143extern const ComponentVariable DisplayMessageLanguage;
144extern const ComponentVariable CentralContractValidationAllowed;
145extern const RequiredComponentVariable ContractValidationOffline;
146extern const ComponentVariable RequestMeteringReceipt;
147extern const ComponentVariable ISO15118CtrlrSeccId;
148extern const ComponentVariable ISO15118CtrlrCountryName;
149extern const ComponentVariable ISO15118CtrlrOrganizationName;
150extern const ComponentVariable PnCEnabled;
151extern const ComponentVariable V2GCertificateInstallationEnabled;
152extern const ComponentVariable ContractCertificateInstallationEnabled;
153extern const ComponentVariable LocalAuthListCtrlrAvailable;
154extern const RequiredComponentVariable BytesPerMessageSendLocalList;
155extern const ComponentVariable LocalAuthListCtrlrEnabled;
156extern const RequiredComponentVariable LocalAuthListCtrlrEntries;
157extern const RequiredComponentVariable ItemsPerMessageSendLocalList;
158extern const ComponentVariable LocalAuthListCtrlrStorage;
159extern const ComponentVariable LocalAuthListDisablePostAuthorize;
160extern const ComponentVariable MonitoringCtrlrAvailable;
161extern const ComponentVariable BytesPerMessageClearVariableMonitoring;
162extern const RequiredComponentVariable BytesPerMessageSetVariableMonitoring;
163extern const ComponentVariable MonitoringCtrlrEnabled;
164extern const ComponentVariable ActiveMonitoringBase;
165extern const ComponentVariable ActiveMonitoringLevel;
166extern const ComponentVariable ItemsPerMessageClearVariableMonitoring;
167extern const RequiredComponentVariable ItemsPerMessageSetVariableMonitoring;
168extern const ComponentVariable OfflineQueuingSeverity;
169extern const ComponentVariable ActiveNetworkProfile;
170extern const RequiredComponentVariable FileTransferProtocols;
171extern const ComponentVariable HeartbeatInterval;
172extern const RequiredComponentVariable MessageTimeout;
173extern const RequiredComponentVariable MessageAttemptInterval;
174extern const RequiredComponentVariable MessageAttempts;
175extern const RequiredComponentVariable NetworkConfigurationPriority;
176extern const RequiredComponentVariable NetworkProfileConnectionAttempts;
177extern const RequiredComponentVariable OfflineThreshold;
178extern const ComponentVariable QueueAllMessages;
179extern const ComponentVariable MessageTypesDiscardForQueueing;
180extern const RequiredComponentVariable ResetRetries;
181extern const RequiredComponentVariable RetryBackOffRandomRange;
182extern const RequiredComponentVariable RetryBackOffRepeatTimes;
183extern const RequiredComponentVariable RetryBackOffWaitMinimum;
184extern const RequiredComponentVariable UnlockOnEVSideDisconnect;
185extern const RequiredComponentVariable WebSocketPingInterval;
186extern const ComponentVariable ReservationCtrlrAvailable;
187extern const ComponentVariable ReservationCtrlrEnabled;
188extern const ComponentVariable ReservationCtrlrNonEvseSpecific;
189extern const ComponentVariable SampledDataCtrlrAvailable;
190extern const ComponentVariable SampledDataCtrlrEnabled;
191extern const ComponentVariable SampledDataSignReadings;
192extern const RequiredComponentVariable SampledDataTxEndedInterval;
193extern const RequiredComponentVariable SampledDataTxEndedMeasurands;
194extern const RequiredComponentVariable SampledDataTxStartedMeasurands;
195extern const RequiredComponentVariable SampledDataTxUpdatedInterval;
196extern const RequiredComponentVariable SampledDataTxUpdatedMeasurands;
197extern const ComponentVariable AdditionalRootCertificateCheck;
198extern const ComponentVariable BasicAuthPassword;
199extern const RequiredComponentVariable CertificateEntries;
200extern const ComponentVariable CertSigningRepeatTimes;
201extern const ComponentVariable CertSigningWaitMinimum;
202extern const RequiredComponentVariable SecurityCtrlrIdentity;
203extern const ComponentVariable MaxCertificateChainSize;
204extern const ComponentVariable UpdateCertificateSymlinks;
205extern const RequiredComponentVariable OrganizationName;
206extern const RequiredComponentVariable SecurityProfile;
207extern const ComponentVariable AllowCSMSRootCertInstallWithUnsecureConnection;
208extern const ComponentVariable AllowMFRootCertInstallWithUnsecureConnection;
209extern const ComponentVariable ACPhaseSwitchingSupported;
210extern const ComponentVariable SmartChargingCtrlrAvailable;
211extern const ComponentVariable SmartChargingCtrlrEnabled;
212extern const RequiredComponentVariable EntriesChargingProfiles;
213extern const ComponentVariable ExternalControlSignalsEnabled;
214extern const RequiredComponentVariable LimitChangeSignificance;
215extern const ComponentVariable NotifyChargingLimitWithSchedules;
216extern const RequiredComponentVariable PeriodsPerSchedule;
217extern const RequiredComponentVariable CompositeScheduleDefaultLimitAmps;
218extern const RequiredComponentVariable CompositeScheduleDefaultLimitWatts;
219extern const RequiredComponentVariable CompositeScheduleDefaultNumberPhases;
220extern const RequiredComponentVariable SupplyVoltage;
221extern const ComponentVariable Phases3to1;
222extern const RequiredComponentVariable ChargingProfileMaxStackLevel;
223extern const RequiredComponentVariable ChargingScheduleChargingRateUnit;
224extern const ComponentVariable IgnoredProfilePurposesOffline;
225extern const ComponentVariable TariffCostCtrlrAvailableTariff;
226extern const ComponentVariable TariffCostCtrlrAvailableCost;
227extern const RequiredComponentVariable TariffCostCtrlrCurrency;
228extern const ComponentVariable TariffCostCtrlrEnabledTariff;
229extern const ComponentVariable TariffCostCtrlrEnabledCost;
230extern const RequiredComponentVariable TariffFallbackMessage;
231extern const RequiredComponentVariable TotalCostFallbackMessage;
232extern const ComponentVariable NumberOfDecimalsForCostValues;
233extern const RequiredComponentVariable EVConnectionTimeOut;
234extern const ComponentVariable MaxEnergyOnInvalidId;
235extern const RequiredComponentVariable StopTxOnEVSideDisconnect;
236extern const RequiredComponentVariable StopTxOnInvalidId;
237extern const ComponentVariable TxBeforeAcceptedEnabled;
238extern const RequiredComponentVariable TxStartPoint;
239extern const RequiredComponentVariable TxStopPoint;
240} // namespace ControllerComponentVariables
241
242namespace EvseComponentVariables {
243extern const Variable Available;
244extern const Variable AvailabilityState;
245extern const Variable SupplyPhases;
246extern const Variable AllowReset;
247extern const Variable Power;
248ComponentVariable get_component_variable(const int32_t evse_id, const Variable& variable);
249} // namespace EvseComponentVariables
250
251namespace ConnectorComponentVariables {
252extern const Variable Available;
253extern const Variable AvailabilityState;
254extern const Variable Type;
255extern const Variable SupplyPhases;
256ComponentVariable get_component_variable(const int32_t evse_id, const int32_t connector_id, const Variable& variable);
257} // namespace ConnectorComponentVariables
258
259} // namespace v2
260} // namespace ocpp
261
262#endif // OCPP_V2_CTRLR_COMPONENT_VARIABLES