Keba Keba Modbus Modbus TCP template

Keba Modbus

The Keba KeContact P30 is a Mode 3 AC EV wallbox used in residential, commercial, and fleet charging installations. This Modbus template connects to the P30 c-series and x-series over Modbus TCP and reads charging state, cable state, active power, session energy, cumulative energy, power factor, and maximum current limits. Write registers let your energy management system set the charging current in milliamps, define a session energy limit, enable or disable the station, and trigger a 1-phase/3-phase switch. The template gives installers live charge supervision and dynamic load control directly inside the ModbusCloud portal.

Protocol
Modbus TCP
Connection
Ethernet, Modbus TCP
Registers
21, read and write
Brand
Keba
Last updated

Registers (21)

15 read, 6 write

NameUnitAccessAddress (Hidden until you enter your email)Function (hidden)Type (hidden)
charging_stateRead
cable_stateRead
error_codeRead
serial_numberRead
firmwareRead
active_powerWRead
active_production_energyWhRead
power_factor%Read
max_charging_currentARead
max_supported_currentARead
energy_sessionWhRead
phase_switch_sourceRead
phase_switch_stateRead
failsafe_current_settingARead
failsafe_timeout_settingsRead
set_charging_currentAWrite
set_energy_limitWhWrite
set_unlock_plugWrite
set_enableWrite
set_phase_switch_sourceWrite
set_trigger_phase_switchWrite

Loading registers…

Send your device list

If a device is not in the library yet, we build the template for free as soon as we have the register data.

Number of installations (optional)

Use cases

  • Monitor active power and session energy to verify that EV charging stays within contracted site load limits.
  • Alert on non-zero error codes to detect wallbox faults before a driver reports a failed charging session.
  • Track cumulative energy across multiple Keba wallboxes to produce monthly site charging reports.
  • Compare max_supported_current against max_charging_current to confirm cable coding is correctly recognised after a cable replacement.
  • Verify phase_switch_state after a 1-phase to 3-phase transition to confirm the KeContact S10 phase switch operated correctly.

Installation

  1. Enable Modbus TCP on the wallbox by setting DIP switch DSW1.3 to ON on the PCB, then restart the station by pressing the Service button for one second or cycling the circuit breaker.

  2. Connect the wallbox Ethernet port (LSA+ terminal X4 for permanent installation, or RJ45 port X3 for testing) to the same LAN segment as the ModbusCloud Gateway using a Cat 5e or Cat 6 cable.

  3. In the ModbusCloud portal, add a new device, import the Keba Modbus template, set the IP address to the wallbox's LAN address, TCP port 502, and set the unit ID to 255.

  4. Spot-check the connection by reading register 1000 (charging_state) and register 1020 (active_power); confirm the values match the physical state shown on the wallbox display.

Things to watch for

All registers return zero or connection fails immediately. Why?

Modbus TCP and the UDP interface share the same port and cannot run simultaneously on the P30. If the wallbox was previously controlled via UDP, DIP switch DSW1.3 must be set to ON and the station restarted before Modbus TCP will respond. Also confirm the unit ID in your portal configuration is exactly 255.

The active_power register reads in milliwatts, not watts. Is my scaling wrong?

The Keba P30 Modbus documentation states that register 1020 reports active power in milliwatts internally. The template maps this to the unit 'W' after dividing by 1000. If your portal shows raw register values without scaling, apply a divide-by-1000 factor to convert milliwatts to watts.

Writing to set_charging_current has no effect. What should I check?

The P30 only accepts current values between 6000 and 63000 (milliamps); values outside this range are silently ignored. Also verify that register 5014 (set_enable) is set to 1 to enable the station. The hardware-rated maximum from cable coding and DIP switches always takes precedence over the written setpoint.

Is it safe to write to set_enable or set_trigger_phase_switch during an active session?

Use write registers with care during active charging. Disabling the station via set_enable immediately stops an ongoing session. Triggering a phase switch mid-session can interrupt charging and, on some firmware versions, requires the charging process to be stopped beforehand. Unexpected writes may also invalidate manufacturer warranty coverage for damaged sessions. Always test write sequences in a controlled environment before deploying automation.

Want to see how it works?

Electrician working in an open distribution board