askacharge.com blog
ESEN
For your brand

Your EV chargers in Home Assistant, without giving up billing

A charger speaks OCPP to one server at a time. If you point it at Home Assistant you get local control and lose tariffs, RFID cards and payments; if you point it at a charging platform, it disappears from Home Assistant. The askacharge.com integration covers the second case: the charger stays on askacharge.com and Home Assistant sees it and starts and stops it through the API.

askacharge.com · Home Assistant · 7 October 2026

Which one you need

Your caseWhat fits
One charger at home, you want local control and nobody pays for chargingThe OCPP integration: Home Assistant becomes the OCPP server. No cloud in between.
Chargers that other people use and pay for: guests, tenants, employees, a car parkA charging platform as the OCPP server, and this integration to see them in Home Assistant.
Several sites, or chargers you manage for othersThe same: the platform runs the chargers and Home Assistant is one more window onto them.

The two do not mix on the same charger: the charger connects to one server. Pick by who needs to bill, not by which one has more sensors.

Chargers in different places, in the same Home Assistant

Each charger talks to askacharge.com over its own internet connection, and Home Assistant asks askacharge.com. That is why the charger and Home Assistant do not need to be on the same network: the one at home, the one at work and the one at the holiday home show up together, each as a device with its status, its energy and its charging switch.

Are they your own home chargers and nobody pays to use them? We're preparing askacharge.com/casa for exactly that: the first one free. It isn't open yet; you can join the waiting list.

1. Install it

  1. In HACS: ⋮ → Custom repositories → https://github.com/javierojan/askacharge-homeassistant, category Integration.
  2. Install askacharge.com and restart Home Assistant.
  3. Settings → Devices & services → Add integration → askacharge.com, and paste the API key.

Without HACS, copy custom_components/askacharge from the repository into your config/custom_components/.

2. The key: only what it needs

Create it in the askacharge.com panel, API Keys menu:

PermissionWhat it allows
sessions:readRequired. Status of every charger and the session in progress.
commands:remote-start + commands:remote-stopOptional. The start/stop switch. Without them, the switch returns an error and nothing else changes.

Nothing else: it cannot reset, update firmware or change prices. Every write it makes is in the panel's API key activity log. Do not limit the key to a location: the live view covers the whole brand and a location-limited key is refused there.

3. What appears

One device per charger, refreshed every 30 seconds with a single request for all of them:

EntityWhat it is
StatusOCPP status: available, charging, suspended by vehicle, faulted…
Session energykWh of the session in progress, 0 when idle. Can go on the Energy dashboard
PowerkW, from the charger's own Power.Active.Import readings
Session duration / startOf the session in progress
OnlineThe charger's connection is open right now (not the same as the last status it reported)
ChargingA session is open
Charge (switch)On = remote start, off = remote stop

4. Tested in production

On 7 October 2026, against askacharge.com with a simulated charger, this is what the integration read:

// switch on → remote start
start: {"status": "Accepted", "id_tag": "PANEL"}
// 5 s later
status: Charging · session open · energy 0.0 kWh
// 10 s after that, first meter reading
status: Charging · energy 0.17 kWh · power 20.34 kW
// switch off → remote stop, 5 s later
status: Finishing · no session

The test found a fault on our side: the live view reported 0 kWh until the session ended, because the energy was only calculated on the stop. It now comes from the last meter reading, for this integration and for the panel's dashboard.

5. Two automations to start with

Entity IDs come from the charger's name and your Home Assistant language: copy them from the device page. Here, a charger called GARAGE-01 in an English-language Home Assistant.

Tell me when the car has finished:

automation:
  - alias: "Charge finished"
    triggers:
      - trigger: state
        entity_id: binary_sensor.garage_01_charging
        from: "on"
        to: "off"
    actions:
      - action: notify.mobile_app_my_phone
        data:
          message: "Charging finished: {{ states('sensor.garage_01_session_energy') }} kWh"

Warn me if a charger drops off the network for more than ten minutes:

automation:
  - alias: "Charger offline"
    triggers:
      - trigger: state
        entity_id: binary_sensor.garage_01_online
        to: "off"
        for: "00:10:00"
    actions:
      - action: notify.mobile_app_my_phone
        data:
          message: "The garage charger has been offline for 10 minutes"

Limits worth knowing

Try it without hardware

Every brand can create up to 10 simulated chargers from the panel. They speak OCPP to the platform like real ones, charge, send readings and answer start and stop, so you can wire up Home Assistant before the first real charger is installed.

Code, issues and releases: github.com/javierojan/askacharge-homeassistant (MIT). The rest of the API is in the technical documentation.

Create an account, add simulated chargers and connect Home Assistant: 30 days free, no card.

Create an account on askacharge.com