All checks were successful
Validate / Hassfest (push) Successful in 3s
- Remove photo downscaling logic in favor of cleaner error handling - Add intelligent Telegram API error logging with diagnostics and suggestions - Define Telegram photo limits as global constants (TELEGRAM_MAX_PHOTO_SIZE, TELEGRAM_MAX_DIMENSION_SUM) - Add photo_url support for image assets (matching video_url for videos) - Unify asset detail building with shared _build_asset_detail() helper method - Enhance get_assets service to return complete asset data matching events - Simplify attribute naming by removing redundant asset_ prefix from values BREAKING CHANGE: Asset attribute keys changed from "asset_type", "asset_filename" to simpler "type", "filename" for consistency and cleaner JSON responses Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
214 lines
11 KiB
JSON
214 lines
11 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_assets": {
|
||
"name": "Получить файлы",
|
||
"description": "Получить файлы из выбранного альбома с возможностью фильтрации и сортировки.",
|
||
"fields": {
|
||
"count": {
|
||
"name": "Количество",
|
||
"description": "Максимальное количество возвращаемых файлов (1-100)."
|
||
},
|
||
"filter": {
|
||
"name": "Фильтр",
|
||
"description": "Фильтровать файлы по типу (none - без фильтра, favorite - только избранные, rating - по рейтингу)."
|
||
},
|
||
"filter_min_rating": {
|
||
"name": "Минимальный рейтинг",
|
||
"description": "Минимальный рейтинг для файлов (1-5). Используется только при filter='rating'."
|
||
},
|
||
"order": {
|
||
"name": "Порядок",
|
||
"description": "Порядок сортировки файлов по дате создания."
|
||
}
|
||
}
|
||
},
|
||
"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 для фоновой отправки (автоматизация продолжается немедленно)."
|
||
},
|
||
"max_asset_data_size": {
|
||
"name": "Макс. размер ресурса",
|
||
"description": "Максимальный размер ресурса в байтах. Ресурсы, превышающие этот лимит, будут пропущены. Оставьте пустым для отсутствия ограничения."
|
||
},
|
||
"send_large_photos_as_documents": {
|
||
"name": "Большие фото как документы",
|
||
"description": "Как обрабатывать фото, превышающие лимиты Telegram (10МБ или сумма размеров 10000пкс). Если true, отправлять как документы. Если false, уменьшать для соответствия лимитам."
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|