Skip to content
← All posts

Car SOC for everyone

Another smart part of the charger — stopping at a target charge, estimating how long a session will take — needs one number the charger can’t read on its own: your car’s state of charge (SOC). Almost no EV exposes SOC over a local API, so the charger has to be told.

There are several ways to get SOC into the charger. Pick the one that fits you:

  • The simplest is to reply to an alert from your phone; the EVSE estimates the added SOC based on energy delivered and your battery pack settings.
  • Happen to have SOC in Home Assistant? Send it directly to the EVSE using the Home Assistant integration.
  • If you have a BLE OBD-II dongle, we are working on a simple and cheap ESP32 device you can install near the EVSE that detects when your EV arrives and is plugged in, publishing the SOC for you.
  • You can always build your own automation using the API directly or via WSS MQTT.

Option 1 — Reply to the plug-in alert (no setup, works for everyone)#

Plug your EV in, get a nudge, set the battery level — done.

Turn it on once#

  1. Open the EVSE app or web app.
  2. Open the Alerts section — the bell in the top right corner of the device card.
  3. Toggle Battery % prompt to ON.

Then, every time you plug in#

When the charger sees the car connect and it doesn’t already know the SOC, it sends you an alert - tap on it to move straight into the current battery level settings of the EV on the app.

That seed is all the charger needs. From there it tracks SOC by adding the energy it delivers on top of your starting number, so time-to-target and stop-at-SOC stay accurate for the whole session.

Need to set it any time, not just on plug-in? Set it from the app.

Don’t forget to set the correct usable battery capacity of your EV in EVSE settings → Battery Model → Pack Size (kWh). The closer to the real capacity, the better the SOC prediction.

Now you’re ready to plan your charging session, including a target SOC. It integrates nicely with the scheduler to charge on cheap solar or in specific time windows.

Option 2 — Push SOC from Home Assistant#

If your car already reports its battery level to Home Assistant (through the manufacturer’s integration, for example), let Home Assistant feed it to the charger — no manual step at all.

  1. Install the Home Assistant integration (charger firmware 2.2.+ or newer).
  2. Go to Settings → Devices & Services → APR EVSE → Configure.
  3. Pick your car’s SOC sensor under Car battery level (%).

The value is sent on every change and stays valid for 24 h. Unlike the alert reply, this is a live reading, so the charger uses it as-is instead of estimating.

Option 3 — BLE OBD-II dongle (coming soon)#

No car integration? Most EVs report SOC over the OBD-II port. We’re building a small, cheap ESP32 device that sits near the EVSE, detects when your EV arrives and is plugged in, reads SOC from a BLE OBD-II dongle left in the car, and publishes it to the charger for you.

Stay tuned — we’ll post the details when it’s ready.

Option 4 — Roll your own (API or WSS MQTT, advanced)#

If something already knows your SOC — a home battery gateway, a vehicle-API script, your own home automation — publish it directly:

  • Local API — the charger speaks plain HTTP and WebSocket on your LAN.
  • WSS MQTT — external sources connect to a sandboxed ingestion MQTT broker over WSS, so it works from anywhere, not just your LAN.

This setup opens new integration possibilities and stretches far beyond car SOC automation. Stay tuned for a future blog post detailing how to set up WSS MQTT and enable direct EVSE access.