An open API service indexing awesome lists of open source software.

https://github.com/abovsh/eveus

Home Assistant HACS integration with Eveus PRO chargers
https://github.com/abovsh/eveus

ev-charger eveus evse hacs home-assistant homeassistant

Last synced: 2 months ago
JSON representation

Home Assistant HACS integration with Eveus PRO chargers

Awesome Lists containing this project

README

          

# Eveus EV Charger - Home Assistant Integration

[![HACS Custom](https://img.shields.io/badge/HACS-Custom-orange.svg?style=for-the-badge)](https://github.com/custom-components/hacs)
![Version](https://img.shields.io/badge/version-4.1.1-blue?style=for-the-badge)
![Home Assistant](https://img.shields.io/badge/Home%20Assistant-2024.4%2B-41BDF5?style=for-the-badge&logo=home-assistant)

Local Home Assistant integration for Eveus EV chargers. It adds charger monitoring, current control, charging mode switches, energy and cost sensors, optional EV battery estimates, diagnostics, and multi-charger support.

## What It Can Do

### Charger Monitoring

- Live voltage, current, power, session energy, session time, and lifetime energy.
- Charger state and substate decoding, including detailed error/substate labels.
- Box temperature, plug temperature, ground status, system time, and backup battery voltage.
- Connection Quality sensor with recent success rate, average latency, failure count, and health status.

### Charging Controls

- Charging Current slider with model-aware limits for 16A, 32A, and 48A chargers.
- Stop Charging switch using the charger-side stop-charge option.
- One Charge switch for single charging sessions.
- Reset Counter A control for resetting the charger energy counter.
- Optimistic UI feedback: controls update immediately, then reconcile with the charger response.

### Energy, Cost, And Rates

- Session Energy and Total Energy sensors.
- Counter A/B energy tracking.
- Counter A/B cost tracking.
- Primary Rate Cost, Active Rate Cost, Rate 2 Cost, and Rate 3 Cost.
- Rate 2 Status and Rate 3 Status diagnostics.

### Optional EV Battery Estimates

SOC helpers are optional. The charger works normally without them.

When helper entities are created, the integration can estimate:

- SOC Energy in kWh.
- SOC Percent.
- Time to Target SOC.
- Missing or invalid helper status through the Input Entities Status diagnostic sensor.

### Reliability And Maintenance

- Multiple Eveus chargers can be added to the same Home Assistant instance.
- Setup validates reachability and Eveus-compatible responses before creating the integration entry.
- Reconfigure support for updating charger IP address, credentials, or model without reinstalling.
- Reauthentication flow for credential updates if the charger rejects stored credentials.
- Home Assistant diagnostics with sensitive fields redacted.
- Repair flow for rare invalid stored setup data.
- Powered-off chargers are treated as a normal condition and stay quiet in normal Home Assistant logs.
- Entity updates are coordinator-driven and optimized to avoid unnecessary state writes when values have not changed.

## Requirements

| Requirement | Details |
| --- | --- |
| Home Assistant | 2024.4 or newer |
| Charger | Eveus EV charger on the same reachable network |
| Network | Charger IP address or local hostname |
| Setup fields | IP/host, username, password, and charger model |
| Supported models | 16A, 32A, 48A |

## Installation

### HACS

1. Open HACS.
2. Open **Custom repositories**.
3. Add `https://github.com/ABovsh/eveus` as an **Integration**.
4. Search for **Eveus EV Charger**.
5. Install and restart Home Assistant.

### Manual

1. Copy `custom_components/eveus` into the Home Assistant `custom_components` directory.
2. Restart Home Assistant.

## Setup

1. Open **Settings → Devices & Services**.
2. Select **Add Integration**.
3. Search for **Eveus EV Charger**.
4. Enter the charger IP address or hostname.
5. Enter the charger username and password.
6. Select the charger model: 16A, 32A, or 48A.

To change connection details later, open **Settings → Devices & Services → Eveus EV Charger → Reconfigure**.

To add another charger, run the same setup flow again with a different charger IP address or hostname.

> [!NOTE]
> Some Eveus firmware versions may return status data from `/main` even when incorrect credentials are supplied. The integration rejects credentials when the charger returns `401`, but it cannot prove credentials are wrong if the charger still returns valid Eveus data. Commands are still sent with the stored credentials.

## Created Entities

Entity names and unique IDs are kept stable across updates so existing dashboards and automations continue working.

### Sensors

| Entity | Description |
| --- | --- |
| Voltage | Current line voltage |
| Current | Current charging amperage |
| Power | Current charging power |
| Current Set | Current limit reported by the charger |
| Session Energy | Energy delivered in the current session |
| Session Time | Duration of the current session |
| Total Energy | Lifetime delivered energy |
| Counter A Energy | Energy counter A |
| Counter B Energy | Energy counter B |
| Counter A Cost | Cost for counter A |
| Counter B Cost | Cost for counter B |
| Primary Rate Cost | Primary electricity rate |
| Active Rate Cost | Currently active electricity rate |
| Rate 2 Cost | Rate 2 electricity price |
| Rate 3 Cost | Rate 3 electricity price |

### Optional SOC Sensors

These sensors require the optional helper entities listed below.

| Entity | Description |
| --- | --- |
| SOC Energy | Estimated battery energy in kWh |
| SOC Percent | Estimated battery percentage |
| Time to Target SOC | Estimated time until the configured target SOC |

### Controls

| Entity | Type | Description |
| --- | --- | --- |
| Charging Current | Number | Current limit slider |
| Stop Charging | Switch | Charger-side stop-charge option |
| One Charge | Switch | Single charge session mode |
| Reset Counter A | Switch | Reset energy counter A |

### Diagnostics

| Entity | Description |
| --- | --- |
| State | Main charger state |
| Substate | Detailed charger state or error |
| Ground | Ground connection status |
| Box Temperature | Internal charger temperature |
| Plug Temperature | Plug temperature |
| Battery Voltage | Charger backup battery voltage |
| System Time | Charger internal time |
| Connection Quality | Recent network reliability, latency, and health attributes |
| Input Entities Status | Missing or invalid optional SOC helper status |
| Rate 2 Status | Rate 2 schedule status |
| Rate 3 Status | Rate 3 schedule status |

## Optional SOC Helpers

SOC tracking is optional. Without these helpers, charging controls, energy sensors, cost sensors, rate sensors, and diagnostics continue to work normally.

Create these helpers in **Settings → Devices & Services → Helpers → Create Helper → Number**.

| Helper entity ID | Name | Unit | Min | Max | Step | Initial | Purpose |
| --- | --- | --- | ---: | ---: | ---: | ---: | --- |
| `input_number.ev_battery_capacity` | EV Battery Capacity | kWh | 10 | 160 | 1 | 80 | Battery size used for SOC energy and time-to-target calculations |
| `input_number.ev_initial_soc` | Initial EV State of Charge | % | 0 | 100 | 1 | 20 | Battery percentage when the charging session starts |
| `input_number.ev_soc_correction` | Charging Efficiency Loss | % | 0 | 15 | 0.1 | 7.5 | Charging loss correction applied to delivered energy |
| `input_number.ev_target_soc` | Target SOC | % | 0 | 100 | 5 | 80 | Desired battery percentage for the time-to-target sensor |

The **Input Entities Status** diagnostic sensor shows which helpers are missing or invalid.

## Troubleshooting

### Setup Cannot Connect

- Confirm the charger is powered on and connected to Wi-Fi.
- Open `http://` from a browser on the same network.
- Check the IP address or hostname.
- Make sure Home Assistant can reach the charger network.
- Confirm the selected charger model matches the real charger capability.

### Any Username And Password Work

Some Eveus firmware versions appear to allow status reads from `/main` without enforcing Basic Auth. If setup succeeds with random credentials, test the charger directly:

```bash
curl -i -X POST http://CHARGER_IP/main
curl -i -X POST -u wrong:wrong http://CHARGER_IP/main
curl -i -X POST -u real_login:real_password http://CHARGER_IP/main
```

If the first or second command returns `200` with Eveus JSON, the charger is accepting status reads without valid credentials. This is charger behavior, not Home Assistant credential caching.

### Controls Do Not Respond

- Check **Connection Quality**.
- Confirm the charger is online.
- Verify the stored credentials in **Reconfigure**.
- Wait for the next coordinator refresh after sending a command.

### SOC Sensors Are Unavailable

- Create the optional `input_number.ev_*` helpers.
- Check **Input Entities Status** for missing or invalid helpers.
- Confirm helper values are numeric and inside the expected range.

### Charger Is Powered Off

Powered-off chargers are expected. The integration backs off polling and keeps normal Home Assistant logs quiet.

## Compatibility Notes

- Existing entity names and unique IDs are preserved across the 4.x releases.
- Dashboard cards and automations created for older versions should continue working after update.
- The Stop Charging switch keeps the charger-side semantics used by previous releases.
- Optional SOC helpers remain optional.

## Support

For bugs, feature requests, and release discussions, open an issue on [GitHub](https://github.com/ABovsh/eveus/issues).

## License

MIT License.