Frigate Версия <#MODULE_VERSION#>
[#if TAB_SETTINGS="1"#]
Этот модуль работает с Frigate через MQTT как с основным способом получения событий.
Настройки брокера он берёт из установленного модуля MQTT MajorDoMo.
Модуль Telegram используется только как источник токена бота, если в нём токен найден.
Режим обработки кнопки "Посмотреть видео": <#TELEGRAM_CALLBACK_MODE#>.
MQTT цикл: [#if CYCLE_MQTT_STATUS="1"#]работает[#else#]остановлен[#endif#] [#if CYCLE_MQTT_UPDATED!=""#]
Последний heartbeat: <#CYCLE_MQTT_UPDATED#>[#endif#]

Telegram callback цикл: [#if CYCLE_TELEGRAM_STATUS="1"#]работает[#else#]остановлен[#endif#] [#if CYCLE_TELEGRAM_UPDATED!=""#]
Последний heartbeat: <#CYCLE_TELEGRAM_UPDATED#>[#endif#] [#if TELEGRAM_MODULE_INSTALLED="1"#]
При установленном модуле Telegram этот цикл специально остановлен, а callback обрабатывается через `tlg_event`.[#endif#]
Перезапустить циклы

Если выключено, оба цикла Frigate не будут ничего обрабатывать.
Пример: `http://192.168.45.222:5000`
[#if MQTT_MODULE_FOUND="1"#] Найден.
Хост: <#MQTT_HOST#>
Порт: <#MQTT_PORT#>
[#if MQTT_AUTH="1"#]Логин: <#MQTT_USERNAME#>
[#endif#] Подписка MQTT-модуля: <#MQTT_QUERY#> [#else#] Модуль MQTT не найден или его настройки недоступны. [#endif#]
Эти данные берутся автоматически из модуля MQTT и здесь не редактируются.
Обычно это `frigate/events`. Если хотите ловить ещё и вложенные топики, можно указать `frigate/events/#`.
[#if TELEGRAM_MODULE_FOUND="1"#] [#else#] [#endif#]
Если модуль Telegram установлен и в нём задан токен, Frigate возьмёт именно его автоматически.
Поле для ручного ввода используется только если Telegram-модуль не найден или в нём нет токена.
Текущий источник токена: <#TELEGRAM_TOKEN_SOURCE#>
Обычно достаточно `HTML`.

Если включено, модуль попробует заменить первое сообщение на видео-превью того же события.

Полезно включать на время настройки.
[#endif#] [#if TAB_USERS="1"#]
Ниже показаны системные пользователи MajorDoMo.
`chat_id` модуль сначала пытается взять из Telegram-модуля автоматически.
Если автоматически он не найден, можно указать его вручную.
[#begin RECIPIENTS#] [#end RECIPIENTS#]
ID Источник Имя Отправлять Telegram chat_id Источник chat_id
[#RID#] [#SOURCE_LABEL#] [#DISPLAY_NAME#] [#CHAT_SOURCE#]
[#endif#] [#if TAB_FACE="1"#]
Эта вкладка относится к распознаванию лиц.
Сам модуль MajorDoMo уже умеет подхватывать имя лица из события Frigate и показывать его в Telegram вместе с фото-превью.
Сейчас модуль читает имя из полей: `sub_label`, `face_name`, `recognized_face`, `snapshot.sub_label`.
Как это работает
1. Frigate или связанная с ним система распознавания лиц должна записывать имя человека в MQTT-событие.
2. Наш модуль берёт это имя и добавляет его в подпись к первому фото, к preview и к клипу по кнопке.
3. Если имя в событие не попадает, уведомление придёт как обычное обнаружение человека, без имени.
Что проверить во Frigate
Для камер должны быть включены `snapshots` и `review`, чтобы мы могли отправлять фото-превью и потом заменять его на preview/clip.
Если используется Double Take, CompreFace, CodeProject.AI или другая внешняя система, важно добиться, чтобы имя человека реально попадало в MQTT-событие Frigate.
Когда это заработает, в списке событий этой страницы появится поле `лицо: Имя`.
[#endif#] [#if TAB_EVENTS="1"#]
Последние события
[#begin EVENTS#]
[#CAMERA#] / [#LABEL#] / [#EVENT_TYPE#] [#if FACE_NAME!=""#] / лицо: [#FACE_NAME#][#endif#] [#if PLATE!=""#] / номер: [#PLATE#][#endif#] [#if PHOTO_SENT="1"#] / фото отправлено[#endif#] [#if PREVIEW_SENT="1"#] / превью отправлено[#endif#]
[#UPDATED#]
[#end EVENTS#]
[#endif#] [#if TAB_HELP="1"#]
Ниже собрана простая пошаговая инструкция по настройке модуля Frigate в MajorDoMo. Она рассчитана на обычного пользователя: без лишней технической теории, только то, что нужно сделать на практике.
1. Что нужно, чтобы всё заработало
1. Должен быть установлен и работать Frigate.
2. Frigate должен быть подключён к MQTT.
3. В MajorDoMo должен быть установлен и настроен модуль MQTT.
4. Для отправки уведомлений нужен Telegram-бот. Проще всего, когда уже установлен модуль Telegram в MajorDoMo.
5. В этом модуле Frigate нужно выбрать получателей уведомлений.
2. Что настроить во Frigate
Во Frigate нужно, чтобы события публиковались в MQTT. Обычно это уже включено, если Frigate работает с брокером.
Для камер желательно включить снимки и обзор событий, чтобы модуль мог:
• сначала отправить фото
• потом заменить его на видео-превью
• по кнопке отправить клип события
Если вы хотите использовать автоматические методы по числу людей в кадре, Frigate также должен публиковать топики вида:
frigate/ИмяКамеры/person
В этом топике должно приходить число людей: `0`, `1`, `2` и так далее.
Простой пример того, что обычно должно быть во Frigate:
mqtt:
  enabled: true
  host: 192.168.45.10
  port: 1883

cameras:
  Dom:
    snapshots:
      enabled: true
    review:
      alerts:
        required_zones: []
      detections:
        required_zones: []
Это не полный конфиг Frigate, а только понятный пример направления. Если у вас уже есть рабочий `frigate.yml`, обычно достаточно проверить, что MQTT включён, а камера отдаёт snapshots/review.
3. Что настроить в MajorDoMo
1. Откройте вкладку Основные настройки.
2. Включите модуль.
3. Укажите адрес Frigate, например:
http://192.168.45.222:5000
4. В поле MQTT топика обычно достаточно указать:
frigate/events
5. Если у вас события приходят не в один основной топик, а во вложенные, можно использовать:
frigate/events/#
6. Сохраните настройки.
7. Нажмите Перезапустить циклы, если хотите сразу перезапустить обработку.
4. Как настроить Telegram-уведомления
1. Откройте вкладку Пользователи.
2. Найдите нужных людей, которым должны приходить уведомления.
3. Поставьте галочку Отправлять.
4. Если `chat_id` уже найден автоматически через модуль Telegram, ничего вручную вводить не нужно.
5. Если `chat_id` не найден, вставьте его вручную и сохраните.
5. Что будет происходить после настройки
1. Frigate замечает человека, машину или другой объект.
2. В Telegram приходит первое сообщение с картинкой.
3. Через короткое время это же сообщение может замениться на видео-превью.
4. По кнопке Посмотреть видео модуль попробует показать клип события.
5. Если Telegram не позволит заменить старое сообщение клипом, модуль всё равно отправит видео следующим сообщением.
6. Как проверить, что всё работает
Самый простой способ: пройти перед камерой или проехать машиной там, где Frigate уже умеет ловить события.
После этого проверьте:
• появилось ли сообщение в Telegram
• видна ли камера в подписи
• обновилось ли фото до превью
• работает ли кнопка просмотра видео
Также можно открыть вкладку Последние события и посмотреть, появились ли новые записи.
7. Как работают методы камер
При первом событии модуль создаёт класс frigate и отдельные объекты по именам камер.
У каждого объекта камеры есть два метода:
start_event — запускается, когда событие только началось
end_event — запускается, когда событие закончилось
person_detected — запускается, когда в топике камеры `person` значение стало больше `0`
person_gone — запускается, когда в топике камеры `person` значение стало равно `0`
У объекта камеры также появляется свойство:
person — текущее число людей в кадре по MQTT-топику камеры
Простыми словами это нужно, если вы хотите делать свои действия на события камеры.
• включить свет при появлении человека
• запускать сценарий записи или звука
• сохранять свои дополнительные данные
Если вы не пишете свои сценарии, эти методы можно просто не трогать.
8. Если что-то не работает
1. Включите галочку Подробный лог на вкладке основных настроек.
2. Проверьте, работает ли MQTT-модуль MajorDoMo.
3. Убедитесь, что Frigate доступен по указанному адресу из браузера.
4. Убедитесь, что пользователю назначен правильный Telegram `chat_id`.
5. Если уведомления приходят, но без видео, чаще всего проблема либо во времени подготовки клипа во Frigate, либо в ограничениях Telegram на замену сообщения видеофайлом.
[#endif#]