diff --git a/server/data_model.py b/server/data_model.py index 8b83eb1..3ebdb31 100644 --- a/server/data_model.py +++ b/server/data_model.py @@ -198,7 +198,15 @@ def extract_doors(vehicle) -> dict | None: except Exception: log.debug("vehicle.doors unavailable", exc_info=True) + return result or None + + +def extract_windows(vehicle) -> dict | None: + result: dict = {} + try: + if vehicle.windows.open_state.value is not None: + result["open_state"] = _str(vehicle.windows.open_state) window_entries = {} for name, win in vehicle.windows.windows.items(): if win.open_state.value is not None: @@ -219,6 +227,7 @@ ALL_DOMAINS: dict[str, Callable] = { "vehicle": extract_vehicle, "position": extract_position, "doors": extract_doors, + "windows": extract_windows, } diff --git a/server/main.py b/server/main.py index 484d941..775db4e 100644 --- a/server/main.py +++ b/server/main.py @@ -18,7 +18,7 @@ Usage examples # Override domains on the CLI: 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) -------------------------------