#d1749bebeea6 import asyncio import json import logging from tion_btle import TionS4 from my_dataclasses import * def print_state(state: dict): print(json.dumps( state, 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 = TionS4(TION_MAC) print("=== Подключение к Tion ===") await tion.connect() try: # 1. Получаем исходное состояние print("\n=== Исходное состояние ===") state = await tion.get() print_state(state) # 2. Включаем Tion и устанавливаем скорость 2 print("\n=== Включаю Tion, скорость 2 ===") await tion.set({ "state": "on", "fan_speed": 2 }) await asyncio.sleep(1) # 3. Повторно читаем реальное состояние print("\n=== Состояние после команды ===") state = await tion.get() print_state(state) finally: print("\n=== Отключение ===") await tion.disconnect() if __name__ == "__main__": asyncio.run(main())