diff --git a/button.py b/button.py index f72c9ea..18e2cc8 100644 --- a/button.py +++ b/button.py @@ -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 diff --git a/console.py b/console.py index bfe530b..865d192 100644 --- a/console.py +++ b/console.py @@ -3,6 +3,7 @@ import logging.config import re from abc import ABC from dataclasses import asdict, dataclass +from typing import Optional from appdaemon.logging import AppNameFormatter from rich.console import Console @@ -10,18 +11,6 @@ from rich.highlighter import RegexHighlighter from rich.logging import RichHandler from rich.theme import Theme - -class RCHighlighter(RegexHighlighter): - highlights = [ - r'(?P(light|switch)\.\w+)', - r'(?P