|
17 | 17 | from roborock.data import UserData |
18 | 18 | from roborock.devices.device import RoborockDevice |
19 | 19 | from roborock.devices.device_manager import UserParams, create_device_manager |
| 20 | +from roborock.map.map_parser import MapParserConfig |
20 | 21 |
|
21 | 22 | from homeassistant.const import CONF_USERNAME, EVENT_HOMEASSISTANT_STOP |
22 | 23 | from homeassistant.core import HomeAssistant |
23 | 24 | from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady |
24 | 25 | from homeassistant.helpers import device_registry as dr |
25 | 26 | from homeassistant.helpers.aiohttp_client import async_get_clientsession |
26 | 27 |
|
27 | | -from .const import CONF_BASE_URL, CONF_USER_DATA, DOMAIN, PLATFORMS |
| 28 | +from .const import ( |
| 29 | + CONF_BASE_URL, |
| 30 | + CONF_SHOW_BACKGROUND, |
| 31 | + CONF_USER_DATA, |
| 32 | + DEFAULT_DRAWABLES, |
| 33 | + DOMAIN, |
| 34 | + DRAWABLES, |
| 35 | + MAP_SCALE, |
| 36 | + PLATFORMS, |
| 37 | +) |
28 | 38 | from .coordinator import ( |
29 | 39 | RoborockConfigEntry, |
30 | 40 | RoborockCoordinators, |
@@ -56,6 +66,15 @@ async def async_setup_entry(hass: HomeAssistant, entry: RoborockConfigEntry) -> |
56 | 66 | user_params, |
57 | 67 | cache=cache, |
58 | 68 | session=async_get_clientsession(hass), |
| 69 | + map_parser_config=MapParserConfig( |
| 70 | + drawables=[ |
| 71 | + drawable |
| 72 | + for drawable, default_value in DEFAULT_DRAWABLES.items() |
| 73 | + if entry.options.get(DRAWABLES, {}).get(drawable, default_value) |
| 74 | + ], |
| 75 | + show_background=entry.options.get(CONF_SHOW_BACKGROUND, False), |
| 76 | + map_scale=MAP_SCALE, |
| 77 | + ), |
59 | 78 | ) |
60 | 79 | except RoborockInvalidCredentials as err: |
61 | 80 | raise ConfigEntryAuthFailed( |
|
0 commit comments