PiotrMachowski / Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor

This custom integration provides a way to present a live view of a map for Xiaomi (Roborock/Viomi/Roidmi/Dreame) vacuums without a need for rooting.
MIT License
1.12k stars 121 forks source link

Support for xiaomi.vacuum.c103 #512

Closed gsaldana closed 5 months ago

gsaldana commented 5 months ago

Checklist

What vacuum model do you want to be supported?

xiaomi.vacuum.c103

What is its name?

Mijia C3 plus

Available APIs

Errors shown in the HA logs (if applicable)

ERROR (MainThread) [homeassistant.helpers.entity] Update for camera.xiaomi_cloud_map_extractor fails Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 898, in async_update_ha_state await self.async_device_update() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1218, in async_device_update await hass.async_add_executor_job(self.update) File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/xiaomi_cloud_map_extractor/camera.py", line 278, in update self._handle_map_data(map_name) File "/config/custom_components/xiaomi_cloud_map_extractor/camera.py", line 335, in _handle_map_data map_data, map_stored = self._device.get_map(map_name, self._colors, self._drawables, self._texts, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/xiaomi_cloud_map_extractor/common/vacuum.py", line 27, in get_map response = self.get_raw_map_data(map_name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/xiaomi_cloud_map_extractor/common/vacuum.py", line 45, in get_raw_map_data map_url = self.get_map_url(map_name) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/xiaomi_cloud_map_extractor/common/vacuum_v2.py", line 18, in get_map_url if api_response is None or "result" not in api_response or "url" not in api_response["result"]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: argument of type 'NoneType' is not iterable

Other info

The only way I found to set up the vacuum in home assistant was by using the "Xiaomi miot auto" integration. This is how it's been working, not sure if this is the main reason the map is not working properly.