Note
Parts of this integration were co-written with Claude (Anthropic AI). The code has been reviewed and tested against real CURRENT hardware.
A Home Assistant integration for the CURRENT EV charging platform. Targets apartment and residential tenants who have a Zaptec charger managed by CURRENT, and want to start/stop charging and monitor session status from Home Assistant.
Must be added as a custom repository.
- UI-based setup — no
configuration.yamlediting required - Start and stop charging via a switch entity
- Live session monitoring (power, current, energy, charging duration)
- Charger status:
Available,Charging,Standby(car full/paused),Unavailable - Last session summary (energy and cost in account currency)
- Full charging history in the Energy dashboard, with costs
- Charger controls: require authentication, permanent cable lock, restart
- Multiple chargers supported — each appears as a separate device
Each charger appears as its own device. The following entities are created per charger:
| Entity | Description |
|---|---|
| Charger Status | Available, Charging, Standby, or Unavailable. CURRENT's own status is in the current_status attribute |
| Session Energy | kWh delivered in the current session |
| Charging Duration | Minutes of active power delivery this session |
| Live Power | Current power draw in kW (0 when idle) |
| Live Current | Current draw in amps, with per-phase values as attributes (0 when idle) |
| State of Charge | Battery % (if reported by the car over OCPP) |
| Last Session Energy | kWh delivered in the last completed session |
| Last Session Cost | Cost of the last completed session (account currency) |
| Entity | Type | Description |
|---|---|---|
| EV Charging | Switch | Start/stop the charging session |
| Require Authentication | Switch | Toggle RFID/app authentication requirement |
| Cable Lock | Switch | Toggle permanent cable locking |
| Restart Charger | Button | Send a reset command to the charger |
The integration reads your whole charging history from CURRENT and writes it to Home Assistant's long-term statistics. Every charger gets two statistics:
| Statistic | Unit |
|---|---|
current:charger_<id>_energy |
kWh |
current:charger_<id>_cost |
Account currency |
This includes sessions from before the integration was installed and sessions that finished while Home Assistant was down. The history is read when Home Assistant starts and again whenever a session finishes or CURRENT revises one.
To see the charger's usage in the Energy dashboard, add the energy statistic under Settings → Dashboards → Energy → Individual devices. Both statistics can also be shown with a Statistics graph card, for example charging costs per month.
- CURRENT only reports a total for each session. Its energy and cost are spread evenly from when the car was plugged in until it was unplugged, so hourly values are an estimate, and so is how a session that runs past midnight is split between the days. Each session's total is exact.
- A session appears in the statistics once it has finished.
- Don't also add the Session Energy sensor to the Energy dashboard, or every charge is counted twice.
- Add this repo to HACS as a custom repository
- Install CURRENT in HACS
- Restart Home Assistant
- Go to Settings → Devices & Services → Add Integration and search for CURRENT
- Enter your CURRENT account email and password
- The CURRENT API caches session data server-side and typically updates once per minute, so sensor values may lag up to ~60 seconds after charging starts or stops.
- This integration uses the same API endpoints as the CURRENT mobile app. These are not officially documented as a third-party API and may change without notice.
- Chargers added to your CURRENT account after the integration is set up will not appear automatically — reload the integration from Settings → Integrations to pick them up.
Tests run against pytest-homeassistant-custom-component and need Python 3.13:
pip install -r requirements_test.txt
pytest tests
ruff check custom_components tests devThe API is faked in tests/conftest.py using responses captured from a real account, stored in tests/fixtures/api_responses.json. To refresh them after CURRENT changes its API:
CURRENT_EMAIL=you@example.com python3 dev/probe_api.pylogs in, calls the read-only endpoints the integration uses, and writescurrent-probe-raw.json(private) andcurrent-probe-scrubbed.json(identifiers redacted). It never sends charger commands. Logging in issues new tokens, so Home Assistant may ask you to re-authenticate afterwards.- Check the scrubbed file for anything personal, then run
python3 dev/make_fixtures.pyto rebuild the fixtures with fake identifiers.
The probe captures whichever state the charger is in, and the other state is derived from it: an idle capture gets a charging session built from the newest history session, and a charging capture gets an idle charger with its live readings zeroed. The notes at the top of the fixture file say which parts are derived.
- Automatic re-registration when charger list changes (no reload required)
- Charging schedule / smart charging controls