data_model: redesign domain extractors for CarConnectivity object model

Flatten the snapshot structure so each domain maps directly to its
fields rather than mirroring the old WeConnect status-object nesting.
New domains: electric_drive (range, battery/SOC/temps, odometer),
connectivity, vehicle, position, doors — replacing the old readiness,
parking, access, and measurements domains.  Update apply_procedural
paths and collect.py defaults accordingly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-27 09:01:15 +02:00
co-authored by Claude Sonnet 4.6
parent f050de7001
commit bf33737654
2 changed files with 79 additions and 88 deletions
+3 -3
View File
@@ -18,7 +18,7 @@ Usage examples
# Override domains on the CLI:
python collect.py -c credentials/alex.json -d charging,measurements
Available domains: charging, climatisation, measurements, readiness, parking, access
Available domains: charging, climatisation, electric_drive, connectivity, vehicle, position, doors
Credentials file format (JSON)
-------------------------------
@@ -191,7 +191,7 @@ def main() -> None:
help=(
"Comma-separated domains to collect, or 'all' (overrides credentials file). "
f"Available: {', '.join(ALL_DOMAINS)}. "
"Default: charging,measurements,readiness"
"Default: charging,electric_drive,connectivity"
),
)
p.add_argument(
@@ -273,7 +273,7 @@ def main() -> None:
if isinstance(raw_domains, list):
args.domains = ",".join(raw_domains)
else:
args.domains = raw_domains or "charging,measurements,readiness"
args.domains = raw_domains or "charging,electric_drive,connectivity"
if args.interval is None:
args.interval = int(creds_data.get("interval_s", 300))