How to add an EV charger via OCPP 1.6J
General guide for connecting any OCPP 1.6J‑compatible wallbox to the Reduxi Controller, so that the Controller can monitor and control charging with PV surplus and load management.
1 Technical documentation
OCPP (Open Charge Point Protocol) is an open, manufacturer‑independent protocol between an EV charger and a management system. In this setup the Reduxi Controller acts as the local OCPP server (central system) and the charger connects to it as a charge point – no cloud service is needed. Any charger that supports OCPP 1.6J (JSON over WebSocket) and allows a freely configurable server address can be connected this way.
Manufacturer documents:
- OCPP manual of your charger – where OCPP is enabled, which fields exist (server URL, charge point ID, security profile) and which OCPP messages are supported
- Open Charge Alliance – OCPP 1.6 specification: openchargealliance.org
2 Required equipment
- OCPP 1.6J‑compatible EV charger, installed and commissioned by a qualified electrician
- Charger connected to the same local network as the Reduxi Controller (Wi‑Fi or LAN via router)
- Access to the OCPP settings of the charger – manufacturer app, local web interface or installer tool
- Reduxi Controller with a static IP address and a matching IP reservation in the router (e.g.
192.168.31.73, see Point 3.3) – the address is also shown in the Reduxi Configurator as Controller OCPP JSON 1.6 URL when you add the device - Charge point ID of the charger (often the serial number – shown in the app, web interface or on the type plate)
- Laptop or tablet with internet access for the Reduxi Configurator
3 System overview & network
The charger opens a WebSocket connection to the Reduxi Controller and identifies itself with its charge point ID. The Controller assigns the connection to the device with the same device identifier and then reads measurements and sends charging limits.
3.1 How OCPP communication works
OCPP is a push protocol: the charger establishes the connection – not the Controller. The charger (OCPP client) opens a permanent WebSocket connection to the Reduxi Controller (OCPP server) and keeps it open. All messages in both directions then run over this one connection: the charger pushes its status and meter values on its own, and the Controller sends its charging limits back through the same channel.
| Direction | Messages | Purpose |
|---|---|---|
| Charger → Controller | BootNotification, Heartbeat | Registration after start‑up and keep‑alive of the connection |
| Charger → Controller | StatusNotification, MeterValues, Start/StopTransaction | Charger state, currents, power and energy – pushed by the charger at its own interval |
| Controller → Charger | SetChargingProfile | Charging current limit according to PV surplus and load management |
| Controller → Charger | TriggerMessage, RemoteStart/Stop | Request current values, start or stop a charging session |
3.2 Addresses and URL
| Component | Role | Address / setting |
|---|---|---|
| Reduxi Controller | OCPP server (central system) | ws://<Controller IP>/ocpp/1.6/json |
| EV charger | OCPP client (charge point) | Connects to the URL above + its charge point ID |
| Full URL used by the charger | – | ws://192.168.31.73/ocpp/1.6/json/<Charge point ID> |
ws:// (unencrypted, local network only). Some chargers only allow wss:// or require a certificate/security profile – these cannot connect to the Controller locally. Choose WS, security profile 0 or None if offered.3.3 Static IP for the Controller + reservation in the router
Because the charger always connects to a fixed address, the Reduxi Controller needs an IP address that never changes. Do both of the following – the static IP keeps the address on the Controller, the reservation prevents the router from giving the same address to another device:
192.168.31.73. The Controller is identified by its MAC address – if it uses LAN and Wi‑Fi, reserve the address for the interface that is actually connected.
3.4 Connection to an external OCPP backend – the Controller as proxy
Most chargers can connect to only one OCPP backend. If a backend is still needed in addition to Reduxi – e.g. a charge point operator (CPO) for billing and RFID or the manufacturer cloud – the Reduxi Controller acts as a proxy: the charger connects only to the Controller, and the Controller forwards the OCPP communication to the external backend and passes its replies back to the charger.
- On the charger: enter only the Reduxi Controller URL (see Point 4.2) – not the backend address.
- In Reduxi: enter the backend URL (and username / password, if the backend requires them) in the Forward communication fields of the device (see Point 6.2). Use the URL exactly as provided by the backend operator.
- Control stays local: the charging current is set by the Reduxi Controller in the local network – PV surplus charging and load management keep working even if the internet connection or the backend is unavailable.
- Without an external backend: leave the Forward communication fields empty.
4 Configure OCPP on the charger
Menu names differ between manufacturers. The steps below describe the settings every OCPP 1.6J charger needs – look for the matching fields in your charger’s app or web interface (often under Network, Backend, Connectivity or OCPP).
4.1 Enable OCPP 1.6J
4.2 OCPP server settings
Enter the following values. Depending on the charger, the address is entered as one complete URL or split into several fields:
| Field (typical names) | Value |
|---|---|
| Server URL / Central system URL / Backend URL |
ws://192.168.31.73/ocpp/1.6/json/ (Controller IP) |
| or split: Protocol · Host · Port · Path |
WS · Controller IP · 80 · /ocpp/1.6/json/
|
| Charge point ID / Charge box identity / Station ID | Unique ID, usually the serial number, e.g. CP123456
|
| Append ID to URL / Add SN to URL | On – if the charger offers this option |
| Username / Password (Basic Auth) | empty |
| Security profile / TLS / Certificate | None / 0
|
ws://192.168.31.73/ocpp/1.6/json/CP123456. Some chargers add the ID automatically (option “Append ID to URL”), others expect the complete URL including the ID. Make sure the ID appears exactly once – otherwise the Controller cannot assign the connection.Save the settings. The Controller URL is also shown in the Reduxi Configurator (see Point 6.2).
4.3 Further OCPP options
| Option | Recommendation |
|---|---|
| Fallback current / Failsafe current | Charging current used if the OCPP connection to the Controller is lost. Set a value that is safe for the house connection. |
| Authorization / RFID / Free charging | Many chargers activate access management with OCPP. Allow free charging on the charger or set Allow new charging session = Always in Reduxi (see Point 6.2). |
| Phase assignment / Phase rotation | Assignment of the charger phases to the grid phases. Must match the wiring so that load management reduces the right phase. |
| MeterValues interval / Heartbeat | Leave at default; if offered, a MeterValues interval of 10–60 s is suitable. |
| Other backends / cloud | Most chargers support only one OCPP backend. If a cloud backend is still needed, use the Forward communication option in Reduxi instead – the Controller then acts as a proxy (see Point 3.4). |
5 Log in to the Reduxi web interface
The Reduxi Configurator can be opened remotely via the tunnel connection in the Reduxi app or locally in a web browser in the same network. Both lead to the same web interface.
http://192.168.31.73) or http://reduxi.local.admin · Password: admin (factory default).
ws://<Controller IP>/ocpp/1.6/json.6 Add the charger to Reduxi
6.1 Basic settings
6.2 Communication settings
| Field | Value |
|---|---|
| Device identifier | Charge point ID of the charger – exactly the ID at the end of the OCPP URL (case‑sensitive) |
| Connector |
1 (for chargers with two outlets: 1 or 2, one Reduxi device per connector) |
| Charger type |
AC (or DC for DC chargers) |
| Energy counter | Default |
| Allocate power to EVSE when EV is not connected | Default |
| Per phase max. current | Auto detect from EVSE or Manual override with the fused current, e.g. 32 A (22 kW) or 16 A (11 kW) |
| Forward communication / username / password / measurements to backend OCPP server | empty – only needed if an external OCPP backend is used in parallel: backend URL and, if required, username / password (see Point 3.4) |
| Allow new charging session | Always |
| Controller OCPP JSON 1.6 URL | read only, e.g. ws://192.168.31.73/ocpp/1.6/json – this is the address entered on the charger (see Point 4.2) |
Check the values and click Done to save the device.
6.3 Test communication
With OCPP the charger connects to the Controller by itself – no IP address of the charger is needed. Open the device again (Devices → [Charger] → Details) and click Test communication at the bottom right.
- 1Number of devices found on OCPP – JSON 1.6 shows how many chargers are connected to the Controller via OCPP.
- 2Device identifier must show the charge point ID of your charger. If it does not appear, the charger is not connected – check the OCPP settings (see Point 4.2).
- 3On the charger, the OCPP / backend status should show Connected or Accepted.
- 4Final check: live values and Communication error = OFF (see Point 7).
7 Check the readings
Open Devices → [Charger] → Last measurements:
| Value | Meaning |
|---|---|
| Control type |
Auto = controlled by the Reduxi strategy · Manual · Off
|
| Current L1 / L2 / L3 | Charging current per phase |
| Max. current per phase | Maximum current of the charger (e.g. 32 A) |
| Active power / Max. active power | Current charging power and maximum power (e.g. 22 kW) |
| Import active energy / session | Total charged energy and energy of the current session |
| Communication error | Must be OFF
|
| State name | Current OCPP state of the charger, e.g. AVAILABLE, PREPARING, CHARGING, SUSPENDEDEV
|
✓ Summary
Preparation (Points 1–3): charger with OCPP 1.6J, charger and Reduxi Controller in the same network, Controller with static IP + IP reservation in the router, external backend (if any) forwarded via Reduxi, charge point ID at hand.
Charger (Point 4): enable OCPP 1.6J, protocol WS, server URL ws://<Controller IP>/ocpp/1.6/json/ + charge point ID, no authentication / TLS.
Add to Reduxi (Points 5–6): EV charger · OCPP 1.6 - JSON, device identifier = charge point ID, connector 1, AC, allow new charging session = Always.
Go live (Point 7): charger shows the backend as connected, Reduxi shows live values and communication error OFF.
→ Common issues
| Issue | Solution |
|---|---|
| Charger does not connect / status stays “Not connected” | Check the server URL (Controller IP, path /ocpp/1.6/json/), protocol WS (not WSS), port 80, no TLS / security profile, and that both devices are in the same network. |
| Charger is connected, but Reduxi shows no data | The device identifier in Reduxi must match the charge point ID at the end of the URL exactly (case‑sensitive). Check that the ID is not missing or appended twice. |
Charger only offers wss:// or requires a certificate |
A local connection to the Controller is not possible. Check for a firmware update or a setting for unencrypted OCPP. |
| Connection lost after a router restart | The Controller got a new IP address. Set a static IP on the Controller, reserve it in the router (see Point 3.3) and update the server URL on the charger. |
| Unwanted charging behaviour when the Controller is offline | Set a fallback / failsafe current on the charger (see Point 4.3). |
| Car does not start charging | OCPP often activates access management – set Allow new charging session = Always in Reduxi or enable free charging on the charger. |
| Charging current is not reduced | The charger must support SmartCharging (SetChargingProfile). Check the charger’s OCPP documentation and firmware version. |
| Load management reduces the wrong phase | Check the phase assignment on the charger and in Reduxi (Advanced configuration → “L1/L2/L3 is connected to main feed”). |
| External backend (CPO / cloud) receives no data | The charger must be connected only to Reduxi. Enter the backend URL and credentials in Reduxi under Forward communication (see Point 3.4). |
| OCPP is connected, but control or readings do not work correctly | Possibly a manufacturer‑specific adaptation of the OCPP protocol – contact Reduxi support at support@reduxi.zendesk.eu (see the note below). |