work: Полностью реализовал логику управления бризером.
This commit is contained in:
+1
-1
@@ -5,7 +5,7 @@ import json
|
||||
import logging
|
||||
|
||||
from tion_btle import TionS4
|
||||
from my_dataclasses import *
|
||||
from app.my_dataclasses import *
|
||||
|
||||
|
||||
def print_state(state: dict):
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
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())
|
||||
Reference in New Issue
Block a user