data_model: split windows out of doors into own domain
- Add extract_windows() and register 'windows' in ALL_DOMAINS - Remove windows extraction from extract_doors; no more double keys - extract_windows also captures the overall windows.open_state Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -198,7 +198,15 @@ def extract_doors(vehicle) -> dict | None:
|
|||||||
except Exception:
|
except Exception:
|
||||||
log.debug("vehicle.doors unavailable", exc_info=True)
|
log.debug("vehicle.doors unavailable", exc_info=True)
|
||||||
|
|
||||||
|
return result or None
|
||||||
|
|
||||||
|
|
||||||
|
def extract_windows(vehicle) -> dict | None:
|
||||||
|
result: dict = {}
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
if vehicle.windows.open_state.value is not None:
|
||||||
|
result["open_state"] = _str(vehicle.windows.open_state)
|
||||||
window_entries = {}
|
window_entries = {}
|
||||||
for name, win in vehicle.windows.windows.items():
|
for name, win in vehicle.windows.windows.items():
|
||||||
if win.open_state.value is not None:
|
if win.open_state.value is not None:
|
||||||
@@ -219,6 +227,7 @@ ALL_DOMAINS: dict[str, Callable] = {
|
|||||||
"vehicle": extract_vehicle,
|
"vehicle": extract_vehicle,
|
||||||
"position": extract_position,
|
"position": extract_position,
|
||||||
"doors": extract_doors,
|
"doors": extract_doors,
|
||||||
|
"windows": extract_windows,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -18,7 +18,7 @@ Usage examples
|
|||||||
# Override domains on the CLI:
|
# Override domains on the CLI:
|
||||||
python -m server.main -c credentials/alex.json -d charging,measurements
|
python -m server.main -c credentials/alex.json -d charging,measurements
|
||||||
|
|
||||||
Available domains: charging, climatisation, electric_drive, connectivity, vehicle, position, doors
|
Available domains: charging, climatisation, electric_drive, connectivity, vehicle, position, doors, windows
|
||||||
|
|
||||||
Credentials file format (JSON)
|
Credentials file format (JSON)
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user