Zaptec Go 2 OCPP 1.6J(box-level) release notes
December 10th, 2025
These release notes document the differences between the OCPP Native implementation on Zaptec Go2 and the official OCPP 1.6 specification as described by OCA with errata v4.0. Any aspect of the OCPP implementation that diverges from the OCA specification is unintentional and may be corrected in the future. Please inform Zaptec of any such divergencies.
Known issues
- When switching from OCPP Cloud mode to OCPP Native mode, inconsistency can be observed between the total kWh meter value reported by the charger and the sum of all previous OCPP session kWh values. This can occur, for example, if the charger was previously operated on occasion outside the OCPP reporting infrastructure. Where there is a discrepancy, the total kWh meter value reported in OCPP Native mode should be considered accurate, as it is taken directly from the charger's built-in energy meter.
- LockFailure is not implemented.
- A rare issue has been observed where last Sampled.Periodic comes after Transaction.End.
- Main LED color and display symbol may be incorrect after soft reset.
- Meter values configured to be added to StopTransaction.req must also have values in the sampled/clock data.
- StopTransactionOnInvalidId is always effectively true.
OCPP Core profile
- All features and configurations are implemented and adhere to errata v4.0 if not otherwise specified.
- When the number of meter values exceed the amount specified in StopTransactionMaxMeterValues, the charger will remove intermediate messages. It will start by removing the first message that is not sampled as Transaction.Begin, and procede by removing every other message (3th, 5th etc) until the amount of meter values is less than or equal to StopTransactionMaxMeterValues. It will not delete the message that is sampled as Transaction.End.
- When the charger is configured to allow local authorization and the charger has an idTag that is not accepted, it will send an Authorize.req to check if the idTagInfo has been updated. The charger will also do this if there is a possibility that the parentIdTag has been added or changed when comparing tags. This may result in an Authorize.req for both keys being compared. This behaviour is not expected by OCTT and may be removed in future versions.
- The charger may send a new BootNotification.req after attempting reconnect when the CS(MS) sends a websocket close frame. If the charger goes offline without getting a close frame, then it will not send a new BootNotification.req.
- The charger will deny any charging services and stay disabled (indicated by main LED being off and a ) if it has never before been accepted by the CS(MS) with the current connection settings. Connection settings in this context are currently the CS(MS) URL and charger ID. SecurityProfile related configurations are currently not considered connection settings in this context. This may change in a future version.
- The charger will stop ongoing transactions after er reset due to PowerLoss. It will not send the StopTransaction.req before the reset.
OCPP Core profile limitations
- BlinkRepeat is not supported.
- MaxEnergyOnInvalidId is not supported.
- Meter values are always sent as raw.
- Sampled meter value and heartbeat intervals can be set to any number between 0 and 4294967. It has been tested with short intervals and no issue has been observed with 1 second intervals, but this has not been tested with high load or poor network connectivity. Some measurands are sampled at close to 1 second interval and the meter value may therefore be up to approximately 1 second old when sent with OCPP. We do not recommend short meter value intervals.
- Configuration key for StopTransactionOnEVSideDisconnect is set to true and not write protected, but can only be set to true by CS. This is to conform to OCPP specification 1.6 prior to errata v4.0.
- CP clock is synchronized with NTP and not CS.
- CP expects CS to use timestamp in UTC.
- Some optional parameters for BootNotification.req (meterSerialNumber, meterType) are not sent and others (iccid, imsi) may only be sent when LTE has been used prior to bootnotification and after last reset.
- MeterValues are not measured from EV, cable or grid locations.
- Only a few measurands are supported: Current.Import, Current.Offered, Energy.Active.Import.Register, Energy.Active.Import.Interval, Power.Active.Import, Temperature, Voltage.
- CP does not have Emergency stop button.
- StatusNotifications with errors will not be queued when offline.
- Transaction related messages are prioritised if they can be sent, even if they were queued when offline. This may cause other messages to be delayed after a re-connect with many queued transaction related messages.
- ConnectionTimeOut is not precise enough to pass OCTT tests.
- The connector locks to the charger automatically when connected to the car and, by default, unlocks when the connector is removed from the car. We strongly recommend keeping UnlockConnectorOnEVSideDisconnect set to true and relying on this normal unlock behavior.
- UnlockConnector.req performs a force unlock sequence intended only for exceptional cases (e.g a mechanically stuck connector). It uses a stronger and longer motor operation, which will trigger a temporary motor warning/Faulted state and increases mechanical wear. It is strongly recommended not to use this command for normal session termination.
- ConnectorPhaseRotation can be set to any value, but does not affect the behaviour of the charger, it is only informative.
OCPP Firmware Management profile
- All configuration keys are supported.
OCPP Firmware Management profile limitations
- FTP(s) is not supported.
- Diagnostics upload is not enabled by default.
OCPP Local Auth List Management profile
- All required operations and configuration keys are supported.
- Authorization list is set to allow 1024 entries and allow 255 entries in a single SendLocalList operation.
OCPP Reservation profile
- All operations and configuration keys are supported.
OCPP Reservation profile limitations
- If FreeCharging is set to true, then active reservations will be cancelled and new reservations will be rejected until authorization is set to required.
OCPP Smart Charging profile
- All required operations and configuration keys are supported.
OCPP Smart Charging profile limitations
- transactionId is required for TxProfile.
OCPP Remote Trigger profile
- All operations are supported and adhere to errata v4.0.
OCPP security (whitepaper edition 3)
- All configuration keys are supported.
OCPP security (whitepaper edition 3) limitations
- SecurityProfile 0 and 1 may connect to wss:// but will not check the CS(MS) identity via the certificate. It will only use the protocol and send basic auth.
- SignedFirmwareStatusNotification is not supported.
- SignedUpdateFirmware is not supported.
- Not all security events are recorded.
OCPP & UK Electric Vehicles (Smart Charge Points) Regulations 2021
- Added RandomisedDelay configuration keys.
- Added default TxDefaultProfile for stack level 1 and 2, according to the whitepaper, for chargers that have a non-OCPP schedule installed when OCPP Native is enabled. The non-OCPP schedule could have been installed on chargers via the Zaptec app. It is installed when the user or installer select "United kingdom" as the location of the charger without disabling "Set up schedule".
Zaptec OCPP Native extentions
- Configuration key FreeChargingIdTag allows setting a default idTag that will be sent if no other idTag is known.
- Configuration key FreeCharging allows charging to start automatically without presenting an idTag or RemoteStartTransaction.req.
- Configuration key LockCablePermanently allows the charger to present as if the cable is permanently attached.
- Configuration key PowerActiveImportDeltaForEagerMeterValueSample allows the charger to sample and report the next Sample.Periodic early if the difference in Power.Active.Import exceed the configured value. The configured value is represented in Watts.
- Configuration key UseAuthorizationKeyWithoutDecoding is by default set to false. When false, the charger will attempt to decode the hex-encoded AuthorizationKey before setting the configuration or using it as the password in the http basic auth header. It will also reject any AuthorizationKey that has an invalid hex-encoding or contains CTL characters or ':' when decoded (see RFC 7617 and appendix of RFC 5234). When set to true, it will use the possibly hex-encoded AuthorizationKey directly as the basic auth header password. It will attempt the same validation as when set to false, but will perform the validation without attempting decoding and require a longer key. This configuration key can be used for backwards compatibility with earlier OCPP versions of Zaptec Go.
- Configuration keys specified outside of OCPP 1.6 such as MeterValuesSignatureContexts, StopTransactionSignatureContexts and StopTransactionSignatureFormat mentioned in OCMF are not supported.
Zaptec power management
- Zaptec power management is not supported.
Zaptec app
- Older versions of the Zaptec app may display a warning that the charging station is in Standalone mode when OCPP native mode is enabled. This warning can be safely ignored.
- In newer versions of the Zaptec app, charging stations in OCPP native mode will not appear in the Zaptec app dashboard.
