Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Unifi Protect — вебхуки, дополнительный контент!! Отправлять превьюшки/изображения/клипы?, UniFi Protect
 
Прошу прощения за отсутствие опыта в создании вебхуков, так что заранее извиняюсь за недостаток "знаний". Хотелось бы создать уведомление, которое будет отправлять изображения вместе с сообщением? Например, обнаружение лиц.... Лицо попадает в известный раздел в Protect. Это не обязательно должно быть известно, это может быть что угодно, известно, неизвестно, лицо представляющее интерес... Такая же принципиальная схема для LPR тоже... Каждый раз, когда срабатывает эта тревога, вебхук отправляется вместе с изображением, которое было захвачено? Возможно ли это вообще с текущей реализацией вебхуков?
 
Кто-нибудь нашёл решение этой проблемы? Я пытаюсь отправлять вебхуки в ntfy (собственный сервер), чтобы получать уведомления по email и на телефон. Пытаюсь сделать что-то похожее, могу передавать ссылку через вебхук "/proxy/protect/api/events/EVENT_ID/thumbnail", но потом просит войти в систему, чтобы посмотреть. Как можно просто встроить эскиз в сообщение? Спасибо.
 
Как ты используешь это, чтобы получить превью? Я попробовал тот же код, что и для получения снимка с официальным API, и он ничего не возвращает. Это вот что я пробовал:

```php
curl_setopt_array($ch = curl_init(), array(
   CURLOPT_URL => 'https://xxx/proxy/protect/api/events/yyy/thumbnail',
   CURLOPT_RETURNTRANSFER => 1,
   CURLOPT_SSL_VERIFYPEER => false,
   CURLOPT_SSL_VERIFYHOST => false,
   CURLOPT_HTTPHEADER => [ 'X-API-KEY: zzz', 'Accept: application/json' ]
));
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);

print_r($response);
print_r($error);
```
 
@martijnDutch @wootapa Согласен. Просматриваю документацию API по маршруту "/unifi-api/protect", и не нахожу способа получить информацию об отдельном событии. В моем случае мне удалось получить превью для конкретного события, логично догадавшись об этом, изучив раздел "Поиск" (страница поиска событий) и проанализировав сетевую консоль. Например:
Одиночное изображение: /proxy/protect/api/events/EVENT_ID/thumbnail
Анимированный GIF: /proxy/protect/api/events/EVENT_ID/animated-thumbnail?keyFrameOnly=true&speedup=10
Необязательные параметры строки запроса для обоих: ?h=PIXELS&w=PIXELS
Обратите внимание: важно сохранить соотношение сторон. Также, похоже, что параметр ширины игнорируется в режиме коридора. Обрезка изображения отличается в зависимости от того, это одиночное изображение или анимированный GIF.

В вебхуке вы получите ID события как поле "eventId" внутри списка триггеров. Поскольку это не задокументировано (по крайней мере, по URL, который я указал выше), я не уверен насчет долгосрочной поддержки.
 
У меня есть Python веб-слушатель, который при срабатывании захватывает изображение с защищенного сервера с помощью ffmpeg. Но есть небольшая задержка, из-за которой это работает не очень надежно.
 
Unifi, как нам получить снимок/видео, связанное с объектом события? Вы даете нам id, так что, пожалуйста, предоставьте способ скачивания медиа.
 
@Hobbo_Robin, ты говоришь, что полезная нагрузка webhook содержит изображения? Я такого нигде в документации не вижу. На этой странице приводится пример данных, которые отправляются, и там нет изображения: https://help.ui.com/hc/en-us/articles/25478744592023-Send-UniFi-Protect-Alerts-to-Web-Services-using-Webhooks@WiFiSetup.co.uk. И @szerby1, ты разобрался с этим? Мне тоже нужно отправлять изображение вместе с информацией о посте.
 
Я тоже пытаюсь сделать что-то подобное. Хочу отправлять оповещение с изображением через webhook в make.com. Изображение уже в POST-webhook?
 
@WiFiSetup.co.uk это уже все встроено в данные полезной нагрузки вебхука :)
 
Куда ты отправляешь данные? Вебхук – это POST-запрос и содержит информацию, такую как имя человека для Face ID и номер автомобиля для LPR. Наверное, самый простой способ сделать то, что тебе нужно, – использовать Home Assistant, там ты найдёшь пользователей, которые обращаются и к вебхуку, и к API. Или, альтернативно, ты (или ИИ вроде Claude) можешь написать python-скрипт, который будет работать вместе с Protect и слушать нужные тебе события. Кстати, на GitHub тоже есть несколько python-скриптов, которые добавляют прослушиватели событий в Protect.
Страницы: 1
Читают тему (гостей: 1)