— aiohttp вместо requests: реальный async, единая ClientSession, connection pooling — async file I/O через executor (write_bytes, mkdir, cleanup) — asyncio.gather для параллельного опроса событий — asyncio.wait_for(timeout=5) на FFmpeg check — CameraTokenInfo dataclass вместо dict — yarl.URL для безопасной кодировки query-параметров — Общие _api_get/_api_post, уменьшение дублирования — CONF_ARCHIVE_DURATION вынесена в настройки — Удалена бессмысленная ветка в get_intercoms_info — _close_session() cleanup при unload — sensor.py: archive_url → archive_path — Обновлены переводы и config_flow для archive_duration
68 lines
3.1 KiB
JSON
68 lines
3.1 KiB
JSON
{
|
|
"config": {
|
|
"step": {
|
|
"user": {
|
|
"title": "RT Key Integration",
|
|
"description": "Setup connection to Rostelecom Key",
|
|
"data": {
|
|
"name": "Integration name",
|
|
"token": "RT Key access token",
|
|
"camera_image_refresh_interval": "Screenshot refresh interval (sec, 0 = disabled)",
|
|
"screenshot_quality": "Screenshot quality",
|
|
"log_level": "Logging level",
|
|
"events_enabled": "Enable event tracking",
|
|
"events_refresh_interval": "Event polling interval (sec)",
|
|
"event_time_lag": "Camera time lag (sec)",
|
|
"pre_event_seconds": "Seconds before event to show",
|
|
"event_screenshot_quality": "Event screenshot quality",
|
|
"event_sensor_enabled": "Create event sensor entity",
|
|
"archive_path": "Archive storage path",
|
|
"archive_copies": "Number of video copies (0 = disabled)",
|
|
"archive_duration": "Archive video duration (sec)",
|
|
"screenshot_copies": "Number of screenshot copies (0 = disabled)"
|
|
},
|
|
"data_description": {
|
|
"token": "Get token via browser developer tools (F12) on key.rt.ru",
|
|
"camera_image_refresh_interval": "0 — disable periodic screenshots",
|
|
"archive_path": "Relative to /media/ folder (e.g.: RTKey)",
|
|
"archive_copies": "Maximum number of saved videos per intercom",
|
|
"archive_duration": "Duration of archived video fragment per event",
|
|
"screenshot_copies": "Maximum number of saved screenshots per intercom"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"options": {
|
|
"step": {
|
|
"init": {
|
|
"title": "RT Key Settings",
|
|
"description": "Modify integration parameters",
|
|
"data": {
|
|
"name": "Integration name",
|
|
"token": "RT Key access token",
|
|
"camera_image_refresh_interval": "Screenshot refresh interval (sec, 0 = disabled)",
|
|
"screenshot_quality": "Screenshot quality",
|
|
"log_level": "Logging level",
|
|
"events_enabled": "Enable event tracking",
|
|
"events_refresh_interval": "Event polling interval (sec)",
|
|
"event_time_lag": "Camera time lag (sec)",
|
|
"pre_event_seconds": "Seconds before event to show",
|
|
"event_screenshot_quality": "Event screenshot quality",
|
|
"event_sensor_enabled": "Create event sensor entity",
|
|
"archive_path": "Archive storage path",
|
|
"archive_copies": "Number of video copies (0 = disabled)",
|
|
"archive_duration": "Archive video duration (sec)",
|
|
"screenshot_copies": "Number of screenshot copies (0 = disabled)"
|
|
},
|
|
"data_description": {
|
|
"token": "Get token via browser developer tools (F12) on key.rt.ru",
|
|
"camera_image_refresh_interval": "0 — disable periodic screenshots",
|
|
"archive_path": "Relative to /media/ folder (e.g.: RTKey)",
|
|
"archive_copies": "Maximum number of saved videos per intercom",
|
|
"archive_duration": "Duration of archived video fragment per event",
|
|
"screenshot_copies": "Maximum number of saved screenshots per intercom"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |