Vestel EVC04 Wallbox smart home integration, free and open source

Controls and monitors the Vestel EVC04 charging station over Modbus TCP.
This community integration connects a Vestel EVC04 Home wallbox to Gladys Assistant using Modbus TCP. It reads charging measurements and controls the permitted charging current locally. It does not require the manufacturer's cloud, an OCPP backend, or a user account.
Requirements
- Gladys Assistant 5.1.0 or newer.
- Modbus TCP enabled on the wallbox.
- The wallbox and Gladys host must be reachable on the same network.
- Default Modbus TCP port: 502. Default Unit ID: 255.
The EVC04 supports only one Modbus master at a time. This integration shares a single connection for measurements, connection tests, and control commands. Do not connect another Modbus client to the wallbox at the same time.
Installation and configuration
Install the integration through the Gladys integrations system. The container image is published as:
ghcr.io/tomgermany/gladys-vestel-evc04:latest
Configure the wallbox IP address or mDNS name (without http://), Modbus port, Unit ID, measurement polling interval, and heartbeat deadline. A DHCP reservation is recommended for a stable wallbox address.
| Setting | Default | Description |
|---|---|---|
| Wallbox address | — | IP address or mDNS name |
| Modbus port | 502 | Change only if your wallbox uses another port |
| Modbus Unit ID | 255 | Default EVC04 Unit ID |
| Polling interval | 5 minutes | Supported intervals: 1, 5, 15, 30, or 60 minutes |
| Heartbeat deadline | 20 seconds | Used while charging-current control is active |
After saving the settings, use Check connection to test communication over the existing connection.
Measurements and polling
The integration publishes charging status, power, current, voltage, and energy measurements to Gladys. The polling interval determines how often these values are refreshed. A failed read is logged, and the integration makes one attempt to reconnect using a fresh socket. With a five-minute polling interval, a connectivity problem may not be noticed by regular polling until the next scheduled read.
Charging-current control and heartbeat
The integration sets the permitted charging current through Modbus register 5004. The wallbox has no separate start/stop command; charging starts or stops depending on whether the vehicle draws current.
- The requested current is limited to at least 6 A and to the maximum value permitted by the wallbox and cable.
- The dashboard widget provides increase/decrease controls with a per-widget step of 1, 2, or 5 A.
- Gladys scenes can set a value using the Set charging current action.
- While current control is actively maintained, the integration sends a heartbeat through register
6000. With the default 20-second deadline, it is sent about every 10 seconds, with a minimum interval of 3 seconds. - If the heartbeat stops, the wallbox falls back to its failsafe current. Heartbeat timing is independent of measurement polling and cannot reboot a wallbox whose firmware is stuck.
Gladys scenes
The integration provides two scene triggers and one scene action.
Scene triggers
- Wallbox charging — triggered when the wallbox transitions into the charging state.
- Wallbox charging ended — triggered when it transitions out of the charging state.
Depending on the trigger, variables include measurements such as power, charging current, meter reading, session energy, and duration.
Scene action
- Set charging current — a scene can use this action to request a charging-current value in amperes. The value is limited to a minimum of 6 A and the maximum permitted by the wallbox and cable.
Troubleshooting
- No response: Check the wallbox address, network connectivity, and whether Modbus TCP is enabled.
- Unexpected Unit ID: The default is
255, not1. - Connection is busy: Make sure no other Modbus client is connected to the EVC04.
- Measurements seem stale: Check the polling interval or run Check connection.
- Wallbox is unresponsive: The heartbeat can cause the failsafe current to be used, but the integration cannot power-cycle a wallbox or recover a firmware lockup.
Manufacturer and trademark notice
This is an independent community integration for Gladys Assistant. It is not developed, endorsed, or officially supported by Vestel. Vestel and EVC04 are manufacturer designations. Trademarks, logos, and product representations belong to their respective owners and are used only to identify the supported product.
License
Apache-2.0.
Configuration settings
These are the settings Vestel EVC04 Wallbox asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| Wallbox address | string | Yes | IP address or mDNS name, without http:// and without a trailing slash. A fixed IP via a DHCP reservation is more robust than a name. |
| Modbus port | number | No | Default 502. Only change it if the port was changed on the wallbox. |
| Modbus unit id | number | No | The EVC04 answers on unit id 255. Only change it if your device is configured differently. |
| Refresh interval in minutes | select | No | How often readings are fetched and published to Gladys. Choose an interval in minutes. |
| Charging current | section | No | The wallbox has no on and no off: a charge begins when the vehicle accepts the current and ends when it stops drawing. What can be set is the allowed charging current in register 5004 — between 6 A, as in the manufacturer's app, and the maximum the wallbox itself reports. While a value holds, the integration keeps the alive register (6000) answered. |
| Heartbeat deadline in seconds | number | No | This is NOT written to the wallbox. It only decides how often the heartbeat (register 6000) is answered: half of it, never less than every 3 seconds. The factory setting is 20 seconds. |
How to install Vestel EVC04 Wallbox in Gladys
- In Gladys, open Integrations: Vestel EVC04 Wallbox appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/tomgermany/gladys-vestel-evc04:latest), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration). - Open the Configuration screen of the integration, fill in the settings, and save.
- You can also install it directly from its repository URL: https://github.com/tomgermany/gladys-vestel-evc04.
Vestel EVC04 Wallbox requires Gladys >=5.1.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.
Not running Gladys yet? It is free and open source: follow the installation guide to get started.
About external integrations
Vestel EVC04 Wallbox is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by tomgermany, not by the Gladys core team.
- Browse all integrations, native and community
- Build and publish your own external integration
- Source code on GitHub — source of this documentation