Charge Station Configuration
Charge Stations can have default configuration that outlines their key functionality and setup. Many issues can arise from wrong configuration.
OCPP defines a Core list of CoreProfiles that are common for all Charge Stations. However Manufacturers could have hundreds of additional configuration items.
As GreenFlux we can outline some of the key common concepts, but in many instances it is better to check the manual of the manufacturer for additional information
Viewing Configuration
In the Charge Station page, the Configuration tab can be opened.

Core OCPP Profiles
Key | Type | Description (OCPP) | GreenFlux recommended values |
AllowOfflineTxForUnknownId | Boolean | If this key exists, the Charge Point supports Unknown Offline Authorization.If this key reports a value of true, Unknown Offline Authorization is enabled. | |
AuthorizationCacheEnabled | Boolean | If this key exists, the Charge Point supports an Authorization Cache. If this key reports a value of true, the Authorization Cache is enabled. | |
AuthorizeRemoteTxRequests | Boolean | Whether a remote request to start a transaction in the form of a RemoteStartTransaction.req message should be authorized beforehand like a local action to start a transaction. | |
BlinkRepeat | int | Number of times to blink Charge Point lighting when signalling | |
ClockAlignedDataInterval | int (seconds) | Size (in seconds) of the clock-aligned data interval. This is the size (in seconds) of the set of evenly spaced aggregation intervals per day, starting at 00:00:00 (midnight). For example, a value of 900 (15 minutes) indicates that every day should be broken into 96 15-minute intervals.When clock aligned data is being transmitted, the interval in question is identified by the start time and (optional) duration interval value, represented according to the ISO8601 standard. All "per-period" data (e.g. energy readings) should be accumulated (for "flow" type measurands such as energy), or averaged (for other values) across the entire interval (or partial interval, at the beginning or end of a charging session), and transmitted (if so enabled) at the end of each interval, bearing the interval start time timestamp.A value of "0" (numeric zero), by convention, is to be interpreted to mean that no clock-aligned data should be transmitted. | |
ConnectionTimeOut | int (seconds) | Interval (from successful authorization) until incipient charging session is automatically canceled due to failure of EV user to (correctly) insert the charging cable connector(s) into the appropriate connector(s). | |
GetConfigurationMaxKeys | int (seconds) | Maximum number of requested configuration keys in a GetConfiguration.req PDU. | 900 |
HeartbeatInterval | int (seconds) | Interval of inactivity (no OCPP exchanges) with central system after which the Charge Point should send a Heartbeat.req PDU | |
LightIntensity | % | Percentage of maximum intensity at which to illuminate Charge Point lighting | |
LocalAuthorizeOffline | boolean | whether the Charge Point, when offline, will start a transaction for locallyauthorized identifiers. | |
LocalPreAuthorize | boolean | whether the Charge Point, when online, will start a transaction for locallyauthorized identifiers without waiting for or requesting an Authorize.conf from the Central System | |
MaxEnergyOnInvalidId | integer (Wh) | Maximum energy in Wh delivered when an identifier is invalidated by the Central System after start of a transaction. | |
MeterValuesAlignedData | Clock-aligned measurand(s) to be included in a MeterValues.req PDU, every ClockAlignedDataInterval seconds | ||
MeterValuesAlignedDataMaxLength | Read only | Maximum number of items in a MeterValuesAlignedData Configuration Key. | |
MeterValuesSampledData | Sampled measurands to be included in a MeterValues.req PDU, every MeterValueSampleInterval seconds. Where applicable, the Measurand is combined with the optional phase; for instance: Voltage.L1 Default: "Energy.Active.Import.Register" | ||
MeterValuesSampledDataMaxLength | Read only | Maximum number of items in a MeterValuesSampledData Configuration Key | |
MeterValueSampleInterval | int (seconds) | Interval between sampling of metering (or other) data, intended to be transmitted by "MeterValues" PDUs. For charging session data (ConnectorId>0), samples are acquired and transmitted periodically at this interval from the start of the charging transaction. A value of "0" (numeric zero), by convention, is to be interpreted to mean that no sampled data should be transmitted.Additional context; Interval time (s) that the Charge Stations sends sampled data. Sampled data is send related to the start time of the transaction.For instance, a value of 900 indicates that every 15 minutes data will be send during a transaction. | AC: 900 seconds (300 with Smart Charging)DC: 300 seconds (30 with Smart Charging) |
MinimumStatusDuration | int (seconds) | The minimum duration that a Charge Point or Connector status is stable before a StatusNotification.req PDU is sent to the Central System | |
NumberOfConnectors | int | The number of physical charging connectors of this Charge Point. | |
ResetRetries | Number of times to retry an unsuccessful reset of the Charge Point. | ||
ConnectorPhaseRotation | The phase rotation per connector in respect to the connector’s energy meter (or if absent, the grid connection). Possible values per connector are:NotApplicable (for Single phase or DC Charge Points)Unknown (not (yet) known)RST (Standard Reference Phasing)RTS (Reversed Reference Phasing)SRT (Reversed 240 degree rotation)STR (Standard 120 degree rotation)TRS (Standard 240 degree rotation)TSR (Reversed 120 degree rotation)R can be identified as phase 1 (L1), S as phase 2 (L2), T as phase 3 (L3). If known, the Charge Point MAY also report the phase rotation between the grid connection and the main energymeter by using index number Zero (0). Values are reported in CSL, formatted: 0.RST, 1.RST, 2.RTS | ||
ConnectorPhaseRotationMaxLength | Maximum number of items in a ConnectorPhaseRotation Configuration Key | ||
StopTransactionOnEVSideDisconnect | boolean | When set to true, the Charge Point SHALL administratively stop the transaction when the cable is unplugged from the EV. | |
StopTransactionOnInvalidId | boolean | whether the Charge Point will stop an ongoing transaction when it receivesa non- Accepted authorization status in a StartTransaction.conf for thistransaction | |
StopTxnAlignedData | Clock-aligned periodic measurand(s) to be included in the TransactionData element of StopTransaction.req MeterValues.req PDU for every ClockAlignedDataInterval of the charging session | ||
StopTxnAlignedDataMaxLength | ReadOnly | Maximum number of items in a StopTxnAlignedData Configuration Key | |
StopTxnSampledData | Sampled measurands to be included in the TransactionData element of StopTransaction.req PDU, every MeterValueSampleInterval seconds from the start of the charging session | ||
StopTxnSampledDataMaxLength | ReadOnly | Maximum number of items in a StopTxnSampledData Configuration Key. | |
SupportedFeatureProfiles | ReadOnly | A list of supported Feature Profiles. Possible profile identifiers: Core, FirmwareManagement, LocalAuthListManagement, Reservation, SmartCharging and RemoteTrigger. | |
SupportedFeatureProfilesMaxLength | ReadOnly | Maximum number of items in a SupportedFeatureProfiles Configuration Key. | |
TransactionMessageAttempts | int (times) | How often the Charge Point should try to submit a transaction-related message when the Central System fails to process it. | |
TransactionMessageRetryInterval | int (seconds) | How long the Charge Point should wait before resubmitting a transactionrelated message that the Central System failed to process. | |
UnlockConnectorOnEVSideDisconnect | boolean | When set to true, the Charge Point SHALL unlock the cable on Charge Pointside when the cable is unplugged at the EV. | |
WebSocketPingInterval | int (seconds) | Only relevant for websocket implementations. 0 disables client side websocket Ping/Pong. In this case there is either no ping/pong or the server initiates the ping and client responds with Pong. Positive values are interpreted as number of seconds between pings. Negative values are not allowed. ChangeConfiguration is expected to return a REJECTED result. |
Other Key Values
Below values are very common across manufacturers with important or useful implications. The exact naming might vary.
Value | Description | ||
Authorization or Connection Timeout | Maximum time (s) between presenting an authorized NFC card and connecting an EV before the authorization expires | ||
Offline behavior
When a Charge Station is offline, it can't check the validity of a token against the backend. However, CPOs can decide whether they still want to allow Local Authorization or basically accept any Token.
It can still happen that the Token was not valid to charge at the Charge Station and CPOs can't retrieve the money since no agreements exist. This has to be weighed against the impact that e.g. a mass datacom outage could otherwise have.
- AllowOfflineTxForUnknownId
- LocalAuthorizeOffline
GreenFlux recommendation: Set both to True / 1
Meter Values
There are a number of core settings as wells further specifications per model / manufacturer to set the MeterValues.
How often is a MeterValue sent:
- MeterValueSampleInterval
- ClockAlignedDataInterval
What data is included:
- MeterValuesSampledData
- MeterValuesAlignedData (For ClockAligned MeterValues)
- StopTxnSampledData
- StopTxnAlignedData (For ClockAligned MeterValues)
Authorization
Charge Station can have a Local Authorization Cache, meaning that any Tokens that were previously successfully authorized are stored. This can be used in case of offline behaviour or to speed up the authorization process (LocalPreAuthorize)
AuthorizationCacheEnabled enables to have a local cache.
Recommended values for important Config
Below are the recommended values for important configuration items:
- ConnectionTimeout: 60
- HeartBeatInterval: 900
- GreenFlux platform automatically (re)sets HeartBeatInterval to 900 on Boot Notification
- WebsocketPingInterval: 180 or lower - Mandatory
- Please note that a very high frequency will cause high data consumption; therefore it is recommended to set the WebSocketPingInterval not lower than 60 and not higher than 180
- Note: . This can lead to your charger being blacklisted to protect our servers.
Configuring this to 0 disables this configuration which leads to constant reconnections
- MeterValueSampledData:
- This setting is very important for proper generation of CDR data and for proper operation of Smart Charging
Energy.Active.Import.Register,Current.Import,Current.Offered,Power.Active.Import,Power.Offered
- MeterValueSampleInterval: 300
- A must for Smart Charging (Check in table above for detais on recommended value for AC vs DC)
- AllowOfflineTxForUnkownId: True
- This allows unauthorized RFIDs to start charging when the charger is offline. Chargers can regularly go offline for a short time. This is obviously prone to fraud but most CPOs will take this (small) financial risk to ensure the highest uptime oftheir chargers for their end users.
These values need to be configured with the above mentioned values to ensure a stable connection. For further information on connecting your chargers to our platform please visit this link:
Additional Non-Standard Configurations
Below are a few configuration keys that are not standard according to OCPP but you can find them in most chargers.
- Free Charging Mode: Most chargers have a factory set free vend token that they use to enable free charging or something similar to 'plug&charge'. Because the value is not a standard OCPP Configuration Key each vendor will have it named differently. The CPO must change this token during commissioning to a valid token that is registered in GreenFlux if they plan to use free vend mode in their operations. Otherwise the respective chargers will generate Flagged CDRs, or free vend mode will not even be working.
- Payment Terminal Token: Charge stations with a hardware-to-hardware integrated payment terminal often have a factory set (or blank) ad-hoc payment token (aka 'EMV' token).Because the value is not a standard OCPP Configuration Key each vendor will have it named differently.The CPO must change this token during commissioning to a valid token that is registered in GreenFlux if they plan to use hardware-to-hardware integrated payment terminals in their operations. Otherwise the respective chargers will generate Flagged CDRs, or payment terminal will not even be working.
- Local load balancing: Should be disabled in most cases, because GreenFlux Smart Charging is usually a much stronger and more valuable solution.
- Local RFID whitelists: strongly recommended to not use these (because it makes the installed base whitelisting very difficult to manage), and instead use GreenFlux's cloud based and entralised Exception Groups and/or Authorisations to achieve the same business goals.
Updating Config
Updating Config can only be done one setting at a time to avoid issues.
Some config updates require a Hard Reset of the Charge Station in order for it to come into effect.
Manufacturers can update firmware resulting in some configuration items to no longer be valid. Until July 2022, GreenFlux would still store old (deprecated) configuration items. Since August 2022, a full config update will only load the currently valid configuration,
