diff --git a/SCR/__init__.py b/SCR/__init__.py index 2217ee2..ebdf05f 100644 --- a/SCR/__init__.py +++ b/SCR/__init__.py @@ -1,2 +1,2 @@ """Valetudo map parser. -Version: 0.1.10""" +Version: 0.1.14""" diff --git a/SCR/valetudo_map_parser/__init__.py b/SCR/valetudo_map_parser/__init__.py index 37d3cd3..7fb2898 100644 --- a/SCR/valetudo_map_parser/__init__.py +++ b/SCR/valetudo_map_parser/__init__.py @@ -1,5 +1,5 @@ """Valetudo map parser. -Version: 0.1.13""" +Version: 0.1.14""" from pathlib import Path @@ -12,6 +12,7 @@ from .config.status_text.translations import translations as STATUS_TEXT_TRANSLATIONS from .config.types import ( CameraModes, + FloorData, ImageSize, JsonType, NumpyArray, @@ -20,6 +21,7 @@ RoomStore, SnapshotStore, TrimCropData, + TrimsData, UserLanguageStore, ) from .config.utils import ResizeParams, async_resize_image @@ -162,6 +164,7 @@ def get_default_font_path() -> str: "StatusText", # Types "CameraModes", + "FloorData", "ImageSize", "JsonType", "NumpyArray", @@ -170,6 +173,7 @@ def get_default_font_path() -> str: "RoomStore", "SnapshotStore", "TrimCropData", + "TrimsData", "UserLanguageStore", # Utilities "ResizeParams", diff --git a/SCR/valetudo_map_parser/config/shared.py b/SCR/valetudo_map_parser/config/shared.py index 77443c5..03ebc5c 100755 --- a/SCR/valetudo_map_parser/config/shared.py +++ b/SCR/valetudo_map_parser/config/shared.py @@ -311,13 +311,20 @@ def update_shared_data(self, device_info): instance.vacuum_status_position = device_info.get( CONF_VAC_STAT_POS, DEFAULT_VALUES["vac_status_position"] ) - # If enable_snapshots, check for png in www. - instance.enable_snapshots = device_info.get( - CONF_SNAPSHOTS_ENABLE, DEFAULT_VALUES["enable_www_snapshots"] - ) - # Ensure trims are updated correctly - trim_data = device_info.get("trims_data", DEFAULT_VALUES["trims_data"]) - instance.trims = TrimsData.from_dict(trim_data) + # Check for new floors_data first + floors_data = device_info.get("floors_data", None) + current_floor = device_info.get("current_floor", "floor_0") # Default fallback + + if floors_data: + # NEW: Use floors_data + floor_trims = floors_data.get(current_floor, DEFAULT_VALUES["trims_data"]) + instance.trims = TrimsData.from_dict(floor_trims) + instance.current_floor = current_floor + else: + # OLD: Backward compatibility + trim_data = device_info.get("trims_data", DEFAULT_VALUES["trims_data"]) + instance.trims = TrimsData.from_dict(trim_data) + instance.current_floor = "floor_0" # Default # Robot size robot_size = device_info.get("robot_size", 25) try: diff --git a/pyproject.toml b/pyproject.toml index ecf107d..e2cb060 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "valetudo-map-parser" -version = "0.1.13" +version = "0.1.14" description = "A Python library to parse Valetudo map data returning a PIL Image object." authors = ["Sandro Cantarella "] license = "Apache-2.0"