Skip to content
Home Assistant TestFlight
Energy

Open Charge Point Protocol (OCPP)

lbbrhzn/ocpp · vv0.12.2

HACSLocal push

Home Assistant integration for electric vehicle chargers that support the Open Charge Point Protocol (OCPP).

In Apple Home through HomeKit Bridge

What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.

EntityShows up asNote
switchSwitch or outlet
sensorSensor (temperature, humidity, air quality…)
buttonButton (as a switch)

What people report

Many OCPP 1.6 wallboxes (Autel, Sigenergy, ABB) work, but quirky firmware is common: Grizzl-E units broke after firmware updates and some chargers need handshake or profile workarounds.

  • Works3
  • Partly works3
  • Not working3
DeviceIn Home AssistantIn Apple HomeWhat they saidSource
ABB Terra AC-W22-T-0WorksBootloop on firmware 1.8.21 with OCPP 0.5.8; fixed after report
Saved copy
Describe the bug ABB Terra AC-W22-T-0 (listed as supported) keeps booting with these notifications showing up. Controls are avaliable for a few seconds, until it reboots again. Screenshots Versions etc. OCPP v0.5.8 HA 2024.8.1 Charger firmware: V1.8.21 (Newest) Debug logging from HA (Not really sure if I'm including enough?) Traceback (most recent call last): File "/usr/local/lib/python3.12/site-packages/websockets/legacy/protocol.py", line 963, in transfer_data message = await self.read_message() ^^^^^^^^^^^^^^^^^^^^^^^^^ File …

Excerpt saved from GitHub on 2026-10-23.

Issue #1275 · 2024-08
Autel MaxiCharger ACWorksDocumented as supported over plain ws; connector status caveat noted
Saved copy
Follow-up to #2072, which merged before I could get these into it, I'd left them as a comment there. All three come from two `MaxiChargerAC` units running here on OCPP 1.6-J. The section reads as though TLS were required. Everything documented so far is the `wss://` + reverse-proxy path, which is the harder setup. A plain `ws:// :9000` on a LAN works with no certificate handling at all. The TLS instructions are worth keeping, they just needed a line saying what they're for. The reported model, and a vendor claim worth contradicting. These report vendor `Autel`, model `MaxiChargerAC`, …

Excerpt saved from GitHub on 2026-10-23.

PR #2076 · 2026-08
Sigenergy Sigen EV DC chargerWorksTested-device notes added; firmware V100R001C21SPC117
Saved copy
Summary Add a tested-device entry for the Sigenergy Sigen EV DC charger in `docs/supported-devices.md`. Tested hardware reports vendor `SIGEN`, model `EVDC 25 7.5S2`, firmware `V100R001C21SPC117`, with one connector. Testing used integration release `v0.12.0` (tag commit `848407c`) on 4 October 2026. ## Evidence and scope - Native connector lifecycle and transaction/session telemetry were observed. - The tester reports that supported measurands were not automatically detected. The entry now documents manual measurand configuration and separate entity enablement, with live-reading checks …

Excerpt saved from GitHub on 2026-10-23.

PR #2181 · 2026-10
Autel MaxiCharger US AC LW10-N14Partly worksFirmware omits Connection: Upgrade header, so WebSocket handshake fails; fix PR not merged
Saved copy
Problem Some charger firmware (e.g. Autel MaxiCharger US AC LW10-N14, fw v1.38.00/v1.22.00) omits the required `Connection: Upgrade` header from the WebSocket opening handshake. `websockets` 14+ strictly validates this header and raises `InvalidUpgrade`, so the affected chargers can never connect to the OCPP central system. ### Fix Add a `process_request` hook (`_fix_missing_connection_header`) that injects `Connection: upgrade` before the library validates the handshake, only when the header is absent. Logs a warning recommending a firmware update. No effect on compliant chargers (covered by …

Excerpt saved from GitHub on 2026-10-23.

PR #1984 · 2026-06
BYD AC0207EI50 chargerPartly worksFirmware 0.4.14 truncates SupportedFeatureProfiles; tolerance fix proposed, PR closed
Saved copy
Fixes #2206 Some chargers (e.g. BYD AC0207EI50 with firmware 0.4.14) truncate the `SupportedFeatureProfiles` value in their `GetConfiguration` response, reporting `RemoteTrigge` instead of `RemoteTrigger` (the frame analysis by @zacaro suggests a fixed ~85 character buffer). The exact-match parsing in `get_supported_features()` then ignores the profile, so `post_connect` skips `TriggerMessage` (BootNotification / StatusNotification) and a persistent warning is logged on every start. ## Change When the exact match fails, fall back to a prefix match against the known profile names (`Core`, …

Excerpt saved from GitHub on 2026-10-23.

PR #2210 · 2026-10
Compleo eBox smartPartly worksWorks for automations; Bluetooth setup, firmware update over OCPP needs sftp URL
Saved copy
Glad I could help 😄 Another update from my side, the eBox I first tested with broke due to unrelated issue, so it’s now replaced with an eBox smart S, firmware 1.2.3 With that device the web interface briefly worked and now it is no longer reachable even after restarts and also in home assistant I get like 50 notifications every day that the device restarted, so I will probably update the firmware via ocpp soon. How was your experience with the updates?

Excerpt saved from GitHub on 2026-10-23.

Issue #1612 · 2025-04
Grizzl-E Smart 40ANot workingNew firmware blocks OCPP configuration page; no fix, issue stale
Saved copy
WiFi Version: ULGRW000A-03.14.1 EVSE Version: GRU077L-01.07.3 Grizzl-E Ultimate 48. Same issue, was hoping emitclever's tricks would work, but {grizzle-IP}/info just returns "failed to read existing file" (which is the same message I get when going to any {grizzle-IP}/{random string} on the charger). grizzle-ip/ocppconfig still asks for password. the tampermonkey script runs/injects, but doesn't appear to work to get me in, (still asks for a password, still doesn't load regardless of what/if I type in and hit "sign in").

Excerpt saved from GitHub on 2026-10-23.

Issue #1652 · 2025-07
Grizzl-E Smart v2Not workingSensors unavailable, supported profiles never returned; maintainer blames buggy firmware
Saved copy
Describe the bug Grizzl-e Smart v2 does not work with the OCPP integration version 0.4.40 Firmware WiFi Module: GWM-07.013-03 Firmware Power Board: GCW-10.18-05.7 To Reproduce Upon configuring the Grizzl-e, it connects and has the following errors in the HA logs: ``` This error originated from a custom integration. Logger: custom_components.ocpp Source: custom_components/ocpp/api.py:212 Integration: Open Charge Point Protocol (OCPP) (documentation, issues) First occurred: September 7, 2023 at 5:42:35 PM (9 occurrences) Last logged: 9:29:52 AM Skipping websocket subprotocol validation This …

Excerpt saved from GitHub on 2026-10-23.

Issue #899 · 2023-09
Grizzl-E Ultimate 48Not workingFirmware update broke OCPP; support says fix pending
Saved copy
WiFi Version: ULGRW000A-03.14.1 EVSE Version: GRU077L-01.07.3 Grizzl-E Ultimate 48. Same issue, was hoping emitclever's tricks would work, but {grizzle-IP}/info just returns "failed to read existing file" (which is the same message I get when going to any {grizzle-IP}/{random string} on the charger). grizzle-ip/ocppconfig still asks for password. the tampermonkey script runs/injects, but doesn't appear to work to get me in, (still asks for a password, still doesn't load regardless of what/if I type in and hit "sign in").

Excerpt saved from GitHub on 2026-10-23.

Issue #1652 · 2025-08

Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.

How it connects

Local push

Talks to the device on your network, and the device tells Home Assistant the moment something changes.

Details

Installs (analytics)2,675 (0.38%)
GitHub stars409
Latest versionv0.12.2 (2026-10-19)
Set up in the UIYes
Maintainers@lbbrhzn, @drc38
LicenseMIT

Notable forks

Forks with stars, or with code pushed at least 90 days after the original’s last push. Useful when the original goes quiet.

ForkStarsLast pushDescription
stefanthoss/ocpp-grizzl-e★ 72025-04-16Home Assistant integration for the Grizzl-E Smart charger with its faulty OCPP implementation
djiesr/ocpp★ 62025-09-10Home Assistant integration for Grizzl-E Smart chargers patch to support the Open Charge Point Protocol (OCPP).
archerjm/ocpp_projectev★ 42022-09-17Home Assistant integration for electric vehicle chargers that support the Open Charge Point Protocol (OCPP). Version to work with ProjectEV (Atess) Charger.

In ReReHome

Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.

Bridges get their own settings page listing the accessories behind them.