From bbfffbb47ec273351595c53c147c07981ad3a1ab Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Wed, 13 Dec 2023 16:57:22 +0100 Subject: [PATCH] Avoid mutating entity descriptions in melcloud (#105629) --- homeassistant/components/melcloud/sensor.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/melcloud/sensor.py b/homeassistant/components/melcloud/sensor.py index ca02d15db01..1cb8930049d 100644 --- a/homeassistant/components/melcloud/sensor.py +++ b/homeassistant/components/melcloud/sensor.py @@ -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)