Modbus TCP API
This section is no longer accurate and possibly out of date.
This document provides a complete overview of the Modbus Slave features of the Charge Controller.
Dashboard parameters reference for Operators
Parameter name | Description |
---|---|
Modbus TCP Server | Allows to turn the Charge Controller into a Modbus TCP Server. This allows reading and writing parameters using the Modbus protocol. See the documentation for detailed register information. |
Modbus TCP Server Base Port | Port number on which the Modbus TCP Server waits for incoming connections on connector 1. In case a second connector is supported, the configured 'port + 1' will be used for that connector. |
Modbus TCP Server Register Address Set | Choose the set of register addresses that the Modbus TCP Server device will expose to its client. |
Modbus TCP Server Allow Start/Stop Transaction | Allows transactions to be started/stopped from a Modbus Master device via the controller's Modbus TCP Server interface. |
Modbus TCP Server Allow UID Disclose | Allows sending the UID over the Ebee Modbus TCP Server protocol |
Modbus Unit ID
The Modbus TCP Server on the charge controller will reply to messages with any Unit ID from 1 to 255.
OCPP multiple connector scenarios
On an OCPP setup with 2 connectors, both controllers are accessible by connecting through the one acting as a master controller. In this case it is necessary to establish a separate connection to each charge controller.
The second connector's controller is accessible on the port
corresponding to Modbus TCP Server Base Port
+ 1.
Assuming that the Modbus TCP Server Base Port
is configured on the
default port 502, the first connector can be accessed by
connecting a Modbus Client
to port 502, and the second connector
can be accessed by connecting a separate Modbus Client to the first
connector charge controller's port 503.
Word and byte ordering
With the notable exception of the values in the register destined to error codes (those with names prefixed with ERRORCODES ) which are explained separately in their corresponding section, all other registers are to be read and written with the high byte first and the low byte after. For double registers (32-bit) the order of the words is the high word first and the low word after.
As an example, if registers 200-201 are read and contain a value of 0x0001 for register 200 and a value of 0x1F40 for register 201, these values are to be read as 0x00011F40, that is a decimal value of 73536.
Lowering charging current
To lower the charging currant the HEMS shall write to the Register HEMS_CURRENT_LIMIT as described in the HEMS configuration options section.
Please note the actual signaled current as indicated by the register named SIGNALED_CURRENT can be lower than the HEMS_CURRENT_LIMIT since other limitations (such as charging cable, or dynamic load management limits) could apply.
Supported function codes
All registers described in this document are HOLDING registers. Therefore, the only supported function codes are:
- 0x03 -- Read single register
- 0x06 -- Write single register
- 0x10 -- Write multiple registers.
Bulk read of registers
It is possible to read a range of registers at a time (bulk read) starting at a specified register and within the boundaries of the register section.
If there are gaps with undefined register numbers in this range, value '0' will be returned.
if | then |
---|---|
the requested range ends in the middle of a 32-bit register | the last register will be discarded and no value returned. Increase the range by 1 |
General system information
The register in the first table that follows contain general information about the system, about its status, error states, FW and protocol versions and other system and configuration information.
The Charge Point Status as defined in OCPP 1.5 and 1.6 is available in the OCPP_CP_STATUS
register.
Note that there's some difference between the two versions, so for example the value 1, which is used for "Occupied", is only valid for OCPP 1.5 and instead in 1.6 a more detailed value is available.
For the descriptions of each of the charge point status values, please refer to the OCPP specification that corresponds to the version in use.
For details on how to read and interpret the registers designated for error handling please refer to the section Error states mask mappings.
Register Addr. | Bit field | Size | Type | Name | Description |
---|---|---|---|---|---|
100-101 | 31:0 | 32-Bit | READ | FIRMWARE_VERSION | Ebee Application version number (example: 0.91 = {0x30, 0x2E, 0x39, 0x31) 4.40 = {0x34, 0x2E, 0x34, 0x34}). |
104 | 15:0 | 16-Bit | READ | OCPP_CP_STATUS | 0 = Available 1 = Occupied 2 = Reserved 3 = Unavailable 4 = Faulted 5 = Preparing 6 = Charging 7 = SuspendedEVSE 8 = SuspendedEV 9 = Finishing |
105-106 | 31:0 | 32-Bit | READ | ERROR_CODES_1 | See Error states mask mappings section for mask bit values. |
107-108 | 63:32 | 32-Bit | READ | ERROR_CODES_2 | |
109-110 | 95:64 | 32-Bit | READ | ERROR_CODES_3 | |
111-112 | 127:96 | 32-Bit | READ | ERROR_CODES_4 | |
120-121 | 31:0 | 32-Bit | READ | PROTOCOL_VERSION | Ebee Modbus Slave Protocol Version number (example: 0.6 = {0x30, 0x2E, 0x36}). This corresponds to the Doc. Revision at the top of this document. |
122 | 15:0 | 16-Bit | READ | VEHICLE_STATE | Control Pilot vehicle state in decimal format: A = 1, B = 2, C = 3, D = 4, E = 5 |
124 | 15:0 | 16-Bit | READ & WRITE | CP_AVAILABILITY | Read or set the Charge Point availability. 0 = Operative. 1 = Inoperative. |
131 | 15:0 | 16-Bit | READ & WRITE | SAFE_CURRENT | Max. charge current under communication failure with the Modbus Master. |
168-169 | 31:0 | 32-Bit | READ | MANU_SERIAL_1 | Identifies the serial number as set by the Manufacturer. This is a non-null terminated ASCII string of maximum 25 characters. If the string is fewer than 25 characters, it is padded on the left (the lowermost registers) with blank-space ASCII characters. |
170-171 | 63:32 | 32-Bit | READ | MANU_SERIAL_2 | |
172-173 | 95:64 | 32-Bit | READ | MANU_SERIAL_3 | |
174-175 | 127:96 | 32-Bit | READ | MANU_SERIAL_4 | |
176-177 | 159:128 | 32-Bit | READ | MANU_SERIAL_5 | |
178-179 | 191:160 | 32-Bit | READ | MANU_SERIAL_6 | |
180 | 207:192 | 16-Bit | READ | MANU_SERIAL_7 |
Meter values from OCPP primary meter
Meter values are unsigned and sent in 32-bit words.
When not available, registers contain a 0xffffffff value to indicate that no meter value for the requested register is present.
if | because | then |
---|---|---|
line-specific power and energy are not available | installation is single-phased | only Total Power and Total Energy is available |
meter doesn't support readings |
For maintaining backwards compatibility with previous systems, where the METER_TOTAL_ENERG and METER_TOTAL_POW registers were not present, the Total Power and Total Energy values can also be read from the Power and Energy registers corresponding to L1. In that case, the Power and Energy registers for L2 and L3 will return 0xffffffff.
Register Addr. | Bit field | Size | Type | Name | Description |
---|---|---|---|---|---|
200-201 | 31:0 | 32-Bit | READ | METER_ENERG_L1 | Energy in Wh (phase 1) from primary meter |
202-203 | 31:0 | 32-Bit | READ | METER_ENERG_L2 | Energy in Wh (phase 2) from primary meter |
204-205 | 31:0 | 32-Bit | READ | METER_ENERG_L3 | Energy in Wh (phase 3) from primary meter |
206-207 | 31:0 | 32-Bit | READ | METER_POW_L1 | Power in W (phase 1) from primary meter |
208-209 | 31:0 | 32-Bit | READ | METER_POW_L2 | Power in W (phase 2) from primary meter |
210-211 | 31:0 | 32-Bit | READ | METER_POW_L3 | Power in W (phase 3) from primary meter |
212-213 | 31:0 | 32-Bit | READ | METER_CUR_L1 | Current in mA (phase 1) from primary meter |
214-215 | 31:0 | 32-Bit | READ | METER_CUR_L2 | Current in mA (phase 2) from primary meter |
216-217 | 31:0 | 32-Bit | READ | METER_CUR_L3 | Current in mA (phase 3) from primary meter |
218-219 | 31:0 | 32-Bit | READ | METER_TOTAL_ENERG | Total Energy in Wh from primary meter |
220-221 | 31:0 | 32-Bit | READ | METER_TOTAL_POW | Total Power in W from primary meter |
222-223 | 31:0 | 32-Bit | READ | METER_VOL_L1 | Voltage in V (phase 1) from primary meter |
224-225 | 31:0 | 32-Bit | READ | METER_VOL_L2 | Voltage in V (phase 2) from primary meter |
226-227 | 31:0 | 32-Bit | READ | METER_VOL_L3 | Voltage in V (phase 3) from primary meter |
Dynamic Load Management (DLM)
This is information mostly concerning the DLM Master. Everything except for register 600 will be available only for devices with a DLM Master role set (meaning a value of 1 or 2 is returned on this register). | -->
Register Addr. | Bit field | Size | Type | Name | Description |
---|---|---|---|---|---|
600 | 15:0 | 16-Bit | READ | DLM_MODE | Indicates the DLM mode configured for this device. The following values represent each mode: 0 = Disabled 1 = DLM Master (With internal DLM-Slave) 2 = DLM Master (Standalone) 3 = DLM Slave (Master-Auto-Discovery) 4 = DLM Slave (Master-Fixed-IP) |
610 | 15:0 | 16-Bit | READ | DLM_EVSE_SUB_DISTRIBUTION_LIMIT_L1 | Overall current limit for DLM available for distribution to Evs. These three registers are for L1, L2, and L3 respectively and the values are in Amps. |
611 | 15:0 | 16-Bit | READ | DLM_EVSE_SUB_DISTRIBUTION_LIMIT_L2 | |
612 | 15:0 | 16-Bit | READ | DLM_EVSE_SUB_DISTRIBUTION_LIMIT_L3 | |
613 | 15:0 | 16-Bit | READ & WRITE | DLM_OPERATOR_EVSE_SUB_DISTRIBUTION_LIMIT_L1 | Operator current limit for DLM available for distribution to EVs. The 'Operator EVSE Sub-Distribution Limit' is equal or smaller than the 'EVSE Sub-Distribution Limit'. These three registers are for L1, L2, and L3 respectively and the values are in Amps. |
614 | 15:0 | 16-Bit | READ & WRITE | DLM_OPERATOR_EVSE_SUB_DISTRIBUTION_LIMIT_L2 | |
615 | 15:0 | 16-Bit | READ & WRITE | DLM_OPERATOR_EVSE_SUB_DISTRIBUTION_LIMIT_L3 | |
620 | 15:0 | 16-Bit | READ | DLM_EXTERNAL_METER_SUPPORT | If enabled, an external, secondary meter allows to also consider the power consumption of additional load. The power available for charging EVs will be adjusted accordingly. Please make sure, 'Meter configuration (Second)' is configured, preferrably to a 3-phase, phase aware meter. Value of this register is 1 when enabled, 0 when disabled. |
621 | 15:0 | 16-Bit | READ | DLM_NUM_SLAVES_CONNECTED | The number of DLM Slaves connected to this Master device. |
630 | 15:0 | 16-Bit | READ | DLM_OVERALL_CURRENT_APPLIED_L1 | Overall Current the DLM Master is currently applying (sum of current distributed among the slaves). These three registers are for L1, L2, and L3 respectively and the values are in Amps. |
631 | 15:0 | 16-Bit | READ | DLM_OVERALL_CURRENT_APPLIED_L2 | |
632 | 15:0 | 16-Bit | READ | DLM_OVERALL_CURRENT_APPLIED_L3 | |
633 | 15:0 | 16-Bit | READ | DLM_OVERALL_CURRENT_AVAILABLE_L1 | Overall Current the DLM Master has available to distribute among the slaves. These three registers are for L1, L2, and L3 respectively and the values are in Amps. |
634 | 15:0 | 16-Bit | READ | DLM_OVERALL_CURRENT_AVAILABLE_L2 | |
635 | 15:0 | 16-Bit | READ | DLM_OVERALL_CURRENT_AVAILABLE_L3 |
Charge process information
Charge process information is information collected during, or inferred from, the charging process.
Registers
- 705
- 709
are deprecated and only to be used for clients that implement until version 10 of this protocol.
When using version | Use |
---|---|
< version 10 of this protocol | 705 and 609 |
>= version 11 of this protocol | instead of 705 → 716-717 instead of 705 → 709 |
The older registers can still be read in newer versions for backwards compatibility, but it is discouraged to do so in newer implementations.
Once the values in those registers reach their maximum, they will stay at the maximum value until the next session is started or until the charging process is finished according to each case.
Register Addr. | Bit field | Size | Type | Name | Description |
---|---|---|---|---|---|
701-702 | 31:0 | 32-Bit | READ | SCHED_DEP_TIME_15118 | Scheduled departure time (format is hhmmss in big-endian packed BCD with left zero padding) – 15118 only |
703-704 | 31:0 | 32-Bit | READ | SCHED_DEP_DATE_15118 | Scheduled departure time (format is ddmmyy in big-endian packed BCD with left zero padding) – 15118 only |
705 | 15:0 | 16-Bit | READ | DEPRECATED CHARGED_ENERGY | (Please see the note above this table.) |
706 | 15:0 | 16-Bit | READ | SIGNALED_CURRENT | The maximum current that’s being signaled to the EV for charging |
707-708 | 31:0 | 32-Bit | READ | START_TIME | Format is the same as in SCHED_DEP_TIME_15118 |
709 | 15:0 | 16-Bit | READ | DEPRECATED CHARGE_DURATION | (Please see the note above this table.) |
710-711 | 31:0 | 32-Bit | READ | END_TIME | Format is the same as in SCHED_DEP_TIME_15118 |
712 | 15:0 | 16-Bit | READ | MINIMUM_CUR_LIMIT | Minimum current limit for charging. |
713-714 | 31:0 | 32-Bit | READ | REQ_ENERGY_15118 | EV Required Energy – 15118 only |
715 | 15:0 | 16-Bit | READ | MAX_CUR_EV | This is the maximum current with which the EV can charge. It may come from the cable's PR value in analog vehicles, or from the maximum reported by the vehicle via 15118, whichever is lower. |
716-717 | 31:0 | 32-Bit | READ | CHARGED_ENERGY | Sum of charged energy for the current session (Wh). The amount of charged energy will stay at its maximum until the next session is started |
718-719 | 31:0 | 32-Bit | READ | CHARGE_DURATION | Duration of the charging process in seconds |
720-721 | 31:0 | 32-Bit | READ | READ_IDTAG_1 | OCPP IdTag. This is a non-null terminated string with a max. length of 20 bytes, represented here in five 32-bit registers (or ten consecutive 16-bit regs.). The string is padded with blank-space characters on the left, or completely filled with blank-space characters when no IdTag is present. When a charging session is not in progress or the IdTag is not available these registers contain all ASCII-whitespaces. |
722-723 | 31:0 | 32-Bit | READ | READ_IDTAG_2 | |
724-725 | 31:0 | 32-Bit | READ | READ_IDTAG_3 | |
726-727 | 31:0 | 32-Bit | READ | READ_IDTAG_4 | |
728-729 | 31:0 | 32-Bit | READ | READ_IDTAG_5 | |
730 | 15:0 | 16-Bit | READ | EV_RESS_SOC | State of charge of the EV’s battery (Rechargeable Energy Storage System) – 15118 only. |
740 | 15:0 | 16-Bit | READ | SMART_EV_DETECTED_15118 | Returns 1 if an EV currently connected is a smart vehicle, or 0 if no EV connected or it is not a smart vehicle. |
741-742 | 31:0 | 32-Bit | READ | EVCCID_15118_1 | ASCII representation of the Hex. Values corresponding to the EVCCID. The EVCCID value is 6 bytes, so the ASCII Hex. representation of it has a length of exactly 12 bytes. This is a non-null terminated string. Values are all zero when no vehicle is connected, or when the vehicle is not a 15118-capable smart vehicle. |
743-744 | 31:0 | 32-Bit | READ | EVCCID_15118_2 | |
745-746 | 31:0 | 32-Bit | READ | EVCCID_15118_3 | |
747 | 31:0 | 32-Bit | READ | REM_TIME_TO_FULL_SOC | Returns the remaining time in seconds to full SoC – 15118 only. |
749 | 15:0 | 16-Bit | READ | IS_IN_CHARGING_LOOP_15118 | Returns 1 if the EV/EVSE are on a charging loop, 0 otherwise. |
750-751 | 31:0 | 32-Bit | READ | DC_POWER_DELIVERY | Returns the DC power currently delivered in Watts. |
752 | 15:0 | 16-Bit | READ | AUTH_SOURCE | Source of authorization. Possible values: 0 = NONE 1 = RFID 2 = INPUT_SWITCH 3 = REMOTE 4 = 15118 5 = AUTOCHARGE 6 = FREECHARGING 7 = POWER_LOSS |
HEMS configuration options
Register Addr. | Bit field | Size | Type | Name | Description |
---|---|---|---|---|---|
1000 | 15:0 | 16-bit | READ & WRITE | HEMS_CURRENT_LIMIT | Current limit of the HEMS module in Amps. This register is intended to be modified by an Energy Manager. If the charge session shall be paused, the register needs to be set to "0" |
Authorization with IDTag
Please note that for these registers to be enabled, the corresponding
option must be set in the controller HEMS/Modbus setting named Modbus
Slave Allow Start/Stop Transaction
.
When writing to these registers, the effect will be exactly the same as if one physically presented an RFID card in fron of the card reader. That means it will start/stop the transaction accordingly based on each scenario's workflow.
Note that the registers in this table are WRITE only. To READ the IDTAG
currently in use please refer to the registers prefixed with
READ_ID_TAG_
on their name.
Register Addr. | Bit field | Size | Type | Name | Description |
---|---|---|---|---|---|
1110-1111 | 31:0 | 32-Bit | WRITE | WRITE_IDTAG_1 | Same format as registers 720-729. If the IdTag string is fewer than 20 characters, it must be padded on the left (the lowermost registers) with blank-space ASCII characters. |
1112-1113 | 31:0 | 32-Bit | WRITE | WRITE_IDTAG_2 | |
1114-1115 | 31:0 | 32-Bit | WRITE | WRITE_IDTAG_3 | |
1116-1117 | 31:0 | 32-Bit | WRITE | WRITE_IDTAG_4 | |
1118-1119 | 31:0 | 32-Bit | WRITE | WRITE_IDTAG_5 |
Error states mask mappings
In order to represent any simultaneous error states, the value read from the ERROR_CODES registers can be AND'ed with different mask mappings to identify which individual errors may be present at any given time in the system.
Since only bits 0 to 21 are used in the current specification, it is possibly to read only from registers 111-112 in order to optimize the fetching of values.
For completion however, it is clarified here how to read and interpret the values when reading all 8 registers.
To test for each error individually, the resulting value of reading all registers has to be masked against the corresponding error mask. An example is given below on how to achieve this.
Supposing the following value (presented here in HEX) is read from the
ERROR_CODES
registers:
Register: 105-106 107-108 109-110 111-112
Value: 0000 0000 0000 0000 0000 0000 4100 0000
Please focus first in the value of registers 111-112.
The bits of a double word are numbered from 0 through 31 with bit 0 being the least significant bit. The word containing bit 0 is the low word and the word containing bit 31 is the high word. Each 32-bit register has the low word first, and each word has the low byte first.
So in the case of registers 111-112 the words must first be inverted, to get a value of 0000 4100, and then the bytes of each word must be inverted too, in order to get a value of 0000 0041.
That is to be done for each register pair (105-106, 107-108, 109-110, 111-112), and once it is done, then the whole resulting value can be simply assembled from all registers by starting from a value of 0, and going through each word (register) in order, first shifting to the left then adding.
The result from the case above would be:
0000 0000 0000 0000 0000 0000 0000 0041
Finally, to identify which individual errors are present this value must be AND'ed to each error mask. So by doing the following operation:
0000 0000 0000 0000 0000 0000 0000 0041
AND
0000 0000 0000 0000 0000 0000 0000 0001
Ii is possible to identify that an error "ERR_RCMB_TRIGGERED" is present.
And by continuing doing for example:
0000 0000 0000 0000 0000 0000 0000 0041
AND
0000 0000 0000 0000 0000 0000 0000 0040
It can be observed that also there is an error "ERR_CONTACTOR_WELD" present.
Mask values for bits 0 to 21 (LSB 0) are specified in the following table. Bits 22 to 127 are reserved.
Bit number (LSB 0) | Mask Value | Mask Name | Description |
---|---|---|---|
0 | 0x01 | ERR_RCMB_TRIGGERED | Residual current detected via sensor. |
1 | 0x02 | ERR_VEHICLE_STATE_E | Vehicle signals error. |
2 | 0x04 | ERR_MODE3_DIODE_CHECK | Vehicle diode check failed - tamper detection. |
3 | 0x08 | ERR_MCB_TYPE2_TRIGGERED | MCB of type 2 socket triggered. |
4 | 0x10 | ERR_MCB_SCHUKO_TRIGGERED | MCB of domestic socket triggered. |
5 | 0x20 | ERR_RCD_TRIGGERED | RCD triggered. |
6 | 0x40 | ERR_CONTACTOR_WELD | Contactor welded. |
7 | 0x80 | ERR_BACKEND_DISCONNECTED | Backend disconnected. |
8 | 0x100 | ERR_ACTUATOR_LOCKING_FAILED | Plug locking failed. |
9 | 0x200 | ERR_ACTUATOR_LOCKING_WITHOUT_PLUG_FAILED | Locking without plug error. |
10 | 0x400 | ERR_ACTUATOR_STUCK | Actuator stuck cannot unlock. |
11 | 0x800 | ERR_ACTUATOR_DETECTION_FAILED | Actuator detection failed. |
12 | 0x1000 | ERR_FW_UPDATE_RUNNING | FW Update in progress. |
13 | 0x2000 | ERR_TILT | The charge point is tilted. |
14 | 0x4000 | ERR_WRONG_CP_PR_WIRING | CP/PR wiring issue |
15 | 0x8000 | ERR_TYPE2_OVERLOAD_THR_2 | Car current overload, charging stopped. |
16 | 0x10000 | ERR_ACTUATOR_UNLOCKED_WHILE_CHARGING | Actuator unlocked while charging. |
17 | 0x20000 | ERR_TILT_PREVENT_CHARGING_UNTIL_REBOOT | The charge point was tilted and it is not allowed to charge until the charge point is rebooted. |
18 | 0x40000 | ERR_PIC24 | PIC24 error. |
19 | 0x80000 | ERR_USB_STICK_HANDLING | USB stick handling in progress. |
20 | 0x100000 | ERR_INCORRECT_PHASE_INSTALLATION | Incorrect phase rotation direction detected. |
21 | 0x200000 | ERR_NO_POWER | No power on mains detected. |
22 | 0x400000 | ERR_METER_SECOND_NOT_COMMUNICATING | Meter second not communicating. |
23 | 0x800000 | ERR_MONITORING_RELAY_INPUT_TRIGGERED | RCD-MCB Unique input triggered. |
24 | 0x1000000 | ERR_STATE_D | Charging is paused because state D is detected. |
25 | 0x2000000 | DC_ERR_DOOR_OPEN | DC wallbox door is open |
26 | 0x4000000 | ERR_RCD_MAYBE_TRIGGERED | RCD maybe triggered, detected by communication (power) loss on primary meter |
Error events mask mappings
The same as described in chapter above applies here, except:
Supposing the following value (presented here in HEX) is read from the ERR_EVT_CODES registers:
Register: 158-159 160-161 162-163 164-165
Value: 0000 0000 0000 0000 0000 0000 4100 0000
Please focus first in the value of registers 164-165.
Bit number (LSB 0) | Mask Value | Mask Name | Description |
---|---|---|---|
0 | 0x01 | ERR_EVENT_ACTUATOR_LOCK | unused |
1 | 0x02 | ERR_EVENT_ACTUATOR_LOCK_WITHOUT_PLUG | unused |
2 | 0x04 | ERR_EVENT_REBOOT_IN_PROGRESS | Charge point reboot was issued |
3 | 0x08 | ERR_EVENT_AUTHORIZATION_FAILED | Authorization failed |
4 | 0x10 | ERR_EVENT_AUTHORIZATION_FAILED_NO_STATUSNOTIF | Authorization failed (w/o notification of OCPP backend) |
5 | 0x20 | ERR_EVENT_FW_UPDATE_PAUSED_ACTIVE_TRANSACTION | unused |
6 | 0x40 | ERR_EVENT_FW_UPDATE_FAILURE | Firmware update failed (internet connection?). |
7 | 0x80 | ERR_EVENT_FW_UPDATE_ROLLED_BACK_AFTER_FAILURE | unused |
8 | 0x100 | ERR_EVENT_FW_UPDATE_PACKAGE_MANAGER_FAULT | Firmware update failed because the package manager refused the update. |
9 | 0x200 | ERR_EVENT_MONITORING_UNINTENDED_RESET | Unintended Reset - Power Outage? |
10 | 0x400 | ERR_EVENT_TRANSACTION_STOPPED_AFTER_RESET | ChargePoint rebooted while a transaction (charging) was active. Transaction was implicitely terminated. |
11 | 0x800 | ERR_EVENT_SLAVE_DISCONNECTED | A slave disconnected from the master. |
12 | 0x1000 | ERR_EVENT_DIAGNOSTICS_FAILURE | Diagnostics failed (internet connection?). |
13 | 0x2000 | ERR_EVENT_RCMB_ERROR | RCMB error |
14 | 0x4000 | ERR_EVENT_TEMPERATURE_ALERT | unused |
15 | 0x8000 | ERR_EVENT_15118_COMMUNICATION_FAILURE | TCP/TLS 15118 communication failed |
16 | 0x10000 | ERR_EVENT_15118_AUTHORIZATION_FAILURE | 15118 authorization for PnC failed. The signature validation failed |
17 | 0x20000 | ERR_EVENT_15118_AUTHENTICATION_FAILURE | 15118 authentication for PnC failed |
18 | 0x40000 | ERR_EVENT_15118_CERT_INSTALLATION_FAILURE | 15118 Certificate Installation failed |
19 | 0x80000 | ERR_EVENT_15118_DEPARTURE_TIME | 15118 departure time received |
20 | 0x100000 | ERR_EVENT_15118_EAMOUNT | 15118 Energy Amount received |
21 | 0x200000 | ERR_EVENT_15118_V2G_SEQUENCE_TIMEOUT | 15118 V2G Sequence timeout |
22 | 0x400000 | ERR_EVENT_15118_V2G_SEQUENCE_ERROR | 15118 V2G Sequence error |
23 | 0x800000 | ERR_EVENT_15118_DC_CABLE_CHECK | Cable Check error - Not in state C/D |
24 | 0x1000000 | ERR_EVENT_15118_DC_POWER_STOP | Power stop error - Not in state B |
25 | 0x2000000 | ERR_EVENT_15118_DC_ISOLATION_FAULT | Cable isolation fault |
26 | 0x4000000 | ERR_EVENT_15118_DC_UNEXPECTED_CP_STATE | Unexpected CP state |
27 | 0x8000000 | ERR_EVENT_15118_DC_EVSE_INITIATED_SHUTDOWN | EVSE normal shutdown |
28 | 0x10000000 | ERR_EVENT_GENERIC_INFORM | Generic event |
29 | 0x20000000 | ERR_EVENT_IDTAG_ADDED_OK | Adding tag to Auth List or FLL succeeded |
30 | 0x40000000 | ERR_EVENT_IDTAG_ADDED_FAILURE | Adding tag to Auth List or FLL failed |
31 | 0x80000000 | ERR_EVENT_SYSTEM_NOT_READY | System not yet ready |