diff --git a/mytoyota/models.py b/mytoyota/models.py index 095a8fac..74451f36 100644 --- a/mytoyota/models.py +++ b/mytoyota/models.py @@ -1,6 +1,6 @@ """Models for mytoyota""" -from mytoyota.const import CLOSED, HOOD, INCAR, LOCKED, OFF, STATE, WARNING +from mytoyota.const import CLOSED, INCAR, LOCKED, OFF, STATE, WARNING class Hood: @@ -48,18 +48,16 @@ def as_dict(self) -> dict: class Doors: """Represent all car doors""" - hood: Hood driverseat: Door passengerseat: Door rightrearseat: Door leftrearseat: Door - tailgate: Door + trunk: Door warning: bool = False - def __init__(self, hood, doors): + def __init__(self, doors: dict): self.warning = doors[WARNING] - self.hood = Hood(hood) self.driverseat = ( Door(doors["driverSeatDoor"]) if "driverSeatDoor" in doors else None ) @@ -72,7 +70,7 @@ def __init__(self, hood, doors): self.leftrearseat = ( Door(doors["rearLeftSeatDoor"]) if "rearLeftSeatDoor" in doors else None ) - self.tailgate = Door(doors["backDoor"]) if "backDoor" in doors else None + self.trunk = Door(doors["backDoor"]) if "backDoor" in doors else None def __str__(self) -> str: return str(self.as_dict()) @@ -81,12 +79,11 @@ def as_dict(self) -> dict: """Return as dict.""" return { WARNING: self.warning, - HOOD: self.hood.as_dict(), "driverseat": self.driverseat.as_dict(), "passengerseat": self.passengerseat.as_dict(), "rightrearseat": self.rightrearseat.as_dict(), "leftrearseat": self.rightrearseat.as_dict(), - "tailgate": self.tailgate.as_dict(), + "trunk": self.trunk.as_dict(), } diff --git a/mytoyota/vehicle.py b/mytoyota/vehicle.py index 7721c774..571b18ff 100644 --- a/mytoyota/vehicle.py +++ b/mytoyota/vehicle.py @@ -3,7 +3,7 @@ from typing import Optional from mytoyota.const import DOORS, HOOD, KEY, LIGHTS, WINDOWS -from mytoyota.models import Doors, Key, Lights, Windows +from mytoyota.models import Doors, Hood, Key, Lights, Windows _LOGGER: logging.Logger = logging.getLogger(__package__) @@ -94,6 +94,7 @@ class Status: """Vehicle status representation""" lights: Optional[Lights] = None + hood: Optional[Hood] = None doors: Optional[Doors] = None windows: Optional[Windows] = None key: Optional[Key] = None @@ -106,14 +107,17 @@ def __init__(self, status: Optional[dict]): _LOGGER.debug("Raw status data: %s", str(status)) if status is not None: - self.overallstatus = status["overallStatus"] + self.overallstatus = ( + status["overallStatus"] if "overallStatus" in status else None + ) - self.lights = Lights(status[LIGHTS]) - self.doors = Doors(status[HOOD], status[DOORS]) - self.windows = Windows(status[WINDOWS]) - self.key = Key(status[KEY]) + self.lights = Lights(status[LIGHTS]) if LIGHTS in status else None + self.hood = Hood(status[HOOD]) if HOOD in status else None + self.doors = Doors(status[DOORS]) if DOORS in status else None + self.windows = Windows(status[WINDOWS]) if WINDOWS in status else None + self.key = Key(status[KEY]) if KEY in status else None - self.last_updated = status["timestamp"] + self.last_updated = status["timestamp"] if "timestamp" in status else None def __str__(self) -> str: return str(self.as_dict()) @@ -123,6 +127,7 @@ def as_dict(self) -> dict: return { "overallstatus": self.overallstatus, "lights": self.lights.as_dict() if self.lights is not None else None, + "hood": self.hood.as_dict() if self.hood is not None else None, "doors": self.doors.as_dict() if self.doors is not None else None, "windows": self.windows.as_dict() if self.windows is not None else None, "key": self.key.as_dict() if self.key is not None else None,