Skip to content

Commit d8fc13a

Browse files
Merge pull request #726 from aronkahrs-us/dev_extracted_libraries
[Xiaomi] Handle plain text map name
2 parents 8c39fbc + 7c331f7 commit d8fc13a

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

custom_components/xiaomi_cloud_map_extractor/connector/vacuums/vacuum_xiaomi.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,12 +117,23 @@ def map_data_parser(self) -> XiaomiMapDataParser:
117117

118118
async def get_map_name(self: Self) -> str:
119119
response = self._miot_device.get_property_by(self._vacuum_map.siid,
120-
self._vacuum_map.piid)[0].get("value")
120+
self._vacuum_map.piid)[0].get("value")
121+
122+
if response is None:
123+
return super().get_map_name()
121124

122125
if isinstance(response, int):
123126
return str(response)
124127
else:
125-
return json.loads(response).get("obj_name", "").split("/")[-1]
128+
map_name = None
129+
try:
130+
map_name = json.loads(response).get("obj_name", None)
131+
except json.JSONDecodeError:
132+
if isinstance(response, str) and "/" in response:
133+
map_name = response
134+
if map_name is None:
135+
return super().get_map_name()
136+
return map_name.split("/")[-1]
126137

127138
async def get_map_url(self, map_name: str) -> str | None:
128139
return await self.get_fallback_map_url(map_name)

0 commit comments

Comments
 (0)