feat: add RGB/color temp control and enhance error handling for groups

This commit is contained in:
Артём Кокос
2026-02-12 22:52:05 +07:00
parent 738edd4db9
commit 3c52fcf4ec
4 changed files with 91 additions and 38 deletions

View File

@@ -6,17 +6,39 @@ import socket
class WizDriver:
PORT = 38899
# Стандартные ID сцен WiZ
SCENES = {
# Динамические (меняют цвет/яркость во времени)
"ocean": 1,
"romance": 2,
"party": 3,
"fireplace": 5,
"cozy": 6,
"forest": 10,
"pastel_colors": 11,
"wake_up": 12,
"bedtime": 13,
"warm_white": 33,
"daylight": 34,
"warm_white": 14,
"daylight": 15,
"cool_white": 16,
"night_light": 17,
"focus": 18,
"relax": 19,
"true_colors": 20,
"tv_time": 21,
"plant_growth": 22,
"spring": 23,
"summer": 24,
"fall": 25,
"deep_dive": 26,
"jungle": 27,
"mojito": 28,
"club": 29,
"christmas": 30,
"halloween": 31,
"candlelight": 32,
"golden_white": 33,
"pulse": 34,
"steampunk": 35,
}
async def send_udp(self, ip: str, payload: dict):

View File

@@ -22,7 +22,9 @@ class GroupModel(Base):
id: Mapped[str] = mapped_column(String, primary_key=True)
name: Mapped[str] = mapped_column(String)
device_ids: Mapped[list] = mapped_column(JSON) # Храним список MAC-адресов как JSON
device_ids: Mapped[List[str]] = mapped_column(
JSON
) # Храним список MAC-адресов как JSON
# --- Pydantic модели для API (оставляем для валидации) ---