Оптимизация и модернизация __init__.py

— 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
This commit is contained in:
2026-06-28 17:14:49 +03:00
parent 97624d6750
commit 15a97be8e2
5 changed files with 433 additions and 373 deletions
+3 -3
View File
@@ -100,9 +100,9 @@ class RTKeyEventSensor(SensorEntity):
"Тип события": self._event_data.get("event_type", ""),
}
archive_url = self._event_data.get("archive_url")
if archive_url:
attrs["Архив видео"] = archive_url
archive_path = self._event_data.get("archive_path")
if archive_path:
attrs["Архив видео"] = archive_path
event = self._event_data.get("event", {})
rfid = event.get("rfid")