mirror of
https://github.com/home-assistant/core.git
synced 2025-07-24 21:57:51 +00:00
Avoid mutating entity descriptions in melcloud (#105629)
This commit is contained in:
parent
e4453ace88
commit
bbfffbb47e
@ -2,7 +2,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
from dataclasses import dataclass
|
import dataclasses
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from pymelcloud import DEVICE_TYPE_ATA, DEVICE_TYPE_ATW
|
from pymelcloud import DEVICE_TYPE_ATA, DEVICE_TYPE_ATW
|
||||||
@ -23,7 +23,7 @@ from . import MelCloudDevice
|
|||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclasses.dataclass
|
||||||
class MelcloudRequiredKeysMixin:
|
class MelcloudRequiredKeysMixin:
|
||||||
"""Mixin for required keys."""
|
"""Mixin for required keys."""
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ class MelcloudRequiredKeysMixin:
|
|||||||
enabled: Callable[[Any], bool]
|
enabled: Callable[[Any], bool]
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclasses.dataclass
|
||||||
class MelcloudSensorEntityDescription(
|
class MelcloudSensorEntityDescription(
|
||||||
SensorEntityDescription, MelcloudRequiredKeysMixin
|
SensorEntityDescription, MelcloudRequiredKeysMixin
|
||||||
):
|
):
|
||||||
@ -203,7 +203,10 @@ class AtwZoneSensor(MelDeviceSensor):
|
|||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize the sensor."""
|
"""Initialize the sensor."""
|
||||||
if zone.zone_index != 1:
|
if zone.zone_index != 1:
|
||||||
description.key = f"{description.key}-zone-{zone.zone_index}"
|
description = dataclasses.replace(
|
||||||
|
description,
|
||||||
|
key=f"{description.key}-zone-{zone.zone_index}",
|
||||||
|
)
|
||||||
super().__init__(api, description)
|
super().__init__(api, description)
|
||||||
|
|
||||||
self._attr_device_info = api.zone_device_info(zone)
|
self._attr_device_info = api.zone_device_info(zone)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user