Update clients, docs, and install for CarConnectivity migration

- gui_client: update _TRACE_LABELS paths to new flat snapshot structure
- README: update library name, pip command, domain list, credentials
  template, output example, and module reference
- install.sh: update credentials template and systemd service description
- client.py: update docstring
- data_model: Kelvin→Celsius conversion for battery temps (CarConnectivity
  returns Kelvin); round range_estimated_full to 1 decimal
- jay_diff: fix merge when old value is not a dict; skip empty-dict
  branches in delete

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-27 11:43:41 +02:00
co-authored by Claude Sonnet 4.6
parent bf33737654
commit 4492692786
6 changed files with 46 additions and 42 deletions
+13 -14
View File
@@ -94,20 +94,19 @@ _SETTINGS_PATH = Path.home() / ".config" / "we_monitor" / "plot_settings.json"
# Maps full dotted trace key → short display label used in chips, legends and
# cursor readout. Falls back to the last path component for unknown keys.
_TRACE_LABELS: dict[str, str] = {
"charging.chargingStatus.chargePower": "charge power",
"charging.chargingStatus.remainingChargingTimeToComplete": "time to full",
"charging.batteryStatus.currentSOC": "SOC",
"charging.batteryStatus.cruisingRangeElectric": "range",
"charging.chargingSettings.targetSOC": "target SOC",
"climatisation.climatisationStatus.remainingClimatisationTime": "clim. time",
"climatisation.climatisationSettings.targetTemperature": "target temp",
"measurements.odometerStatus.odometer": "odometer",
"measurements.rangeStatus.electricRange": "elec. range",
"measurements.rangeStatus.totalRange": "total range",
"measurements.temperatureBatteryStatus.temperatureHvBatteryMax": "batt. temp max",
"measurements.temperatureBatteryStatus.temperatureHvBatteryMin": "batt. temp min",
"measurements.temperatureOutsideStatus.temperatureOutside": "outside temp",
"procedural.range_at_100": "range 100%"
"charging.power": "charge power",
"charging.remain": "time to full",
"charging.settings.target_level": "target SOC",
"climatisation.remain": "clim. time",
"climatisation.settings.target_temperature": "target temp",
"climatisation.environment.temperature_outside": "outside temp",
"electric_drive.battery.soc": "SOC",
"electric_drive.range": "range",
"electric_drive.range_full": "range (full)",
"electric_drive.battery.temperature_max": "batt. temp max",
"electric_drive.battery.temperature_min": "batt. temp min",
"electric_drive.odometer.odometer": "odometer",
"procedural.range_at_100": "range 100%",
}