Files
ledgrab-haos-integration/custom_components/ledgrab/translations/ru.json
T
alexei.dolgolyov 705616f8b0 feat(playlists): expose scene playlists as Home Assistant entities
One device per scene playlist (model "Scene Playlist"), each with:
- a switch (start/stop; the server cycles one playlist at a time, so starting one stops any other)
- a "Current Scene" sensor that resolves the active preset name from scene_presets while this playlist is cycling
- an "Items" diagnostic sensor (configured scene count; no state_class)

The coordinator reads scene_playlists plus the flat playlist_state from the /api/v1/snapshot payload and gains start_playlist()/stop_playlist(); __init__ registers and prunes per-playlist devices and reloads on playlist-id changes; the event listener also refreshes on the playlist_state_changed WS event. Shared device/lookup/running-state plumbing lives in a new LedGrabPlaylistEntity base (entity.py) used by both the switch and the sensors. Adds en/ru translation keys.

Note: this also lands the in-progress coordinator migration from the per-request fan-out to the single /api/v1/snapshot poll that was already present in the working tree.

Requires the led-grab server /api/v1/snapshot to emit scene_playlists + playlist_state (companion server change, tracked separately).
2026-06-08 15:59:42 +03:00

155 lines
4.1 KiB
JSON

{
"config": {
"step": {
"user": {
"title": "Настройка LED Screen Controller",
"description": "Введите URL и API-ключ вашего сервера LED Screen Controller.",
"data": {
"server_name": "Имя сервера",
"server_url": "URL сервера",
"api_key": "API-ключ"
},
"data_description": {
"server_name": "Отображаемое имя сервера в Home Assistant",
"server_url": "URL сервера LED Screen Controller (например, http://192.168.1.100:8080)",
"api_key": "API-ключ из конфигурационного файла сервера"
}
}
},
"error": {
"cannot_connect": "Не удалось подключиться к серверу.",
"invalid_api_key": "Неверный API-ключ.",
"unknown": "Произошла непредвиденная ошибка."
},
"abort": {
"already_configured": "Этот сервер уже настроен."
}
},
"entity": {
"button": {
"activate_scene": {
"name": "{scene_name}"
},
"sync_clock_reset": {
"name": "Сброс"
}
},
"light": {
"api_input_light": {
"name": "Подсветка"
}
},
"switch": {
"processing": {
"name": "Обработка"
},
"sync_clock_running": {
"name": "Активно"
},
"playlist_active": {
"name": "Активно"
}
},
"sensor": {
"fps": {
"name": "FPS"
},
"status": {
"name": "Статус",
"state": {
"processing": "Обработка",
"idle": "Ожидание",
"error": "Ошибка",
"unavailable": "Недоступен"
}
},
"mapped_lights": {
"name": "Привязанные светильники"
},
"sync_clock_elapsed": {
"name": "Прошло времени"
},
"playlist_current_scene": {
"name": "Текущая сцена"
},
"playlist_items": {
"name": "Сцены"
},
"server_cpu_percent": {
"name": "Загрузка CPU"
},
"server_ram_percent": {
"name": "Загрузка ОЗУ"
},
"server_app_cpu_percent": {
"name": "CPU приложения"
},
"server_app_ram": {
"name": "Память приложения"
},
"server_gpu_utilization": {
"name": "Загрузка GPU"
},
"server_gpu_temp": {
"name": "Температура GPU"
},
"server_cpu_temp": {
"name": "Температура CPU"
},
"server_battery": {
"name": "Батарея"
},
"server_last_restart": {
"name": "Последний запуск"
},
"server_version": {
"name": "Версия сервера"
}
},
"number": {
"brightness": {
"name": "Яркость"
},
"ha_light_update_rate": {
"name": "Частота обновления"
},
"ha_light_transition": {
"name": "Переход"
},
"ha_light_min_brightness": {
"name": "Мин. яркость"
},
"ha_light_color_tolerance": {
"name": "Допуск цвета"
},
"api_input_timeout": {
"name": "Таймаут подмены"
},
"sync_clock_speed": {
"name": "Скорость"
}
},
"select": {
"color_strip_source": {
"name": "Источник цветовой полосы"
},
"brightness_source": {
"name": "Источник яркости"
},
"api_input_interpolation": {
"name": "Интерполяция",
"state": {
"none": "Нет",
"linear": "Линейная",
"nearest": "Ближайший"
}
}
},
"update": {
"server_update": {
"name": "Обновление сервера"
}
}
}
}