TapHome

Schrack i-CHARGE CION

Modbus RTU
Submitted by
Last updated: 03. 2026
Schrack i-CHARGE CION

The Schrack Technik i-CHARGE CION is a Mode 3 EV charging station available in 11 kW and 22 kW variants. It communicates with TapHome via Modbus RTU over RS-485. Since TapHome Core uses Modbus TCP, a Modbus-TCP-to-RS-485 gateway (e.g. Waveshare RS485-to-Ethernet converter) is required between TapHome and the charger.

The TapHome template provides charging control (authorise/deny, current setpoint, minimum current), CP signal state monitoring, cable detection, connector lock control, voltage and temperature readings, and diagnostic warnings for common fault conditions.

Hardware connection

RS-485 Modbus RTU wiring
Schrack i-CHARGE CION charge controller schematic — RS-485 Modbus RTU connection

The RS-485 bus is connected to the charge controller’s A and B terminals at the bottom of the board. Connect these to the Modbus-TCP gateway:

  • A → A+/D+ on the RS-485 gateway
  • B → B-/D- on the RS-485 gateway

Use a standard CAT cable (CAT5 or better). Shielding earthing is not required for data transfer according to the manufacturer.

DIP switches 1 and 2 must both be set to OFF before the RS-485 terminals become active. In Modbus RTU mode, the external inputs E1 and E3 are ignored.

Controller board overview
Schrack i-CHARGE CION charge controller board — terminal layout with RS-485, E1, E3 and RFID connections

The controller board exposes the following terminals (top row, left to right): A4, A3, A2, A1, E1, E3, Pb, Pa. The RS-485 A/B lines connect at the bottom of the board. The RFID reader connects via RJ11.

Configuration

Enabling Modbus communication
Schrack i-CHARGE CION DIP switch configuration — positions 1-4

The 4-position DIP switch on the charge controller sets the operating mode and maximum charging current.

DIP switches 1-2 — Operating mode:

DIP 1DIP 2Mode
OFFOFFRS-485 Modbus RTU (required for TapHome)
OFFONNormal operation, 0-10V interface Mode 1
ONOFFNormal operation, 0-10V interface Mode 2
ONONDelete/train RFID cards

DIP switches 3-4 — Maximum charging current:

DIP 3DIP 4Current
ONON32 A (22 kW models only)
OFFON20 A (22 kW models only)
ONOFF16 A
OFFOFF13 A (default)

After changing DIP switch positions, the charging station must be restarted for the new settings to take effect.

Communication parameters
ParameterDefault value
Baud rate57600
Data bits8
Stop bits1
ParityNone
Slave ID1

The slave ID can be changed via Modbus register H:500. The baud rate can be changed via register H:509 (0=9600, 1=14400, 2=19200, 3=28800, 4=38400, 5=57600; other values default to 115200).

Device capabilities

Charging control
  • Charging Authorisation (H:100) — enables or disables charging. In Modbus mode this overrides the external E1 input. The device also reports the Charging Duration as a service attribute, showing elapsed charging time in HH:MM:SS format.
  • Charging Current Setpoint (H:101) — sets the active charging current in amperes, clamped to 6-32 A.
  • Minimum Charging Current (H:507) — configures the minimum charging current threshold in amperes (default 13 A, range 6-32 A). Primarily used as the floor value for the 0-10V PV interface.
Status monitoring
  • CP Status (H:139) — displays the Mode 3 control pilot signal state: A (Standby), B (Vehicle detected), C (Ready/Charging), D (With ventilation), E (No power), F (Error), or U (Unknown).
  • Charging Cable Plugged In (H:121, bit 0) — binary sensor indicating whether a charging cable is connected. The device also reports the Plugged-In Duration as a service attribute.
  • Current Charging Current (H:126) — read-only sensor showing the present charging current in amperes.
Voltage and temperature
  • Phase 1 Voltage (H:167) — mains voltage on phase 1, raw value divided by 100 to display in volts.
  • Temperature (H:303) — onboard temperature sensor in the charging controller, reported in °C.
Connector lock
  • Connector Lock (H:118) — controls the charging socket lock with three modes: Automatic (default), Lock, or Unlock.
Diagnostics

The module-level ReadScript continuously monitors error conditions and reports warnings in TapHome:

ConditionWarning
H:306 != 0Controller error
H:146 != 0Plausibility error on PP/CP signals
H:121 bit 6Collective error
H:121 bit 7RCCB/MCB power failure
H:121 bit 8Faulty charging cable
H:121 bit 9Charging cable rejected
H:121 bit 10Charging contactor error
H:121 bit 12RCMU self-test failure
H:121 bit 13Residual current detected
Additional capabilities

The i-CHARGE CION also exposes registers for LED control (manual activation of Ready/Charging LEDs and RGB signalling), maximum charging current readback, cable current carrying capacity, CP generator state, PP cable identification, error word with individual fault bits, supply voltage monitoring, input voltage readings (E1, E3), configuration error detection, connector lock timing modes, analogue temperature sensor, PV scaling factor, and phase switching via the A4 output (for external contactor control). These can be added in a future template update.

Troubleshooting

No Modbus communication
  1. Verify DIP switches 1 and 2 are both set to OFF
  2. Check RS-485 wiring — A to A+, B to B-
  3. Confirm the Modbus-TCP gateway is configured for 57600 baud, 8N1
  4. Verify slave ID matches (default: 1, configurable via H:500)
  5. Restart the charging station after any DIP switch changes
Charging authorisation has no effect

The “Charging authorisation ignored” flag (H:120) is set when charging authorisation cannot be applied — for example when no vehicle is connected, a cable error exists, or the charger is in an error state. Resolve the underlying condition first.

Voltage reading appears incorrect

Phase 1 voltage (H:167) uses a multiplier of 1/100 — a raw value of 23000 corresponds to 230.00 V. If the displayed value seems 100x too large, verify the TapHome device is configured with the correct conversion.

Available devices

Schrack i-CHARGE CION Module
Service Attributes
Manufacturer Name
Device Name
Firmware Version
Baud RateCurrent Modbus baud rate — decoded enum: 9600, 14400, 19200, 28800, 38400, 57600 or 115200
RFID TagLast scanned RFID tag identifier
Service Actions
Controller RestartTriggers a full EVCC controller reset

Schrack i-CHARGE CION

Read (module)
if(modbusr(H, 306, Uint16), ADDWARNING("Storung"));
if(modbusr(H, 146, Uint16), ADDWARNING("Plausibitatzfehler bei PPbzw. CP"));
var r121 := modbusr(H, 121, Uint16);
if(getbit(r121, 6), ADDWARNING("Sammelstorung"));
if(getbit(r121, 7), ADDWARNING("Storung: Netzausfall FI/LS"));
if(getbit(r121, 8), ADDWARNING("Storung: Ladekabel"));
if(getbit(r121, 9), ADDWARNING("Storung: Ladekabel abgewiesen"));
if(getbit(r121, 10), ADDWARNING("Storung: charging contactor"));
if(getbit(r121, 12), ADDWARNING("Storung: RCMU Selbttest fehler"));
if(getbit(r121, 13), ADDWARNING("Storung: Fehlerstrom"));
Service Attributes
Herstellerbezeichnung
modbusr(H, 800, String, 15)
Geratebezeichnung
modbusr(H, 816, String, 15)
Firmwareversion
modbusr(H, 832, String, 16)
Baudrate
switch(modbusr(H, 509, Uint16),
0, 9600,
1, 14400,
2, 19200,
3, 28800,
4, 38400,
5, 57600,
115200)
RFID Tag
modbusr(H, 129, String, 4)
Service Actions
Controller Neustart
modbusw(H, 1000, Uint16, 1234)
Current Charging Current Variable Read-only

Present Mode 3 charging current in amperes

Register: H:126 UInt16 Unit: A numeric

Current Charging Current

Read
MODBUSR(H, 126, Uint16)
Charging Authorisation Switch

Enables or disables EV charging — overrides the external E1 input in Modbus mode

Register: H:100 UInt16
Values / States: ${general_enabled} · ${general_disabled}

Charging Authorisation

Read switch state
MODBUSR(H, 100, Uint16)
Write switch state
MODBUSW(H, 100, Uint16, St)
Service Attributes
Ladedauer
var total := MODBUSR(H, 151, LittleEndianUint32);
var sec := mod(total, 60);
var min := mod(floor(total/60), 60);
var hod := floor(total/3600);

hod + ":" + tostring(min, "X2") + ":" + tostring(sec, "X2")
CP Status Multi-value Switch Read-only

Mode 3 control pilot signal state — A (Standby), B (Vehicle detected), C (Ready/Charging), D (With ventilation), E (No power), F (Error), U (Unknown)

Register: H:139 Char numeric
Values / States: A - Standby · B - Vehicle detected · C - Ready (charging) · D - With ventilation · E - No power (shut off) · F - Error · U - Unknown

CP Status

Read switch state
switch(MODBUSR(H, 139, Uint16),
65, 0,
66, 1,
67, 2,
68, 3,
69, 4,
70, 5,
6)
Charging Cable Plugged In Reed Contact Read-only
Register: H:121 UInt16 bitmask
Service Attributes
Plugged-In DurationTime the cable has been plugged in, formatted as HH:MM:SS

Charging Cable Plugged In

Read
GETBIT(MODBUSR(H, 121, Uint16), 0)
Service Attributes
Angesteckt-Dauer
var total := MODBUSR(H, 153, LittleEndianUint32);
var sec := mod(total, 60);
var min := mod(floor(total/60), 60);
var hod := floor(total/3600);

hod + ":" + tostring(min, "X2") + ":" + tostring(sec, "X2")
Charging Current Setpoint Variable

Active charging current setting in amperes, adjustable from 6 to 32 A

Register: H:101 UInt16 Unit: A numeric

Charging Current Setpoint

Read
MODBUSR(H, 101, Uint16)
Write
MODBUSW(H, 101, Uint16, LINEAR(Va, 6, 6, 32, 32, BOUNDS))
Minimum Charging Current Variable

Minimum charging current threshold in amperes (default 13 A) — used as floor for 0-10V PV interface

Register: H:507 UInt16 Unit: A numeric

Minimum Charging Current

Read
MODBUSR(H, 507, Uint16)
Write
MODBUSW(H, 507, Uint16, LINEAR(Va, 6, 6, 32, 32, BOUNDS))
Phase 1 Voltage Variable Read-only
Register: H:167 UInt16 Unit: V numeric

Phase 1 Voltage

Read
MODBUSR(H, 167, Uint16)
Temperature Temperature Sensor Read-only
Register: H:303 UInt16 Unit: °C numeric

Temperature

Read temperature
MODBUSR(H, 303, Uint16)
Connector Lock Multi-value Switch

Charging socket lock control — Automatic, Lock, or Unlock

Register: H:118 UInt16 numeric
Values / States: Automatic · Verriegeln · Entriegeln

Connector Lock

Read switch state
switch(MODBUSR(H, 118, Uint16),
1, 1,
2, 2,
0)
Write switch state
MODBUSW(H, 118, Uint16, Mu)
Connection: Modbus RTU • 57600 baud• 8N1 • Slave ID: $[SlaveId]
Possible improvements (25)
  • H:102 Automatic LED Activation — 0=manual LED control via registers 103-117, 1=automatic. Low priority — cosmetic
  • H:103-117 LED Control Registers — Manual control of Ready/Charging LEDs and RGB signalling. 15 registers for timing, duty, color. Low priority — cosmetic
  • H:120 Charging Authorisation Ignored — Read-only flag indicating charging authorisation was ignored (e.g. no car connected, error). Useful for diagnostics
  • H:121 bits 1-5 Additional Status Bits — Contactor 1/2 active, ventilation requested, connector locking activation/response. Template only uses bit 0 (cable plugged) and bits 6-13 (errors in readscript)
  • H:127 Maximum Charging Current — Maximum Mode 3 charging current value in A. Read-only. Useful to show hardware limit
  • H:128 Cable Current Carrying Capacity — Current carrying capacity of charging cable in A: 0, 13, 20, 32, 63. Read-only
  • H:140 CP Generator State — 0=high resistance, 1=DC positive, 2=DC negative, 3=PWM. Low-level diagnostics
  • H:141 PP Status — Proximity pilot cable identification: 0, 13, 20, 32, 63 A, or SC. Read-only. Partially covered by operating manual reference
  • H:147 Configuration Error — 0=no error, 1=plausibility error in configuration. Read-only diagnostic
  • H:148 Voltage E1 — Voltage at input E1 in mV (multiplier 1/1000). DC input for external activation
  • H:149 Voltage E3 — Voltage at input E3 in mV (multiplier 1/1000). DC input for 0-10V PV interface
  • H:150 Error Word — 16-bit error word with 9 individual error bits. Partially covered by readscript warnings on H:121 bits 6-13
  • H:300 Operating Mode — 0=slave. Read-only. Low value — always 0 in Modbus RTU mode
  • H:301 Supply Voltage — Supply voltage of charging controller in mV (multiplier 1/1000). Internal diagnostics
  • H:302 Mains Voltage — Mains voltage measured at RCCB/MCB in V (multiplier 1/100). Alternative to H:167
  • H:305 Locked Time Mode — Connector lock timing mode: 1=plugged-to-unplugged, 2=charging-start-to-end, 3=charging-start-to-unplugged. R/W
  • H:307 Analogue Temperature Sensor — Temperature measured value in mV. Raw analogue reading, lower priority than H:303
  • H:308 A4 Control via Modbus — Control signal output A4 for external contactor. Used for phase switching (L2/L3) with safety constraints. R/W
  • H:500 Bus Address Override — Modbus slave address override. Default 1. R/W
  • H:501 Default Charging Current Override — Default charging current in A, only effective with specific DIP switch position. R/W
  • H:503 Locking Delay — Connector locking delay in ms. Default 250ms. R/W
  • H:505 Motor Activation Time — Lock motor activation time in ms. Default 500ms. R/W
  • H:506 Cable Mode — 0=charging socket, 1=permanently connected cable. R/W
  • H:508 PV Scaling — x ampere per volt for PV control via 0-10V interface. Default 6 A/V. R/W
  • H:700 DIP Switch Configuration — Read DIP switch state via Modbus. Not in official register table — undocumented register found in nymea plugin

Sources