From 80b4ebccce2b04d6276d8b4d05428742d4826044 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 13 Mar 2023 13:15:55 -1000 Subject: [PATCH 1/2] Memorize unique id --- custom_components/tesla_custom/base.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/custom_components/tesla_custom/base.py b/custom_components/tesla_custom/base.py index b6b2b727..9b134f3c 100644 --- a/custom_components/tesla_custom/base.py +++ b/custom_components/tesla_custom/base.py @@ -27,6 +27,7 @@ def __init__( self._enabled_by_default: bool = True self.hass = hass self.type = None + self._memorized_unique_id = None def refresh(self) -> None: """Refresh the device data. @@ -106,7 +107,9 @@ def vehicle_name(self) -> str: @property def unique_id(self) -> str: """Return unique id for car entity.""" - return slugify(f"{self._car.vin} {self.type}") + if not self._memorized_unique_id: + self._memorized_unique_id = slugify(f"{self._car.vin} {self.type}") + return self._memorized_unique_id @property def device_info(self) -> DeviceInfo: @@ -145,7 +148,9 @@ def __init__( @property def unique_id(self) -> str: """Return unique id for energy site device.""" - return slugify(f"{self._energysite.energysite_id} {self.type}") + if not self._memorized_unique_id: + self._memorized_unique_id = slugify(f"{self._energysite.energysite_id} {self.type}") + return self._memorized_unique_id @property def sw_version(self) -> bool: From 1e4f28f9abd166ed8574e078082e8455394766ca Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 13 Mar 2023 13:17:11 -1000 Subject: [PATCH 2/2] Slugify once instead of every state write --- custom_components/tesla_custom/base.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/custom_components/tesla_custom/base.py b/custom_components/tesla_custom/base.py index 9b134f3c..a4dae265 100644 --- a/custom_components/tesla_custom/base.py +++ b/custom_components/tesla_custom/base.py @@ -149,7 +149,9 @@ def __init__( def unique_id(self) -> str: """Return unique id for energy site device.""" if not self._memorized_unique_id: - self._memorized_unique_id = slugify(f"{self._energysite.energysite_id} {self.type}") + self._memorized_unique_id = slugify( + f"{self._energysite.energysite_id} {self.type}" + ) return self._memorized_unique_id @property