mirror of
https://github.com/home-assistant/core.git
synced 2026-05-18 06:20:17 +01:00
Remove device ids from extra_state_attrs of Evohome's Button entities (#168517)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -9,10 +9,11 @@ from homeassistant.const import EntityCategory
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
||||
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||
|
||||
from .const import EVOHOME_DATA
|
||||
from .coordinator import EvoDataUpdateCoordinator
|
||||
from .entity import EvoEntity, is_valid_zone, unique_zone_id
|
||||
from .entity import is_valid_zone, unique_zone_id
|
||||
|
||||
|
||||
async def async_setup_platform(
|
||||
@@ -40,15 +41,22 @@ async def async_setup_platform(
|
||||
|
||||
async_add_entities(entities)
|
||||
|
||||
for entity in entities:
|
||||
await entity.update_attrs()
|
||||
|
||||
|
||||
class EvoResetButtonBase(EvoEntity, ButtonEntity):
|
||||
"""Base for reset button entities."""
|
||||
class EvoResetButtonBase(CoordinatorEntity[EvoDataUpdateCoordinator], ButtonEntity):
|
||||
"""Base for Evohome's Button entities."""
|
||||
|
||||
_attr_entity_category = EntityCategory.CONFIG
|
||||
_evo_state_attr_names = ()
|
||||
|
||||
_evo_device: evo.ControlSystem | evo.HotWater | evo.Zone
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
coordinator: EvoDataUpdateCoordinator,
|
||||
evo_device: evo.ControlSystem | evo.HotWater | evo.Zone,
|
||||
) -> None:
|
||||
"""Initialize an Evohome reset button entity."""
|
||||
super().__init__(coordinator, context=evo_device.id)
|
||||
self._evo_device = evo_device
|
||||
|
||||
async def async_press(self) -> None:
|
||||
"""Reset the Evohome entity to its base operating mode."""
|
||||
@@ -58,10 +66,7 @@ class EvoResetButtonBase(EvoEntity, ButtonEntity):
|
||||
class EvoResetSystemButton(EvoResetButtonBase):
|
||||
"""Button entity for system reset."""
|
||||
|
||||
_attr_translation_key = "reset_system_mode"
|
||||
|
||||
_evo_device: evo.ControlSystem
|
||||
_evo_id_attr = "system_id"
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
@@ -78,10 +83,7 @@ class EvoResetSystemButton(EvoResetButtonBase):
|
||||
class EvoResetDhwButton(EvoResetButtonBase):
|
||||
"""Button entity for DHW override reset."""
|
||||
|
||||
_attr_translation_key = "clear_dhw_override"
|
||||
|
||||
_evo_device: evo.HotWater
|
||||
_evo_id_attr = "dhw_id"
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
@@ -98,10 +100,7 @@ class EvoResetDhwButton(EvoResetButtonBase):
|
||||
class EvoResetZoneButton(EvoResetButtonBase):
|
||||
"""Button entity for zone override reset."""
|
||||
|
||||
_attr_translation_key = "clear_zone_override"
|
||||
|
||||
_evo_device: evo.Zone
|
||||
_evo_id_attr = "zone_id"
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
|
||||
@@ -40,11 +40,7 @@ def unique_zone_id(evo_device: evo.Zone) -> str:
|
||||
|
||||
|
||||
class EvoEntity(CoordinatorEntity[EvoDataUpdateCoordinator]):
|
||||
"""Base for any evohome-compatible entity (controller, DHW, zone).
|
||||
|
||||
This includes the controller, (1 to 12) heating zones and (optionally) a
|
||||
DHW controller.
|
||||
"""
|
||||
"""Base for Evohome's Climate & WaterHeater entities."""
|
||||
|
||||
_evo_device: evo.ControlSystem | evo.HotWater | evo.Zone
|
||||
_evo_id_attr: str
|
||||
|
||||
@@ -3,9 +3,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Bathroom Dn',
|
||||
'status': dict({
|
||||
'zone_id': '3432579',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_bathroom_dn',
|
||||
@@ -19,9 +16,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Dead Zone',
|
||||
'status': dict({
|
||||
'zone_id': '3432521',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_dead_zone',
|
||||
@@ -35,9 +29,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Domestic Hot Water',
|
||||
'status': dict({
|
||||
'dhw_id': '3933910',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_domestic_hot_water',
|
||||
@@ -51,9 +42,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Front Room',
|
||||
'status': dict({
|
||||
'zone_id': '3432577',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_front_room',
|
||||
@@ -67,9 +55,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Kids Room',
|
||||
'status': dict({
|
||||
'zone_id': '3449703',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_kids_room',
|
||||
@@ -83,9 +68,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Kitchen',
|
||||
'status': dict({
|
||||
'zone_id': '3432578',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_kitchen',
|
||||
@@ -99,9 +81,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Main Bedroom',
|
||||
'status': dict({
|
||||
'zone_id': '3432580',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_main_bedroom',
|
||||
@@ -115,9 +94,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Main Room',
|
||||
'status': dict({
|
||||
'zone_id': '3432576',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_main_room',
|
||||
@@ -131,9 +107,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset My Home',
|
||||
'status': dict({
|
||||
'system_id': '3432522',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_my_home',
|
||||
@@ -147,9 +120,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Bathroom Dn',
|
||||
'status': dict({
|
||||
'zone_id': '3432579',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_bathroom_dn',
|
||||
@@ -163,9 +133,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Dead Zone',
|
||||
'status': dict({
|
||||
'zone_id': '3432521',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_dead_zone',
|
||||
@@ -179,9 +146,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Domestic Hot Water',
|
||||
'status': dict({
|
||||
'dhw_id': '3933910',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_domestic_hot_water',
|
||||
@@ -195,9 +159,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Front Room',
|
||||
'status': dict({
|
||||
'zone_id': '3432577',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_front_room',
|
||||
@@ -211,9 +172,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Kids Room',
|
||||
'status': dict({
|
||||
'zone_id': '3449703',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_kids_room',
|
||||
@@ -227,9 +185,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Kitchen',
|
||||
'status': dict({
|
||||
'zone_id': '3432578',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_kitchen',
|
||||
@@ -243,9 +198,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Main Bedroom',
|
||||
'status': dict({
|
||||
'zone_id': '3432580',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_main_bedroom',
|
||||
@@ -259,9 +211,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Main Room',
|
||||
'status': dict({
|
||||
'zone_id': '3432576',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_main_room',
|
||||
@@ -275,9 +224,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset My Home',
|
||||
'status': dict({
|
||||
'system_id': '3432522',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_my_home',
|
||||
@@ -291,9 +237,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Spare Room',
|
||||
'status': dict({
|
||||
'zone_id': '3450733',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_spare_room',
|
||||
@@ -307,9 +250,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset My Home',
|
||||
'status': dict({
|
||||
'system_id': '416856',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_my_home',
|
||||
@@ -323,9 +263,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset THERMOSTAT',
|
||||
'status': dict({
|
||||
'zone_id': '416856',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_thermostat',
|
||||
@@ -339,9 +276,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset My Home',
|
||||
'status': dict({
|
||||
'system_id': '8557535',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_my_home',
|
||||
@@ -355,9 +289,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset THERMOSTAT',
|
||||
'status': dict({
|
||||
'zone_id': '8557539',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_thermostat',
|
||||
@@ -371,9 +302,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset THERMOSTAT',
|
||||
'status': dict({
|
||||
'zone_id': '8557541',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_thermostat_2',
|
||||
@@ -387,9 +315,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Thermostat',
|
||||
'status': dict({
|
||||
'zone_id': '3454854',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_thermostat',
|
||||
@@ -403,9 +328,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Thermostat 2',
|
||||
'status': dict({
|
||||
'zone_id': '3454855',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_thermostat_2',
|
||||
@@ -419,9 +341,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Vr**********',
|
||||
'status': dict({
|
||||
'system_id': '3454856',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_vr',
|
||||
@@ -435,9 +354,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Ba******',
|
||||
'status': dict({
|
||||
'zone_id': '10090505',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_ba',
|
||||
@@ -451,9 +367,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Ka*********',
|
||||
'status': dict({
|
||||
'zone_id': '10090507',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_ka',
|
||||
@@ -467,9 +380,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Ka*****',
|
||||
'status': dict({
|
||||
'zone_id': '10090508',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_ka_2',
|
||||
@@ -483,9 +393,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Kl********',
|
||||
'status': dict({
|
||||
'system_id': '10090510',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_kl',
|
||||
@@ -499,9 +406,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Sl********',
|
||||
'status': dict({
|
||||
'zone_id': '10090506',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_sl',
|
||||
@@ -515,9 +419,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Wo*******',
|
||||
'status': dict({
|
||||
'zone_id': '10090509',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_wo',
|
||||
@@ -531,9 +432,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Main Room',
|
||||
'status': dict({
|
||||
'zone_id': '3432576',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_main_room',
|
||||
@@ -547,9 +445,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset My Home',
|
||||
'status': dict({
|
||||
'system_id': '3432522',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_my_home',
|
||||
@@ -563,9 +458,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Living room',
|
||||
'status': dict({
|
||||
'system_id': '4187769',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_living_room',
|
||||
@@ -579,9 +471,6 @@
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Reset Thermostat',
|
||||
'status': dict({
|
||||
'zone_id': '4187768',
|
||||
}),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.reset_thermostat',
|
||||
|
||||
Reference in New Issue
Block a user