From 7a9e303e206ec1475e0a29a2799d159970ac4059 Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Mon, 18 Dec 2023 13:58:57 +0100 Subject: [PATCH] Avoid mutating entity descriptions in onewire (#105970) --- homeassistant/components/onewire/sensor.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/onewire/sensor.py b/homeassistant/components/onewire/sensor.py index 34ed66bd511..cee3e64d29f 100644 --- a/homeassistant/components/onewire/sensor.py +++ b/homeassistant/components/onewire/sensor.py @@ -2,8 +2,7 @@ from __future__ import annotations from collections.abc import Callable, Mapping -import copy -from dataclasses import dataclass +import dataclasses import logging import os from types import MappingProxyType @@ -43,7 +42,7 @@ from .onewire_entities import OneWireEntity, OneWireEntityDescription from .onewirehub import OneWireHub -@dataclass +@dataclasses.dataclass class OneWireSensorEntityDescription(OneWireEntityDescription, SensorEntityDescription): """Class describing OneWire sensor entities.""" @@ -393,10 +392,12 @@ def get_entities( ).decode() ) if is_leaf: - description = copy.deepcopy(description) - description.device_class = SensorDeviceClass.HUMIDITY - description.native_unit_of_measurement = PERCENTAGE - description.translation_key = f"wetness_{s_id}" + description = dataclasses.replace( + description, + device_class=SensorDeviceClass.HUMIDITY, + native_unit_of_measurement=PERCENTAGE, + translation_key=f"wetness_{s_id}", + ) _LOGGER.info(description.translation_key) override_key = None if description.override_key: