Repository navigation
LightningROD 0.3.21
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.
Install
Option A — Standalone (embedded PostgreSQL, simplest):
docker pull ghcr.io/squidbytes/lightningrod:0.3.21-standalone
docker run -d \
--name lightningrod \
-p 8000:8000 \
-v lightningrod-data:/var/lib/postgresql/data \
ghcr.io/squidbytes/lightningrod:0.3.21-standaloneOption B — Two-container (bring-your-own PostgreSQL):
curl -LO https://github.com/SquidBytes/LightningROD/releases/download/v0.3.21/lightningrod-0.3.21-compose.tar.gz
tar xzf lightningrod-0.3.21-compose.tar.gz
cd lightningrod-0.3.21
cp .env.example .env # edit POSTGRES_PASSWORD etc.
docker compose up -dBoth images are multi-arch: linux/amd64 + linux/arm64 (Apple Silicon, Raspberry Pi 4/5).
Then open http://localhost:8000 and go to Settings → Home Assistant to connect your HA instance.
Documentation
Full documentation, setup guides, and feature reference:
https://squidbytes.github.io/LightningROD/
What's Changed
- Lightningrod influx by @SquidBytes in #1
- Lightningrod influx by @SquidBytes in #2
- V0.1 by @SquidBytes in #6
- V0.2 by @SquidBytes in #7
- V0.2 by @SquidBytes in #8
- Set websocket max size to 16MB by @aminorjourney in #9
- Fix: Multiple bug fixes for HA integration, session routing, and FordPass unit handling by @aminorjourney in #12
New Contributors
- @aminorjourney made their first contribution in #9
Full Changelog: https://github.com/SquidBytes/LightningROD/commits/v0.3.21