Skip to content

Battery Analytics

The battery analytics page (/battery) tracks long-term battery health, state of charge, charging behavior, and the 12V low-voltage system for the active vehicle.

battery analytics

Date Range Filter

Pick 7d, 30d, 90d, YTD, or All from the filter bar. The selected range is stored in the URL as ?range=….

Health Summary Cards

Four summary tiles appear at the top:

  • Est. Degradation — current pack capacity as a percentage of the vehicle's rated gross capacity
  • Pack Capacity — current gross kWh vs rated gross kWh, with the delta
  • Range — latest reported range vs the rated max range, with the delta
  • 12V Battery — latest low-voltage (starter) battery voltage and charge level

The cards use the most recent ev_battery_status record. If Home Assistant does not provide capacity data, the tiles show a "no data" state.

Usable vs gross capacity

LightningROD tracks two capacity numbers per vehicle:

  • Usable capacity is the energy you can actually drive with.
  • Gross capacity is the full battery size reported by FordPass.

The health card compares gross to gross so a fresh pack reads close to 100%. If the two values are mixed up, the percentages will be wrong. Both values live on the vehicle record in Settings → Vehicles and can be filled from the preset table.

SOC Timeline

The main chart shows state-of-charge over time, with:

  • Color-coded charging regions -- brighter green areas highlight periods where power was positive, so charging sessions stand out from rest
  • Click-to-drill -- click a charging region to filter the Charge Curve panel below to that session
  • Gap-aware -- data gaps appear as breaks instead of connected lines

Large ranges are simplified on the server to keep the page fast even with years of data.

Charge Curve

A charge curve with SOC % on the X-axis and kW on the Y-axis. Up to three lines can appear:

  • Reference curve — a pre-configured model curve for the active vehicle (loaded from reference_charge_curves/*.json)
  • Average curve — your own average across recent DC sessions
  • Session curve — the specific session selected above, if any

A temperature toggle in the legend lets you overlay battery temperature as a second axis.

Fallback

When fewer than 3 detailed battery_status points exist for a session, the app draws a simple line between the start and end SOC. The chart still renders, but the result is less precise.

Battery Degradation

A scatter plot of usable capacity against odometer mileage (km or mi depending on units) with a projected trend line. Date-based degradation is used only when odometer data is missing.

12V Battery Trend

A time-series chart of the low-voltage battery voltage across the current date range. It can help spot parasitic drain or an aging 12V battery early.

Performance Notes

  • Secondary charts (degradation, charge curve, 12V) load when you scroll to them instead of on the initial page load.
  • "All"-range queries use server-side downsampling to keep response times reasonable, even with years of data.