import asyncio import json import logging from app.tion import TionController from app.my_dataclasses import * def print_state(title: str, state) -> None: print() print("=" * 50) print(title) print("=" * 50) print(json.dumps( state.to_dict(), indent=2, ensure_ascii=False )) async def main(): # Убираем лишнее логирование logging.getLogger("asyncio").setLevel(logging.WARNING) logging.getLogger("bleak").setLevel(logging.WARNING) logging.getLogger("tion_btle").setLevel(logging.WARNING) tion = TionController(TION_MAC) print("Подключение к Tion...") async with tion: print(f"Connected: {tion.connected}") # Читаем исходное состояние state = await tion.get_state() print_state("Исходное состояние", state) # Включаем state = await tion.power_on() print_state("После POWER ON", state) await asyncio.sleep(1) # Скорость 2 state = await tion.set_speed(2) print_state("После SPEED 2", state) await asyncio.sleep(1) # Скорость 3 state = await tion.set_speed(3) print_state("После SPEED 3", state) print() print(f"Connected after exit: {tion.connected}") if __name__ == "__main__": asyncio.run(main())