File tree Expand file tree Collapse file tree 5 files changed +18
-17
lines changed
Expand file tree Collapse file tree 5 files changed +18
-17
lines changed Original file line number Diff line number Diff line change 55
66setuptools .setup (
77 name = "teslemetry_stream" ,
8- version = "0.5.2 " ,
8+ version = "0.5.3 " ,
99 author = "Brett Adams" ,
1010 author_email = "hello@teslemetry.com" ,
1111 description = "Teslemetry Streaming API library for Python" ,
Original file line number Diff line number Diff line change 66 TeslemetryStreamVehicleNotConfigured ,
77 TeslemetryStreamEnded
88)
9- from .const import TelemetryFields , TelemetryAlerts
9+ from .const import Signal , Alert
1010
1111__all__ = [
1212 "TeslemetryStream" ,
1515 "TeslemetryStreamConnectionError" ,
1616 "TeslemetryStreamVehicleNotConfigured" ,
1717 "TeslemetryStreamEnded" ,
18- "TelemetryFields " ,
19- "TelemetryAlerts "
18+ "Signal " ,
19+ "Alert "
2020]
Original file line number Diff line number Diff line change @@ -9,8 +9,8 @@ class StrEnum(str, Enum):
99 """String Enum"""
1010
1111
12- class TelemetryFields (StrEnum ):
13- """Fields available in telemetry streams"""
12+ class Signal (StrEnum ):
13+ """Signals available in Fleet Telemetry streams"""
1414
1515 AC_CHARGING_ENERGY_IN = "ACChargingEnergyIn"
1616 AC_CHARGING_POWER = "ACChargingPower"
@@ -213,8 +213,8 @@ class TelemetryFields(StrEnum):
213213 WIPER_HEAT_ENABLED = "WiperHeatEnabled"
214214
215215
216- class TelemetryAlerts (StrEnum ):
217- """Alerts available in telemetry streams"""
216+ class Alert (StrEnum ):
217+ """Alerts available in Fleet Telemetry streams"""
218218
219219 CUSTOMER = "Customer"
220220 SERVICE = "Service"
Original file line number Diff line number Diff line change @@ -18,6 +18,7 @@ class TeslemetryStream:
1818 delay : int
1919 active = None
2020 vehicle : TeslemetryStreamVehicle
21+ vehicles : dict [str , TeslemetryStreamVehicle ] = {}
2122
2223 def __init__ (
2324 self ,
@@ -39,15 +40,15 @@ def __init__(
3940 self .delay = DELAY
4041
4142 if (self .vin ):
42- self .vehicle = self .create_vehicle (self .vin )
43+ self .vehicle = self .get_vehicle (self .vin )
4344
44- def create_vehicle (self , vin : str ) -> TeslemetryStreamVehicle :
45+ def get_vehicle (self , vin : str ) -> TeslemetryStreamVehicle :
4546 """Create a vehicle stream."""
4647 if self .vin is not None and self .vin != vin :
4748 raise AttributeError ("Stream started in single vehicle mode" )
48- if hasattr ( self , 'vehicle' ) :
49- return self .vehicle
50- return TeslemetryStreamVehicle ( self , vin )
49+ if vin not in self . vehicles :
50+ self .vehicles [ vin ] = TeslemetryStreamVehicle ( self , vin )
51+ return self . vehicles [ vin ]
5152
5253 @property
5354 def connected (self ) -> bool :
Original file line number Diff line number Diff line change 11from typing import TYPE_CHECKING
22import asyncio
33import logging
4- from .const import TelemetryFields
4+ from .const import Signal
55
66if TYPE_CHECKING :
77 from .stream import TeslemetryStream
1313class TeslemetryStreamVehicle :
1414 """Handle streaming field updates."""
1515
16- fields : dict [TelemetryFields , dict [str , int ]] = {}
16+ fields : dict [Signal , dict [str , int ]] = {}
1717 preferTyped : bool | None = None
1818 _config : dict = {}
1919
@@ -73,9 +73,9 @@ async def update_config(self, config: dict) -> None:
7373 self .preferTyped = prefer_typed
7474 self ._config .clear ()
7575
76- async def add_field (self , field : TelemetryFields | str , interval : int | None = None ) -> None :
76+ async def add_field (self , field : Signal | str , interval : int | None = None ) -> None :
7777 """Handle vehicle data from the stream."""
78- if isinstance (field , TelemetryFields ):
78+ if isinstance (field , Signal ):
7979 field = field .value
8080
8181 if field in self .fields and (interval is None or self .fields [field ].get ("interval_seconds" ) == interval ):
You can’t perform that action at this time.
0 commit comments