All checks were successful
Validate / Hassfest (push) Successful in 3s
- Add `wait_for_response` parameter (default: true) for fire-and-forget operation - Change supports_response to OPTIONAL to allow both modes - Refactor execution logic into `_execute_telegram_notification` method - Background tasks created with `hass.async_create_task` when wait_for_response=false - Update documentation with non-blocking mode example and response behavior Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
194 lines
9.1 KiB
JSON
194 lines
9.1 KiB
JSON
{
|
||
"entity": {
|
||
"sensor": {
|
||
"album_id": {
|
||
"name": "ID альбома"
|
||
},
|
||
"album_asset_count": {
|
||
"name": "Число файлов"
|
||
},
|
||
"album_photo_count": {
|
||
"name": "Число фото"
|
||
},
|
||
"album_video_count": {
|
||
"name": "Число видео"
|
||
},
|
||
"album_last_updated": {
|
||
"name": "Последнее обновление"
|
||
},
|
||
"album_created": {
|
||
"name": "Дата создания"
|
||
},
|
||
"album_public_url": {
|
||
"name": "Публичная ссылка"
|
||
},
|
||
"album_protected_url": {
|
||
"name": "Защищённая ссылка"
|
||
},
|
||
"album_protected_password": {
|
||
"name": "Пароль ссылки"
|
||
}
|
||
},
|
||
"binary_sensor": {
|
||
"album_new_assets": {
|
||
"name": "Новые файлы"
|
||
}
|
||
},
|
||
"camera": {
|
||
"album_thumbnail": {
|
||
"name": "Превью"
|
||
}
|
||
},
|
||
"text": {
|
||
"album_protected_password_edit": {
|
||
"name": "Пароль ссылки"
|
||
}
|
||
},
|
||
"button": {
|
||
"create_share_link": {
|
||
"name": "Создать ссылку"
|
||
},
|
||
"delete_share_link": {
|
||
"name": "Удалить ссылку"
|
||
},
|
||
"create_protected_link": {
|
||
"name": "Создать защищённую ссылку"
|
||
},
|
||
"delete_protected_link": {
|
||
"name": "Удалить защищённую ссылку"
|
||
}
|
||
}
|
||
},
|
||
"config": {
|
||
"step": {
|
||
"user": {
|
||
"title": "Подключение к Immich",
|
||
"description": "Введите данные вашего сервера Immich. API-ключ можно получить в Immich → Настройки пользователя → API-ключи.",
|
||
"data": {
|
||
"hub_name": "Название хаба",
|
||
"immich_url": "URL Immich",
|
||
"api_key": "API-ключ"
|
||
},
|
||
"data_description": {
|
||
"hub_name": "Название для этого сервера Immich (используется в ID сущностей)",
|
||
"immich_url": "URL вашего сервера Immich (например, http://192.168.1.100:2283)",
|
||
"api_key": "Ваш API-ключ Immich"
|
||
}
|
||
}
|
||
},
|
||
"error": {
|
||
"cannot_connect": "Не удалось подключиться к серверу Immich",
|
||
"invalid_auth": "Неверный API-ключ",
|
||
"no_albums": "На сервере не найдено альбомов",
|
||
"unknown": "Произошла непредвиденная ошибка"
|
||
},
|
||
"abort": {
|
||
"already_configured": "Этот сервер Immich уже настроен"
|
||
}
|
||
},
|
||
"config_subentries": {
|
||
"album": {
|
||
"initiate_flow": {
|
||
"user": "Добавить альбом"
|
||
},
|
||
"entry_type": "Альбом",
|
||
"step": {
|
||
"user": {
|
||
"title": "Добавить альбом для отслеживания",
|
||
"description": "Выберите альбом с вашего сервера Immich для отслеживания изменений.",
|
||
"data": {
|
||
"album_id": "Альбом"
|
||
}
|
||
}
|
||
},
|
||
"error": {
|
||
"cannot_connect": "Не удалось подключиться к серверу Immich"
|
||
},
|
||
"abort": {
|
||
"parent_not_found": "Конфигурация хаба не найдена",
|
||
"no_albums": "На сервере не найдено альбомов",
|
||
"all_albums_configured": "Все альбомы уже настроены",
|
||
"album_already_configured": "Этот альбом уже отслеживается"
|
||
}
|
||
}
|
||
},
|
||
"options": {
|
||
"step": {
|
||
"init": {
|
||
"title": "Настройки Immich Album Watcher",
|
||
"description": "Настройте интервал опроса для всех альбомов.",
|
||
"data": {
|
||
"scan_interval": "Интервал сканирования (секунды)",
|
||
"telegram_bot_token": "Токен Telegram бота"
|
||
},
|
||
"data_description": {
|
||
"scan_interval": "Как часто проверять изменения в альбомах (10-3600 секунд)",
|
||
"telegram_bot_token": "Токен бота для отправки уведомлений в Telegram"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"services": {
|
||
"refresh": {
|
||
"name": "Обновить",
|
||
"description": "Принудительно обновить данные альбома из Immich."
|
||
},
|
||
"get_recent_assets": {
|
||
"name": "Получить последние файлы",
|
||
"description": "Получить последние файлы из выбранного альбома.",
|
||
"fields": {
|
||
"count": {
|
||
"name": "Количество",
|
||
"description": "Количество возвращаемых файлов (1-100)."
|
||
}
|
||
}
|
||
},
|
||
"send_telegram_notification": {
|
||
"name": "Отправить уведомление в Telegram",
|
||
"description": "Отправить уведомление в Telegram (текст, фото, видео или медиа-группу).",
|
||
"fields": {
|
||
"bot_token": {
|
||
"name": "Токен бота",
|
||
"description": "Токен Telegram бота (необязательно, если настроен в опциях интеграции)."
|
||
},
|
||
"chat_id": {
|
||
"name": "ID чата",
|
||
"description": "ID чата Telegram для отправки."
|
||
},
|
||
"urls": {
|
||
"name": "URL-адреса",
|
||
"description": "Список URL медиа-файлов с типом (photo/video). Если пусто, отправляет текстовое сообщение. Большие списки автоматически разделяются на несколько медиа-групп."
|
||
},
|
||
"caption": {
|
||
"name": "Подпись",
|
||
"description": "Текст подписи. Для медиа применяется к первому элементу. Для пустых URLs это текст сообщения."
|
||
},
|
||
"reply_to_message_id": {
|
||
"name": "Ответ на",
|
||
"description": "ID сообщения для ответа (необязательно)."
|
||
},
|
||
"disable_web_page_preview": {
|
||
"name": "Отключить предпросмотр ссылок",
|
||
"description": "Отключить предпросмотр ссылок в текстовых сообщениях."
|
||
},
|
||
"parse_mode": {
|
||
"name": "Режим парсинга",
|
||
"description": "Как парсить подпись/текст. Варианты: HTML, Markdown, MarkdownV2, или пустая строка для обычного текста."
|
||
},
|
||
"max_group_size": {
|
||
"name": "Макс. размер группы",
|
||
"description": "Максимальное количество медиа-файлов в одной группе (2-10). Большие списки будут разделены на несколько групп."
|
||
},
|
||
"chunk_delay": {
|
||
"name": "Задержка между группами",
|
||
"description": "Задержка в миллисекундах между отправкой нескольких медиа-групп (0-60000). Полезно для ограничения скорости."
|
||
},
|
||
"wait_for_response": {
|
||
"name": "Ждать ответа",
|
||
"description": "Ждать завершения отправки в Telegram перед возвратом. Установите false для фоновой отправки (автоматизация продолжается немедленно)."
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|