Avoid mutating entity descriptions in melcloud (#105629)

This commit is contained in:
Erik Montnemery 2023-12-13 16:57:22 +01:00 committed by GitHub
parent e4453ace88
commit bbfffbb47e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2,7 +2,7 @@
from __future__ import annotations
from collections.abc import Callable
from dataclasses import dataclass
import dataclasses
from typing import Any
from pymelcloud import DEVICE_TYPE_ATA, DEVICE_TYPE_ATW
@ -23,7 +23,7 @@ from . import MelCloudDevice
from .const import DOMAIN
@dataclass
@dataclasses.dataclass
class MelcloudRequiredKeysMixin:
"""Mixin for required keys."""
@ -31,7 +31,7 @@ class MelcloudRequiredKeysMixin:
enabled: Callable[[Any], bool]
@dataclass
@dataclasses.dataclass
class MelcloudSensorEntityDescription(
SensorEntityDescription, MelcloudRequiredKeysMixin
):
@ -203,7 +203,10 @@ class AtwZoneSensor(MelDeviceSensor):
) -> None:
"""Initialize the sensor."""
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)
self._attr_device_info = api.zone_device_info(zone)