|
10 | 10 | from homeassistant.helpers.update_coordinator import CoordinatorEntity |
11 | 11 |
|
12 | 12 | from .api import NovastarDeviceInfo |
13 | | -from .const import DEFAULT_NAME, DOMAIN |
| 13 | +from .const import ( |
| 14 | + CONF_LAYER_SELECT_PREPOPULATE_COUNT, |
| 15 | + DEFAULT_LAYER_SELECT_PREPOPULATE_COUNT, |
| 16 | + DEFAULT_NAME, |
| 17 | + DOMAIN, |
| 18 | +) |
14 | 19 | from .coordinator import NovastarCoordinator |
15 | 20 |
|
16 | 21 |
|
@@ -66,11 +71,20 @@ async def async_setup_entry( |
66 | 71 | """Set up Novastar select entities.""" |
67 | 72 | coordinator: NovastarCoordinator = hass.data[DOMAIN][entry.entry_id]["coordinator"] |
68 | 73 | device_info: NovastarDeviceInfo = hass.data[DOMAIN][entry.entry_id]["device_info"] |
| 74 | + layer_count = entry.options.get( |
| 75 | + CONF_LAYER_SELECT_PREPOPULATE_COUNT, |
| 76 | + entry.data.get( |
| 77 | + CONF_LAYER_SELECT_PREPOPULATE_COUNT, |
| 78 | + DEFAULT_LAYER_SELECT_PREPOPULATE_COUNT, |
| 79 | + ), |
| 80 | + ) |
| 81 | + layer_count = _coerce_int(layer_count) or DEFAULT_LAYER_SELECT_PREPOPULATE_COUNT |
| 82 | + |
69 | 83 | entities: list[SelectEntity] = [NovastarPresetSelect(entry, coordinator, device_info)] |
70 | 84 | entities.extend( |
71 | 85 | [ |
72 | 86 | NovastarLayerSourceSelect(entry, coordinator, device_info, layer_id) |
73 | | - for layer_id in range(4) |
| 87 | + for layer_id in range(max(1, layer_count)) |
74 | 88 | ] |
75 | 89 | ) |
76 | 90 | async_add_entities(entities) |
|
0 commit comments