mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Address late review for Husqvarna Automower (#116536)
* Address late review for Husqvarna Automower * fix wrong base entity
This commit is contained in:
parent
67e199fb2f
commit
86637f7171
@ -20,7 +20,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
|||||||
|
|
||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
from .coordinator import AutomowerDataUpdateCoordinator
|
from .coordinator import AutomowerDataUpdateCoordinator
|
||||||
from .entity import AutomowerBaseEntity
|
from .entity import AutomowerControlEntity
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -125,7 +125,7 @@ async def async_setup_entry(
|
|||||||
for description in WORK_AREA_NUMBER_TYPES
|
for description in WORK_AREA_NUMBER_TYPES
|
||||||
for work_area_id in _work_areas
|
for work_area_id in _work_areas
|
||||||
)
|
)
|
||||||
await async_remove_entities(coordinator, hass, entry, mower_id)
|
async_remove_entities(hass, coordinator, entry, mower_id)
|
||||||
entities.extend(
|
entities.extend(
|
||||||
AutomowerNumberEntity(mower_id, coordinator, description)
|
AutomowerNumberEntity(mower_id, coordinator, description)
|
||||||
for mower_id in coordinator.data
|
for mower_id in coordinator.data
|
||||||
@ -135,7 +135,7 @@ async def async_setup_entry(
|
|||||||
async_add_entities(entities)
|
async_add_entities(entities)
|
||||||
|
|
||||||
|
|
||||||
class AutomowerNumberEntity(AutomowerBaseEntity, NumberEntity):
|
class AutomowerNumberEntity(AutomowerControlEntity, NumberEntity):
|
||||||
"""Defining the AutomowerNumberEntity with AutomowerNumberEntityDescription."""
|
"""Defining the AutomowerNumberEntity with AutomowerNumberEntityDescription."""
|
||||||
|
|
||||||
entity_description: AutomowerNumberEntityDescription
|
entity_description: AutomowerNumberEntityDescription
|
||||||
@ -168,7 +168,7 @@ class AutomowerNumberEntity(AutomowerBaseEntity, NumberEntity):
|
|||||||
) from exception
|
) from exception
|
||||||
|
|
||||||
|
|
||||||
class AutomowerWorkAreaNumberEntity(AutomowerBaseEntity, NumberEntity):
|
class AutomowerWorkAreaNumberEntity(AutomowerControlEntity, NumberEntity):
|
||||||
"""Defining the AutomowerWorkAreaNumberEntity with AutomowerWorkAreaNumberEntityDescription."""
|
"""Defining the AutomowerWorkAreaNumberEntity with AutomowerWorkAreaNumberEntityDescription."""
|
||||||
|
|
||||||
entity_description: AutomowerWorkAreaNumberEntityDescription
|
entity_description: AutomowerWorkAreaNumberEntityDescription
|
||||||
@ -216,24 +216,25 @@ class AutomowerWorkAreaNumberEntity(AutomowerBaseEntity, NumberEntity):
|
|||||||
) from exception
|
) from exception
|
||||||
|
|
||||||
|
|
||||||
async def async_remove_entities(
|
@callback
|
||||||
coordinator: AutomowerDataUpdateCoordinator,
|
def async_remove_entities(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
|
coordinator: AutomowerDataUpdateCoordinator,
|
||||||
config_entry: ConfigEntry,
|
config_entry: ConfigEntry,
|
||||||
mower_id: str,
|
mower_id: str,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Remove deleted work areas from Home Assistant."""
|
"""Remove deleted work areas from Home Assistant."""
|
||||||
entity_reg = er.async_get(hass)
|
entity_reg = er.async_get(hass)
|
||||||
work_area_list = []
|
active_work_areas = set()
|
||||||
_work_areas = coordinator.data[mower_id].work_areas
|
_work_areas = coordinator.data[mower_id].work_areas
|
||||||
if _work_areas is not None:
|
if _work_areas is not None:
|
||||||
for work_area_id in _work_areas:
|
for work_area_id in _work_areas:
|
||||||
uid = f"{mower_id}_{work_area_id}_cutting_height_work_area"
|
uid = f"{mower_id}_{work_area_id}_cutting_height_work_area"
|
||||||
work_area_list.append(uid)
|
active_work_areas.add(uid)
|
||||||
for entity_entry in er.async_entries_for_config_entry(
|
for entity_entry in er.async_entries_for_config_entry(
|
||||||
entity_reg, config_entry.entry_id
|
entity_reg, config_entry.entry_id
|
||||||
):
|
):
|
||||||
if entity_entry.unique_id.split("_")[0] == mower_id:
|
if entity_entry.unique_id.split("_")[0] == mower_id:
|
||||||
if entity_entry.unique_id.endswith("cutting_height_work_area"):
|
if entity_entry.unique_id.endswith("cutting_height_work_area"):
|
||||||
if entity_entry.unique_id not in work_area_list:
|
if entity_entry.unique_id not in active_work_areas:
|
||||||
entity_reg.async_remove(entity_entry.entity_id)
|
entity_reg.async_remove(entity_entry.entity_id)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user