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/enumerations.ex - Add property tests to
test/ocpp_model_messages.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, * implemented next
| Direction | Message | Implemented | Next |
|---|
| Ch -> CS | Authorize | yes | |
| Ch -> CS | BootNotification | yes | |
| CS -> Ch | CancelReservation | yes | |
| CS -> Ch | CertificateSigned | yes | |
| CS -> Ch | ChangeAvailability | yes | |
| CS -> Ch | ClearCache | yes | |
| CS -> Ch | ClearChargingProfile | yes | |
| CS -> Ch | ClearDisplayMessage | yes | |
| Ch -> CS | ClearedChargingLimit | yes | |
| CS -> Ch | ClearVariableMonitoring | yes | |
| CS -> Ch | CostUpdated | yes | |
| CS -> Ch | CustomerInformation | yes | |
| Ch <> CS | DataTransfer | yes | |
| CS -> Ch | DeleteCertificate | yes | |
| Ch -> CS | FirmwareStatusNotification | yes | |
| Ch -> CS | Get15118EVCertificate | yes | |
| CS -> Ch | GetBaseReport | no | |
| Ch -> CS | GetCertificateStatus | no | |
| CS -> Ch | GetChargingProfiles | yes | |
| CS -> Ch | GetCompositeSchedule | no | |
| CS -> Ch | GetDisplayMessages | no | |
| CS -> Ch | GetInstalledCertificateIds | no | |
| CS -> Ch | GetLocalListVersion | yes | |
| CS -> Ch | GetLog | no | |
| CS -> Ch | GetMonitoringReport | no | |
| CS -> Ch | GetReport | no | |
| CS -> Ch | GetTransactionStatus | yes | |
| CS -> Ch | GetVariables | no | |
| Ch -> CS | Heartbeat | yes | |
| CS -> Ch | InstallCertificate | no | |
| Ch -> CS | LogStatusNotification | no | |
| CS -> Ch | MeterValues | yes | |
| Ch -> CS | NotifyChargingLimit | no | |
| Ch -> CS | NotifyCustomerInformation | no | |
| Ch -> CS | NotifyDisplayMessages | no | |
| Ch -> CS | NotifyEVChargingNeeds | no | |
| Ch -> CS | NotifyEVChargingSchedule | no | |
| Ch -> CS | NotifyEvent | no | |
| Ch -> CS | NotifyMonitoringReport | no | |
| Ch -> CS | NotifyReport | no | |
| CS -> CO | PublishFirmware | no | |
| Ch -> CS | PublishFirmwareStatusNotification | no | |
| Ch -> CS | ReportChargingProfiles | no | |
| CS -> Ch | RequestStartTransaction | no | |
| CS -> Ch | RequestStopTransaction | no | |
| Ch -> CS | ReservationStatusUpdate | no | |
| CS -> Ch | ReserveNow | no | |
| CS -> Ch | Reset | yes | |
| Ch -> CS | SecurityEventNotification | no | |
| CS -> Ch | SendLocalList | yes | |
| CS -> Ch | SetChargingProfile | yes | |
| CS -> Ch | SetDisplayMessage | no | |
| CS -> Ch | SetMonitoringBase | no | |
| CS -> Ch | SetMonitoringLevel | no | |
| CS -> Ch | SetNetworkProfile | no | |
| CS -> Ch | SetVariableMonitoring | no | |
| CS -> Ch | SetVariables | no | |
| Ch -> CS | SignCertificate | no | |
| Ch -> CS | StatusNotification | yes | |
| Ch -> CS | TransactionEvent | yes | |
| CS -> Ch | TriggerMessage | yes | |
| CS -> Ch | UnlockConnector | yes | |
| CS -> Ch | UnpublishFirmware | no | |
| CS -> Ch | UpdateFirmware | no | |
DataTypes
| DataType | Implemented |
|---|
| ACChargingParameters | no |
| AdditionalInfo | yes |
| APN | no |
| AuthorizationData | yes |
| CertificateHashDataChain | no |
| CertificateHashData | yes |
| ChargingLimit | no |
| ChargingNeeds | no |
| ChargingProfileCriterion | yes |
| ChargingProfile | yes |
| ChargingSchedulePeriod | no |
| ChargingSchedule | no |
| ChargingStation | yes |
| ClearChargingProfile | yes |
| ClearMonitoringResult | yes |
| Component | no |
| ComponentVariable | no |
| CompositeSchedule | no |
| ConsumptionCost | no |
| Cost | no |
| DCChargingParameters | no |
| EventData | no |
| EVSE | yes |
| Firmware | no |
| GetVariableData | no |
| GetVariableResult | no |
| IdTokenInfo | yes |
| IdToken | yes |
| LogParameters | no |
| MessageContent | yes |
| MessageInfo | no |
| MeterValue | yes |
| Modem | yes |
| MonitoringData | no |
| NetworkConnectionProfile | no |
| OCSPRequestData | yes |
| RelativeTimeInterval | no |
| ReportData | no |
| SalesTariffEntry | no |
| SalesTariff | no |
| SampledValue | yes |
| SetMonitoringData | no |
| SetMonitoringResult | no |
| SetVariableData | no |
| SetVariableResult | no |
| SignedMeterValue | yes |
| StatusInfo | yes |
| Transaction | yes |
| UnitOfMeasure | yes |
| VariableAttribute | no |
| VariableCharacteristics | no |
| VariableMonitoring | no |
| Variable | no |
| VPN | no |
Enumerations
| Enumerations | Implemented |
|---|
| APNAuthentication | no |
| Attribute | no |
| AuthorizationStatus | yes |
| AuthorizeCertificateStatus | yes |
| BootReason | yes |
| CancelReservationStatus | yes |
| CertificateAction | yes |
| CertificateSignedStatus | yes |
| CertificateSigningUse | yes |
| ChangeAvailabilityStatus | yes |
| ChargingLimitSource | yes |
| ChargingProfileKind | yes |
| ChargingProfilePurpose | yes |
| ChargingProfileStatus | yes |
| ChargingRateUnit | no |
| ChargingState | yes |
| ClearCacheStatus | yes |
| ClearChargingProfileStatus | yes |
| ClearMessageStatus | yes |
| ClearMonitoringStatus | yes |
| ComponentCriterion | no |
| Connector | no |
| ConnectorStatus | yes |
| CostKind | no |
| CustomerInformationStatus | yes |
| Data | no |
| DataTransferStatus | yes |
| DeleteCertificateStatus | yes |
| DisplayMessageStatus | no |
| EnergyTransferMode | no |
| EventNotification | no |
| EventTrigger | no |
| FirmwareStatus | yes |
| GenericDeviceModelStatus | no |
| GenericStatus | no |
| GetCertificateIdUse | no |
| GetCertificateStatus | no |
| GetChargingProfileStatus | yes |
| GetDisplayMessagesStatus | no |
| GetInstalledCertificateStatus | no |
| GetVariableStatus | no |
| HashAlgorithm | yes |
| IdToken | yes |
| InstallCertificateStatus | no |
| InstallCertificateUse | no |
| Iso15118EVCertificateStatus | yes |
| Location | yes |
| Log | no |
| LogStatus | no |
| Measurand | yes |
| MessageFormat | yes |
| MessagePriority | no |
| MessageState | no |
| MessageTrigger | yes |
| Monitor | no |
| MonitoringBase | no |
| MonitoringCriterion | no |
| Mutability | no |
| NotifyEVChargingNeedsStatus | no |
| OCPPInterface | no |
| OCPPTransport | no |
| OCPPVersion | no |
| OperationalStatus | yes |
| Phase | yes |
| PublishFirmwareStatus | no |
| ReadingContext | yes |
| Reason | yes |
| RecurrencyKind | yes |
| RegistrationStatus | yes |
| ReportBase | no |
| RequestStartStopStatus | no |
| ReservationUpdateStatus | no |
| ReserveNowStatus | no |
| Reset | yes |
| ResetStatus | yes |
| SendLocalListStatus | yes |
| SetMonitoringStatus | no |
| SetNetworkProfileStatus | no |
| SetVariableStatus | no |
| TransactionEvent | yes |
| TriggerMessageStatus | yes |
| TriggerReason | yes |
| UnlockStatus | yes |
| UnpublishFirmwareStatus | no |
| Update | yes |
| UpdateFirmwareStatus | no |
| UploadLogStatus | no |
| VPN | no |