All checks were successful
Validate / Hassfest (push) Successful in 2s
Renamed send_telegram_media_group to send_telegram_notification with expanded capabilities: - Text messages (when urls is empty) - Single photo/video (uses sendPhoto/sendVideo APIs) - Media groups (uses sendMediaGroup API) - Automatic chunking for unlimited media URLs - Smart optimization: single-item chunks use appropriate single-item APIs New parameters: - max_group_size (2-10, default 10): control items per media group - chunk_delay (0-60000ms, default 0): delay between chunks for rate limiting - disable_web_page_preview: disable link previews in text messages The service now intelligently selects the most efficient Telegram API endpoint based on content type and chunk size, with comprehensive error handling and logging. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
186 lines
8.5 KiB
JSON
186 lines
8.5 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": "Отключить предпросмотр ссылок в текстовых сообщениях."
|
||
},
|
||
"max_group_size": {
|
||
"name": "Макс. размер группы",
|
||
"description": "Максимальное количество медиа-файлов в одной группе (2-10). Большие списки будут разделены на несколько групп."
|
||
},
|
||
"chunk_delay": {
|
||
"name": "Задержка между группами",
|
||
"description": "Задержка в миллисекундах между отправкой нескольких медиа-групп (0-60000). Полезно для ограничения скорости."
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|