diff --git a/apps/cubes/cube.py b/apps/cubes/cube.py index d000b29..e8f44be 100644 --- a/apps/cubes/cube.py +++ b/apps/cubes/cube.py @@ -1,9 +1,8 @@ -import json import logging import sys from enum import Enum from pathlib import Path -from typing import Annotated, Literal, Optional, TypedDict +from typing import Literal, Optional from appdaemon.plugins.hass.hassapi import Hass from appdaemon.plugins.mqtt.mqttapi import Mqtt @@ -59,7 +58,7 @@ class MQTTResponse(BaseModel): class CallbackEntry(BaseModel): entity: str event: Optional[str] = None - type: str + type: Literal['state', 'event'] kwargs: str function: str name: str @@ -67,10 +66,6 @@ class CallbackEntry(BaseModel): pin_thread: int -class Callbacks(TypedDict): - pass - - Callbacks = dict[str, dict[str, CallbackEntry]] @@ -94,10 +89,11 @@ class AqaraCube(Hass, Mqtt): def callbacks(self) -> dict[str, CallbackEntry]: data = TypeAdapter(Callbacks).validate_python(self.get_callback_entries()) + name: str = self.name try: - return data[self.name] + return data[name] except KeyError: - return [] + return def handle_event(self, event_name, data, cb_args): data = MQTTResponse.model_validate(data)