Rewrite HAOS integration: target-centric architecture with KC color sensors
- Rewrite integration to target-centric model: each picture target becomes a HA device under a server hub with switch, FPS, and status sensors - Replace KC light entities with color sensors (hex state + RGB attributes) for better automation support via WebSocket real-time updates - Add WebSocket manager for Key Colors color streaming - Add KC per-stage timing metrics (calc_colors, broadcast) with rolling avg - Fix KC timing fields missing from API by adding them to Pydantic schema - Make start/stop processing idempotent to prevent intermittent 404 errors - Add HAOS localization support (en, ru) using translation_key system - Rename integration from "WLED Screen Controller" to "LED Screen Controller" - Remove obsolete select.py (display select) and README.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,23 +1,21 @@
|
||||
"""Constants for the WLED Screen Controller integration."""
|
||||
"""Constants for the LED Screen Controller integration."""
|
||||
|
||||
DOMAIN = "wled_screen_controller"
|
||||
|
||||
# Configuration
|
||||
CONF_SERVER_URL = "server_url"
|
||||
CONF_API_KEY = "api_key"
|
||||
|
||||
# Default values
|
||||
DEFAULT_SCAN_INTERVAL = 10 # seconds
|
||||
DEFAULT_TIMEOUT = 10 # seconds
|
||||
WS_RECONNECT_DELAY = 5 # seconds
|
||||
WS_MAX_RECONNECT_DELAY = 60 # seconds
|
||||
|
||||
# Attributes
|
||||
ATTR_DEVICE_ID = "device_id"
|
||||
ATTR_FPS_ACTUAL = "fps_actual"
|
||||
ATTR_FPS_TARGET = "fps_target"
|
||||
ATTR_DISPLAY_INDEX = "display_index"
|
||||
ATTR_FRAMES_PROCESSED = "frames_processed"
|
||||
ATTR_ERRORS_COUNT = "errors_count"
|
||||
ATTR_UPTIME = "uptime_seconds"
|
||||
# Target types
|
||||
TARGET_TYPE_LED = "led"
|
||||
TARGET_TYPE_KEY_COLORS = "key_colors"
|
||||
|
||||
# Services
|
||||
SERVICE_START_PROCESSING = "start_processing"
|
||||
SERVICE_STOP_PROCESSING = "stop_processing"
|
||||
# Data keys stored in hass.data[DOMAIN][entry_id]
|
||||
DATA_COORDINATOR = "coordinator"
|
||||
DATA_WS_MANAGER = "ws_manager"
|
||||
|
||||
Reference in New Issue
Block a user