greatly improved from implementing the "logging endgame" notebook

This commit is contained in:
John Lancaster
2024-04-29 23:39:58 -05:00
parent 866b4a1cfb
commit fe0b3057ed
4 changed files with 129 additions and 91 deletions

View File

@@ -1,13 +1,15 @@
import json
import logging
from dataclasses import dataclass
from logging import Logger
from typing import List
from typing import TYPE_CHECKING, List
from appdaemon.plugins.mqtt.mqttapi import Mqtt
from console import setup_component_logging
from model import ButtonConfig
from room_control import RoomController
if TYPE_CHECKING:
from room_control import RoomController
@dataclass(init=False)
@@ -20,7 +22,7 @@ class Button(Mqtt):
async def initialize(self):
self.config = ButtonConfig(**self.args)
self.logger = setup_component_logging(self)
self.app: RoomController = await self.get_app(self.args['app'])
self.app: 'RoomController' = await self.get_app(self.args['app'])
self.log(f'Connected to AD app [room]{self.app.name}[/]', level='DEBUG')
self.button = self.config.button