Changelog¶
All notable changes to LightningROD are documented here.
For feature documentation, see the docs site at https://squidbytes.github.io/LightningROD/.
[Unreleased]¶
Added¶
Changed¶
Fixed¶
Removed¶
[0.4.0] - 2026-05-25¶
Added¶
- Cost Explorer card on the Costs page — interactive, view of prices and total spent. Replaces the old Actual/Estimated, Cost card & view. by Network, Savings vs Network, and Subscription Savings sections.
- Multi-select network filter
- Free-charging "what-if"
- Reference-rate comparison (pick a network or enter a custom $/kWh)
- Per-network ledger with Δ vs reference
- Subscription "With / Without / Net saved" readout
-
36 - Settings → Fuel tab — multi-ICE-vehicle table (mark one as default), gas price history, and a fuel price trend chart. Gas/ICE configuration relocated out of General.¶
- Settings → Data Sources tab — register and configure HA-FordPass and HA gas-price sources
- Battery page HV Pack Telemetry card — temperature, voltage, amperage, and power, each with a 7-day sparkline.
- Battery page Battery Temperature Over Time chart with battery (solid) + outside-air (dashed) traces and charging-region overlays.
- Trip drawer fields populated: odometer start/end, duration, and regen recovered (I hope)
- Trip score column rendered as a color-banded radial-progress gauge.
- Column-header sort on
/driving/sessions(replaces the toolbar). - Demo Site and SQLite deployment option
- Backend changes for data source abstraction
- Backend changes for easier de-duplication (
uuid5)
Changed¶
- Docker deployments pull from GHCR images instead of needing to be built locally
- Documentation updated
- SQLite is the default for docker/docker-compose.standalone.yml
- Docker compose still uses Postgres.
- The
DATABASE_URLin.envis now an optional override allowing for external database connection
- The
- Settings tabs restructured
- General is now the default
- Import CSV now labeled Import
- Still working on fixes for CSV imports
- Data Sources tab adjusted for future data source options
- Large backend changes for data source adapters to make alternative vehicle support easier in the future
- Gas prices and ICE fuel-economy / tank-capacity are stored in metric and converted for display
/batterycharge curve defaults to the most recent session of any type.- AC charging sessions y-axis caps at 25 kW
- DC reference curve hidden (when AC session selected, DC session remain the same)
uuid5used for Trip ingestion to cut down on duplicates (hopefully)- Timezone dropdowns in Settings and CSV Import are now searchable with regional filters.
- The three summary cards on the Costs page are folded into a Total spend and Cost ratios strip atop the Cost Explorer card.
- The Savings Scenarios card now compares your all-in EV cost (energy plus subscription fees) against gas, with the energy-only figure shown beneath.
Fixed¶
-
16 - Charging sessions correctly auto-inherit the network from a resolved location when the location has one.¶
- Docker entrypoint auto-recovers v0.3.x databases stamped at squashed-away revisions.
- Non-Docker upgraders: see
db/migrations/README.md. - Datetimes correctly use configured timezone (converted to UTC on storage) and render based on configured settings.
- Charge-curve session picker no longer scrolls the page back to the top — only the curve card swaps.
- Free-charging what-if rebill now applies to every selected network, not just the last one ticked.
Removed¶
/batterystandalone 12V Battery Voltage Trend chart, the Range summary card, and the 12V Battery summary card./driving/performanceregen-as-percent-of-SOC card.
[0.3.21] - 2026-04-25¶
Added¶
ha_fordpassadapter withFIELD_CONTRACTS— single ingestion entry point replacing scatteredhass_processor/hass_clientlogic.- Unit-detection layer: resolves HA signal units at ingestion time via a pure
to_metric()conversion function andUnknownSourceUnitsentinel. ingest_schema_versioncolumn onev_session,ev_trip_metrics, and related models./admin/data-sourcespage listing all HA signal sources with contract details, contract/detection coverage, and raw last-seen values.- Developer Tools toggle in Settings → General; Data Sources sidebar link is hidden unless developer mode is enabled.
gen_data_sources_doc.pygenerator and committeddata-sources.mdreference doc.FieldContractmodule for observable-contract validation and display-layer assertions.- mypy static type checking added to the dev toolchain (CI-enforced).
- Ruff ruleset expanded (I, B, UP) with pre-commit hook; codebase-wide type fixes applied.
- Cross-source match-and-enrich tests for
ev_trip_metricsdedup. - Thermal field wiring (
elvehcharging/outsidetemp) for trip ingestion. - Pre-commit reference-checking script under
scripts/. /healthzliveness + readiness endpoint (returns 503 if the database is unreachable) andHEALTHCHECKdirectives on both Docker images sodocker psreports container health.- About card on Settings → General showing the running LightningROD version with links to release notes, documentation, and source.
Changed¶
hass_processorandhass_clientmigrated intoha_fordpassadapter; legacy_fordpass_*feature flags removed.- Action buttons on review location rows clustered per row (UX polish).
- Approved-tab edit dialog hoisted to page-scope modal (reuses shared
edit-loc-modal). - Docker artifacts moved into a dedicated
docker/subfolder.
Fixed¶
- Review queue D-B3 filter dropped on POST-merge Pending branches (WR-01 regression).
tripRangeRegenerationfield name corrected totripRangeRegenerated.
[0.2.13] - 2026-03-07¶
Session management, CSV import, UI overhaul, and Home Assistant integration.
Added¶
- Home Assistant WebSocket ingestion via
ha-fordpass— 29 sensors, auto-reconnect, 30-day backfill. - Session CRUD (add, edit, delete) from the web UI with data-source badges.
- CSV import with auto-detection, inline error editing, and timezone-aware parsing.
- Dashboard with summary cards and monthly-cost / network / efficiency charts.
- Network management as first-class entities with color badges and per-location cost overrides.
- Cost cascade: session → location → network → subscription rate.
- EVSE telemetry on sessions (voltage, amperage, kW, charging loss %).
- Charger stall definitions per location, with network-level templates.
- User timezone setting applied to all displayed timestamps.
- Click-to-sort columns, multi-select network filter, per-page size selector.
Changed¶
- Migrated UI from hand-rolled Tailwind to DaisyUI v5 throughout.
- Multi-stage Docker build with Node 22 for Tailwind v4 + DaisyUI compilation.
- HTMX and Plotly vendored as static assets (no CDN).
- Session drawer reorganised with cost breakdown card and EVSE section.
- Database schema extended:
ev_charger_stalls, EVSE columns on sessions,cost_per_kwhon locations, network colours.
[0.1.5] - 2026-02-28¶
Initial release.
Added¶
- Docker Compose stack: PostgreSQL 16, FastAPI, Alembic, Jinja2 + HTMX + Tailwind UI.
- CSV-to-PostgreSQL import with idempotent upsert and AC/DC classification.
- Paginated session list with date-range, charge-type, and location filters.
- Slide-out session drawer with prev/next navigation.
- Configurable per-location electricity rates.
- Gas vehicle and network rate comparisons on the cost dashboard.
- Energy dashboard: lifetime kWh, efficiency trend, regen totals.
- Settings: rates, gas comparison params, unit preferences.
- 8-table schema designed for the full ha-fordpass data model.