Messages implementation overview

List of OCPP 2.0.1 Messages, Data Types and Enumerations which are implemented in this library

how to implement a message

  • Add Request and Response structs to /lib/ocpp_model/v20/messages.ex
  • Add any new DataTypes to /lib/ocpp_model/v20/datatypes.ex
  • Add any new EnumTypes to /lib/ocpp_model/v20/enumtypes.ex
  • Add property generators to the correct /test/generators/* modules and the property tests to test/ocpp_model_messages_test.ex
  • Add a callback and handle clause to either the /lib/ocpp_model/v20/behaviours/charger_behaviour.ex or /lib/ocpp_model/v20/behaviours/chargesystem_behaviour.ex
  • Implement the behaviour in either the test Charger or ChargeSystem and write a test for it in either test/ocpp_charger_test.ex or test/ocpp_chargesystem_test.ex
  • run MIX_ENV=test mix all for any test, coverage or linting issues

Messages

Ch = Chargestation, CS = ChargerSystem, CO = Controller

DirectionMessageImplemented
Ch -> CSAuthorizeyes
Ch -> CSBootNotificationyes
CS -> ChCancelReservationyes
CS -> ChCertificateSignedyes
CS -> ChChangeAvailabilityyes
CS -> ChClearCacheyes
CS -> ChClearChargingProfileyes
CS -> ChClearDisplayMessageyes
Ch -> CSClearedChargingLimityes
CS -> ChClearVariableMonitoringyes
CS -> ChCostUpdatedyes
CS -> ChCustomerInformationyes
Ch <> CSDataTransferyes
CS -> ChDeleteCertificateyes
Ch -> CSFirmwareStatusNotificationyes
Ch -> CSGet15118EVCertificateyes
CS -> ChGetBaseReportyes
Ch -> CSGetCertificateStatusyes
CS -> ChGetChargingProfilesyes
CS -> ChGetCompositeScheduleyes
CS -> ChGetDisplayMessagesyes
CS -> ChGetInstalledCertificateIdsyes
CS -> ChGetLocalListVersionyes
CS -> ChGetLogyes
CS -> ChGetMonitoringReportyes
CS -> ChGetReportyes
CS -> ChGetTransactionStatusyes
CS -> ChGetVariablesyes
Ch -> CSHeartbeatyes
CS -> ChInstallCertificateyes
Ch -> CSLogStatusNotificationno
CS -> ChMeterValuesyes
Ch -> CSNotifyChargingLimitno
Ch -> CSNotifyCustomerInformationno
Ch -> CSNotifyDisplayMessagesno
Ch -> CSNotifyEVChargingNeedsno
Ch -> CSNotifyEVChargingScheduleno
Ch -> CSNotifyEventno
Ch -> CSNotifyMonitoringReportno
Ch -> CSNotifyReportno
CS -> COPublishFirmwareno
Ch -> CSPublishFirmwareStatusNotificationno
Ch -> CSReportChargingProfilesno
CS -> ChRequestStartTransactionno
CS -> ChRequestStopTransactionno
Ch -> CSReservationStatusUpdateno
CS -> ChReserveNowno
CS -> ChResetyes
Ch -> CSSecurityEventNotificationno
CS -> ChSendLocalListyes
CS -> ChSetChargingProfileyes
CS -> ChSetDisplayMessageno
CS -> ChSetMonitoringBaseno
CS -> ChSetMonitoringLevelno
CS -> ChSetNetworkProfileno
CS -> ChSetVariableMonitoringno
CS -> ChSetVariablesno
Ch -> CSSignCertificateno
Ch -> CSStatusNotificationyes
Ch -> CSTransactionEventyes
CS -> ChTriggerMessageyes
CS -> ChUnlockConnectoryes
CS -> ChUnpublishFirmwareno
CS -> ChUpdateFirmwareno

DataTypes

DataTypeImplemented
ACChargingParametersno
AdditionalInfoyes
APNno
AuthorizationDatayes
CertificateHashDataChainyes
CertificateHashDatayes
ChargingLimitno
ChargingNeedsno
ChargingProfileCriterionyes
ChargingProfileyes
ChargingSchedulePeriodyes
ChargingScheduleno
ChargingStationyes
ClearChargingProfileyes
ClearMonitoringResultyes
Componentyes
ComponentVariableyes
CompositeScheduleyes
ConsumptionCostno
Costno
DCChargingParametersno
EventDatano
EVSEyes
Firmwareno
GetVariableDatayes
GetVariableResultyes
IdTokenInfoyes
IdTokenyes
LogParametersyes
MessageContentyes
MessageInfono
MeterValueyes
Modemyes
MonitoringDatano
NetworkConnectionProfileno
OCSPRequestDatayes
RelativeTimeIntervalno
ReportDatano
SalesTariffEntryno
SalesTariffno
SampledValueyes
SetMonitoringDatano
SetMonitoringResultno
SetVariableDatano
SetVariableResultno
SignedMeterValueyes
StatusInfoyes
Transactionyes
UnitOfMeasureyes
VariableAttributeno
VariableCharacteristicsno
VariableMonitoringno
Variableyes
VPNno

Enumerations

EnumerationsImplemented
APNAuthenticationno
Attributeyes
AuthorizationStatusyes
AuthorizeCertificateStatusyes
BootReasonyes
CancelReservationStatusyes
CertificateActionyes
CertificateSignedStatusyes
CertificateSigningUseyes
ChangeAvailabilityStatusyes
ChargingLimitSourceyes
ChargingProfileKindyes
ChargingProfilePurposeyes
ChargingProfileStatusyes
ChargingRateUnityes
ChargingStateyes
ClearCacheStatusyes
ClearChargingProfileStatusyes
ClearMessageStatusyes
ClearMonitoringStatusyes
ComponentCriterionyes
Connectorno
ConnectorStatusyes
CostKindno
CustomerInformationStatusyes
Datano
DataTransferStatusyes
DeleteCertificateStatusyes
DisplayMessageStatusno
EnergyTransferModeno
EventNotificationno
EventTriggerno
FirmwareStatusyes
GenericDeviceModelStatusyes
GenericStatusyes
GetCertificateIdUseyes
GetCertificateStatusyes
GetChargingProfileStatusyes
GetDisplayMessagesStatusyes
GetInstalledCertificateStatusyes
GetVariableStatusyes
HashAlgorithmyes
IdTokenyes
InstallCertificateStatusyes
InstallCertificateUseyes
Iso15118EVCertificateStatusyes
Locationyes
Logyes
LogStatusyes
Measurandyes
MessageFormatyes
MessagePriorityyes
MessageStateyes
MessageTriggeryes
Monitorno
MonitoringBaseno
MonitoringCriterionyes
Mutabilityno
NotifyEVChargingNeedsStatusno
OCPPInterfaceno
OCPPTransportno
OCPPVersionno
OperationalStatusyes
Phaseyes
PublishFirmwareStatusno
ReadingContextyes
Reasonyes
RecurrencyKindyes
RegistrationStatusyes
ReportBaseyes
RequestStartStopStatusno
ReservationUpdateStatusno
ReserveNowStatusno
Resetyes
ResetStatusyes
SendLocalListStatusyes
SetMonitoringStatusno
SetNetworkProfileStatusno
SetVariableStatusno
TransactionEventyes
TriggerMessageStatusyes
TriggerReasonyes
UnlockStatusyes
UnpublishFirmwareStatusno
Updateyes
UpdateFirmwareStatusno
UploadLogStatusno
VPNno