ABB Terra AC charger wireless Modbus

I built an ESP32-based Modbus RTU slave that emulates the ABB EV3 electricity meter. It feeds the Terra AC wallbox with live phase data pulled from Home Assistant (e.g., HomeWizard P1), so the charger’s Smart Charging / Dynamic Load Balancing works without a physical EV3—and without running a long RS-485 cable from the main panel to the garage.

What it does

  • Presents the following EV3-compatible registers on Modbus RTU (slave ID 0x01 by default):
    • Energy import/export: 0x5000..0x5003 and 0x5004..0x5007 (U_QWORD, ×0.01 kWh)
    • Voltages L1/L2/L3: 0x5B00/02/04 (U_DWORD, ×0.1 V)
    • Currents L1/L2/L3: 0x5B0C/0E/10 (U_DWORD, ×0.01 A)
    • Active power Total/L1/L2/L3: 0x5B14/16/18/1A (S_DWORD, ×0.01 W)
    • Power factor Total/L1/L2/L3: 0x5B3A/3B/3C/3D (U_WORD, ×0.001)
  • Pulls values from Home Assistant entities (P1 import/export, per-phase voltage/current/power).
  • Implements Modbus server on ESPHome with clean register lambdas and logging.
  • Optional UART hex sniffer logs for bring-up/debug.
  • Runs on Lolin32 Lite (ESP32), powered by the Terra AC 3.3 V JTAG header (no extra PSU).
2 Likes

In Slovenija we have powermeters outside locked by power company. Will this software compatible with other esp tasmota pzem power meters on main house lines?

@Thinko It sure is. You just need to change the sources according to your sensors from Home Assistant

Example:

# ---------- Home Assistant sources (your entities) ----------
sensor:
   - platform: homeassistant
     id: p1_power_l1
     entity_id: sensor.p1_meter_power_phase_1