Skip to content

Commit d13f5d2

Browse files
committed
v0.5.3 vehicles and renames
1 parent 16f1635 commit d13f5d2

File tree

5 files changed

+18
-17
lines changed

5 files changed

+18
-17
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
setuptools.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",

teslemetry_stream/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
TeslemetryStreamVehicleNotConfigured,
77
TeslemetryStreamEnded
88
)
9-
from .const import TelemetryFields, TelemetryAlerts
9+
from .const import Signal, Alert
1010

1111
__all__ = [
1212
"TeslemetryStream",
@@ -15,6 +15,6 @@
1515
"TeslemetryStreamConnectionError",
1616
"TeslemetryStreamVehicleNotConfigured",
1717
"TeslemetryStreamEnded",
18-
"TelemetryFields",
19-
"TelemetryAlerts"
18+
"Signal",
19+
"Alert"
2020
]

teslemetry_stream/const.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff 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"

teslemetry_stream/stream.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff 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:

teslemetry_stream/vehicle.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from typing import TYPE_CHECKING
22
import asyncio
33
import logging
4-
from .const import TelemetryFields
4+
from .const import Signal
55

66
if TYPE_CHECKING:
77
from .stream import TeslemetryStream
@@ -13,7 +13,7 @@
1313
class 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):

0 commit comments

Comments
 (0)