Works with · Push API

Charge your EV on excess solar with Home Assistant

If Home Assistant can read your solar and grid, SundialEV can charge from them. A short REST command posts your readings to SundialEV's push API, and SundialEV treats them like a native connection — any inverter, any meter, local data.

Four steps, no new hardware

  1. Mint a push key
    In SundialEV: Device setup → Solar → Advanced options → Custom push telemetry. Save the key — it's shown once.
  2. Add a REST command
    Post production (and ideally net grid power) in kW to https://www.sundialev.com/api/public/push-solar-data — example below.
  3. Send every 20–60 seconds
    A time-pattern automation calling the REST command is enough. Faster than every ~20 seconds gets rate-limited.
  4. Connect your car or charger, and plug in
    A Tesla directly, or any EV through a Wallbox Pulsar Plus or Emporia charger.
rest_command:
  sundialev_push:
    url: https://www.sundialev.com/api/public/push-solar-data
    method: POST
    content_type: "application/json"
    payload: >-
      {"apiKey": "sk_sundial_…",
       "siteMeters": {
         "production_kW": {{ states('sensor.solar_power_kw') | float(0) }},
         "net_import_kW": {{ states('sensor.grid_power_kw') | float(0) }}}}

automation:
  - alias: Push solar to SundialEV
    trigger:
      - platform: time_pattern
        seconds: "/30"
    action:
      - service: rest_command.sundialev_push

A minimal example — rename the sensors to yours, and keep the key in secrets. Field list on the push API page.

SundialEV dashboard: the car charging on solar with live solar, battery, home, grid and car power
Charging on surplus, live

What Home Assistant gives SundialEV, and its limits

Provides

  • production_kW (required)
  • net_import_kW — positive importing, negative exporting (recommended)
  • battery_soc and battery_discharge_kw (optional)

Known limits

  • Your feed has to keep running: data older than 10 minutes counts as stale, and solar charging pauses until it resumes.
  • Requests faster than every ~20 seconds get HTTP 429.
  • The payload matches ChargeHQ's, so an existing ChargeHQ push script needs only a new URL and key.

What would charging on surplus save you?

Enter your zip and the calculator uses your utility's real rates.

Frequently asked questions

Is there a native Home Assistant integration?
Not yet. The push API is the supported path: a REST command and an automation, no custom component.
What sign convention does grid power use?
net_import_kW is positive when you import from the grid and negative when you export. Full field list on the push API page.
How often should Home Assistant send readings?
Every 20–60 seconds. Faster than every ~20 seconds gets HTTP 429, and if nothing arrives for 10 minutes SundialEV pauses solar charging until the feed resumes.

Put your surplus in the car

Connect Home Assistant in a few minutes.