1
0
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:
David Bonnes
2026-04-20 11:17:09 +01:00
committed by GitHub
parent 10fd51b34d
commit 8afee640ef
3 changed files with 16 additions and 132 deletions
+15 -16
View File
@@ -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,
+1 -5
View File
@@ -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',