Hi all,
I’ve just released a community Home Assistant integration for EV chargers managed through the Tap Electric platform. It’s been running live on my own setup (EVBox Elvi on Tap) for a few weeks, and I figured I’d open it up for others to try.
Repository
Install via HACS (custom repository for now)
- HACS → three dots → Custom repositories
- URL:
https://github.com/weemaba999/homeassistant-tap-community - Category: Integration → Add → Install
- Restart Home Assistant
- Settings → Devices & Services → Add Integration → Tap Electric
HACS Default submission is on the roadmap once the installer path has seen some real traffic.
What it does
Basic mode (just an sk_ API key from the Tap developer portal):
- Charger status, session history, energy totals
- Charging allowed switch, current limit, remote reset
- Connector/plug/charging binary sensors
- OCPP measurands where the charger emits them (my EVBox Elvi only emits
Energy, but Alfen / Wallbox / Zaptec etc. likely do more — those entities are default-disabled so you don’t see ~20 “Unavailable” entities on EVBox)
Advanced mode (optional, Firebase email+password):
- Live session energy, duration, start time
- Current driver name and location
- Same credentials you use in the Tap mobile app
Both modes: graceful degradation on network issues, dynamic coordinator interval (30s during active session, 5 min idle), automatic token refresh, reauth flow on credential expiry.
Status
- v1.0.0 live on GitHub Releases
- 185 pytest cases green in CI (pytest-homeassistant-custom-component)
- Hassfest + HACS validation passing
- MIT licensed, NOT affiliated with Tap Electric B.V. (pending their blessing on branding, currently ships as “Tap Electric Charger (Community)” with a generic icon)
Known quirks
- Tap’s public API has
GET /charger-sessions/{id}return 404 — the session detail endpoint only lives on the management API. Advanced mode bridges this. - ~22% of sessions lack
endedAton the public API (orphan sessions). The coordinator cross-checks against connector status. - Some measurand entities will always be “Unavailable” on certain chargers (hardware-dependent, not a bug). Default-disabled where known.
Looking for
- Testers with non-EVBox chargers (Alfen, Wallbox, Zaptec) — want to know which measurands your charger actually emits.
- Native DE / FR speakers — translations are machine-generated, could use a proof-read.
- Feedback on the options flow, setup UX, entity naming.
Questions, issues, or “my charger does X but the integration says Y” reports welcome here or on GitHub issues.
Cheers,
Bart