tweaked types
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user