VOOL chargers and the VOOL LMC each have their own Modbus interface, and they do different things. Both are used for local integrations such as Home Assistant, a solar or energy manager, or a building management system. Pick the one that matches what you want to read or control:
Charger Modbus TCP/UDP — one charger’s state, per-phase currents, voltages, power and energy, plus start/stop, an external current limit and allowed phases. Needs the charger to have its own Ethernet or Wi-Fi connection. Covered in this article and the Charger Modbus manual.
LMC Modbus TCP (LMC software v6.4.0 and later) — the site’s mains currents and voltages per phase, and with write access the grid connection current limit used by load management. It does not give individual charger measurements, energy counters or charger start/stop. Full register map in Modbus TCP on the VOOL LMC.
Both are disabled by default and VOOL support can enable them remotely — email [email protected] with the serial number of the charger or LMC.
CAN-only installations
If your charger reaches the VOOL platform through an LMC over CAN, and has no Ethernet or WiFi connection of its own, there is no charger Modbus interface to connect to: Modbus is inside the charger, and in that setup the charger is not on your network. You can tell which case you are in from the charger’s page in the web portal: if OCPP source reads LMC and the Connectivity section shows no WiFi or Ethernet of its own, the charger is behind the LMC.
In a CAN installation you can still use the LMC’s Modbus TCP interface — as long as the LMC itself is on your network — to read the site’s mains currents and voltages and to set the grid connection current limit. That limits the site as a whole; per-charger control or measurements over Modbus need the charger connected to your network directly.
The LMC also reads meters over Modbus
Separately from its Modbus TCP server, the LMC speaks Modbus in the opposite direction: it reads an external power meter. That is the LMC acting as a Modbus master.
Modbus RTU over RS485 — the usual case. You need the meter’s baud rate, and in some cases its slave address. The baud rate is set by the meter; 19200 is common. Example: a Siemens PAC2200 at device ID 126, 19200 baud.
Modbus TCP over Ethernet — here you need the meter’s IP address.
This is worth spelling out because it causes real confusion: the IP address field in the meter configuration is the address of the meter, not of the charger. If your meter is wired to the LMC over RS485 and is not on the network at all, that field does not apply to you — give us the baud rate instead and support can configure it.
Enabling Modbus on a charger
The interface is off by default. It is turned on with the charger parameter 522 — Enable Modbus TCP/UDP interface. That parameter lives in the charger’s own firmware, not in the VOOL web portal: the portal has no Modbus page, no Modbus toggle and no list of numbered parameters, so there is nothing to hunt for there. Once enabled, the interface listens on port 502 (TCP and UDP) — 522 is the parameter number, not the port. Modbus runs on the same single interface (Ethernet or WiFi) as the charger’s other traffic; a hybrid setup with Modbus on one and OCPP on the other is not supported.
Your charger needs software from July 2025 or newer. The Modbus interface arrived in gateway v1.17.2 (bundle v1.9.33), with the supporting controller functions complete in bundle v1.9.40 (gateway v1.17.7, MCU v2.12.3). On older software the parameter does not exist at all, so no amount of looking will find it. Your charger’s version is shown on its page in the web portal, under Configuration.
The straightforward way to get it switched on: e-mail [email protected] with the charger’s serial number and ask for Modbus to be enabled. VOOL can do this remotely, usually within a working day. If you work with an installer, they can also configure the charger directly over Bluetooth using installer mode in the VOOL mobile app.
Charger register map
All registers are holding registers, big-endian. The interface accepts at most 3 simultaneous connections and closes a connection after 60 seconds without communication.
Read-only registers cover charger state and EV phases (100–101), currents, voltages and active power per phase (102–111) and imported energy (200–201). Writable registers are 500 charging command (1 = start, 2 = stop), 501 external current limit and 502 external allowed phases. Register 502 is limited to 10 phase-switching operations per hour. The full table, with units, scaling and bit definitions, is in the Charger Modbus manual in this help centre. The LMC uses a different map (float32 values, mains measurements at 600–625) — see Modbus TCP on the VOOL LMC.
What a Modbus write can and cannot do
This is the most common misunderstanding, so plainly: a Modbus write cannot raise the charger above its configured current limit. The Current limit set on the charger in the web portal is the ceiling. If your energy manager writes 32 A to register 501 on a charger configured for 16 A, the charger still charges at 16 A. Register 501 is a request, and the charger applies the lowest of the limits currently in force.
Several limits can apply at the same time — the configured maximum, an external current or power limit, load management, thermal limiting. So a single limit value read back over Modbus is not necessarily the one being used. If the current you measure does not match what you expect, tell support the serial number and the times, and we will read which limit was actually in force.
Do not send the start command repeatedly
Write to register 500 only when you actually want to start or stop. Commands are processed on the write event, so a start has to be written again for each new session — but writing it on a timer, once a minute, is a real problem: it floods the charger’s internal logs and makes them useless for diagnosing anything, and a start that arrives at the same moment the charger is auto-starting on its own can conflict. If the charger has Auto start enabled it will begin charging by itself anyway, and your integration does not need to send start at all.
If a working integration stops responding
Check the device’s IP address on your network first. After a firmware update or a router change the charger’s LAN IP can change, and the integration then polls an address that no longer exists. The VOOL web portal does not show the charger’s IP address — read it from your router’s list of connected devices, or ask VOOL support, who can read it from the charger. Compare it with the address configured in your integration before assuming the interface has been switched off.
Set a static IP (or a DHCP reservation) for chargers and the LMC in your router. Router-assigned address changes have also broken load-management communication at multi-charger sites.
Check the device is on the same subnet as the machine polling it, and remember the charger’s limit of 3 simultaneous connections.
Security note
Neither Modbus interface has authentication. Use them only in local, secure networks and never expose the port to the internet.
Community integrations and partner APIs
There are third-party Home Assistant integrations for VOOL hardware. They are not built or maintained by VOOL, and some do not work with the LMC without adjustment. For questions about a community integration, please contact its author.
Modbus and OCPP are the documented integration paths. For partner or developer API questions, email [email protected] with your questions numbered and we will route them internally.