From d45227adbb6ad9b3dff72059ae9a7a74d6b93e1f Mon Sep 17 00:00:00 2001
From: Brett Adams <Bre77@users.noreply.github.com>
Date: Mon, 29 Jan 2024 20:00:18 +1000
Subject: [PATCH] Move asyncio lock in Teslemetry (#109044)

Use single wakelock per vehicle
---
 homeassistant/components/teslemetry/entity.py | 2 +-
 homeassistant/components/teslemetry/models.py | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/homeassistant/components/teslemetry/entity.py b/homeassistant/components/teslemetry/entity.py
index c8fbc5910d8..d8dcf9934cc 100644
--- a/homeassistant/components/teslemetry/entity.py
+++ b/homeassistant/components/teslemetry/entity.py
@@ -15,7 +15,6 @@ class TeslemetryVehicleEntity(CoordinatorEntity[TeslemetryVehicleDataCoordinator
     """Parent class for Teslemetry Entities."""
 
     _attr_has_entity_name = True
-    _wakelock = asyncio.Lock()
 
     def __init__(
         self,
@@ -26,6 +25,7 @@ class TeslemetryVehicleEntity(CoordinatorEntity[TeslemetryVehicleDataCoordinator
         super().__init__(vehicle.coordinator)
         self.key = key
         self.api = vehicle.api
+        self._wakelock = vehicle.wakelock
 
         car_type = self.coordinator.data["vehicle_config_car_type"]
 
diff --git a/homeassistant/components/teslemetry/models.py b/homeassistant/components/teslemetry/models.py
index 9b90c0b0750..e5b27fa9279 100644
--- a/homeassistant/components/teslemetry/models.py
+++ b/homeassistant/components/teslemetry/models.py
@@ -1,6 +1,7 @@
 """The Teslemetry integration models."""
 from __future__ import annotations
 
+import asyncio
 from dataclasses import dataclass
 
 from tesla_fleet_api import VehicleSpecific
@@ -15,3 +16,4 @@ class TeslemetryVehicleData:
     api: VehicleSpecific
     coordinator: TeslemetryVehicleDataCoordinator
     vin: str
+    wakelock = asyncio.Lock()
-- 
GitLab