Предисловие
К сожалению, модель домофона и вызывной панели не имеет методов связи (таких как FTP, Webhook, EMail) при входящем звонке, по крайней мере, на момент написания статьи. Соответствующий запрос/пожелание о добавлении функционала на входящий звонок был оправлен в офис Hikvision.
Поэтому решено реализовать схожую функцию для получения уведомления с видеопотоком от домофона, используя функционал наружной камеры Hikvision DS-2CD2T85FWD, поддерживающая методы связи FTP, EMail, Webhook - нет.
Для этого на камере был активирован детектор пересечения линии, движения. Детектор отправляет изображение на FTP сервер, где сервер, получив изображение, автоматически отправляет запрос в Homebridge, после чего последний отправляет уведомление на Apple TV (в HomeКit).
Перечень необходимого оборудования и ПО
Камера с поддержкой детектора пересечения линии и возможностью отправки их на FTP сервер.Компьютер с Homebridge и плагином camera-ffmpeg (процесс установки Homebridge и ffmpeg описан в этих статьях: HomeBridge и ffmpeg).
Настройка и Установка FTP
Чтобы получать изображения с камеры по детектору, нам понадобиться FTP Сервер. В данной статье я буду использовать FileZilla FTP Server для компьютера под управлением Windows.
- Необходимо скачать и установить FilleZilla Server с официального сайта.
Соглашаемся с правилами пользования и нажимаем "I Agree".
Оставляем стандартный тип установки и нажимаем "Next".
Выбираем папку установки или оставляем по умолчанию,
нажимаем "Next".
Ставим галочку в пункте "Start Server after setup completes", нажимаем "Next".
В пункте "Start Interface after setup completes" ставим галочкуи нажимаем "Install".
Мы установили FTP Сервер, теперь нужно его настроить.
Запускаем приложение FileZilla Interface с рабочего стола и в открывшимся окне ставим галочку в пункте "Always connect to this server", нажимаем "Connect".
В панели нажимаем на "Edit" и, следом, на "Users".В правой части открывшегося окна нажимаем на кнопку "Add" и в мини окне вводим "cam" (или любое другое название для учетной записи).Ставим галочку в пункте "Password" и вводим пароль для учетной записи (его необходимо придумать самому).
Переходим во вкладку "Shared folders" и нажимаем "Add", выбираем директорию для сервера (сюда будут сохраняться изображения с камеры).После требуется поставить галочку в пункте "Write", "Read", нажать на "Set as home dir" и "Ok".
Настройка камеры
В моем случае, я буду показывать настройку камеры Hikvision, но данный способ подойдет и для камер других производителей.
Для начала необходимо указать размещение ftp сервера, для этого нужно зайти в "Сеть", далее "Доп. Настройки" и выбрать вкладку "FTP".Указываем адрес компьютера, на котором запустили FTP сервер, вводим "имя пользователя" и "пароль" (который мы создавали в настройках FileZilla), и ставим галочку в пункте "захват изображения".Для проверки соединения можно нажать кнопку "Тест", и если вы настроили все верно, то должно появиться окно "Тест пройден".Если тест пройден, нажимаем кнопку "Сохранить".
Теперь необходимо открыть настройки "Хранение" -> "Сохранение" и перейти во вкладку "Захват параметров".
В открывшейся вкладке ставим галочку в опции "Активация захвата изображения по событию", в параметре "Номер захвата" вводим единицу и нажимаем "Сохранить".
Переходим в настройки "По событию", далее "События SMART" и во вкладку "Детектор пересечения линии".В опции "Вкл" нужно поставить галочку, далее нажать на кнопку "Detection Area", выделить линию, выбрать направление движения, например, "B->A", нажать кнопку "Завершить", а после - "Сохранить".
Переходим во вкладку "Метод связи" и ставим галочку в параметре "Загрузить на FTP", нажимаем "Сохранить".
Теперь когда камера заметит движение при пересечении линии со стороны B на A, она отправит изображение на FTP сервер.
Установка и настройка плагина Homebridge Videodoorbell
Установка плагина через Web-интерфейс:Открываем браузер, вводим IP адрес Homebridge, далее авторизуемся.Переходим на вкладку "Плагины" и вводим в поисковой строке название плагина "Videodoorbell".В блоке "Homebridge Videodoorbell" нажимаем кнопку "Установить", после установки плагина нажимаем кнопку "Настроить".В открывшемся окне вводим: Name - имя аксессуара.
HTTP trigger port - порт, на который будем делать запросы (по умолчанию 5005).Source - RTSP поток камеры с ключами.
Throttle incoming requests - задержка между уведомлениями (в миллисекундах).Сохраняем настройки и перезагружаем Homebridge.
Скрипт отправки уведомлений
Прилагаю "PowerShell" скрипт, который ожидает изображение в папке FTP, а после отправляет http запрос на адрес сервера homebridge по порту плагина Videodoorbell. После получения http запроса, плагин Homebridge'а отправляет уведомление с видеопотоком домофона в Apple Homekit.
#Указываем размещение ftp папки и добавляем фильтр на изображения $fsw = New-Object IO.FileSystemWatcher 'c:\FTP\', $filter -Property @ #'Отслеживаем добавление файлов в указанной папкe Register-ObjectEvent $fsw Created -SourceIdentifier FtpFileAdded -Action { #Получаем имя и время добавленного файла $name = $Event.SourceEventArgs.Name $timeStamp = $Event.TimeGenerated #Выводим в консоль сообщение о добавленном файле Write-Host "File from cam was received '$name' at $timeStamp" -fore green #Создаем запрос на адрес Homebridge'а по порту плагина $HTTP_Request = [System.Net.WebRequest]::Create('http://192.168.1.60:5005') #Получаем ответ $HTTP_Response = $HTTP_Request.GetResponse() #Закрываем соединнение $HTTP_Response.Close() } while ($true) {}
Где:
- $fsw = New-Object... , "с:\FTP\" - каталог, в котором хранятся изображения, меняем на свой.
- $HTTP_Request... , "192.168.1.60:5005" - IP адрес homebridge'а и порт, указанный в конфиге бриджа.
Сохраняем его в корне диска "С" с именем DoorEvent.ps1.
Чтобы добавить скрипт в автозагрузку, можно воспользоваться следующей "PowerShell" командой.
schtasks /create /tn «DoorEvent» /sc onstart /delay 0000:30 /rl highest /ru system /tr "powershell.exe -windowstyle hidden -ExecutionPolicy Bypass -File "C:\DoorEvent.ps1")
Вот, собственно, и все. Теперь когда вы будете сидеть за компьютером под управлением macOS или смотреть фильм на AppleTV, вы получите уведомление с видеопотоком в правом верхнем углу экрана о замеченном движении, при желании можно развернуть изображение в полный экран. Если камера имеет встроенный микрофон, можно не только увидеть, но и услышать, что происходит у вас на пороге.
P.S.
Вариант для более ленивых. Так как при звонке в вызывную панель отправляется уведомление в HikConnect, было решено использовать отдельный телефон и прикрепить к нему датчик Aqara Vibration Sensor, который отслеживает вибрацию телефона. Датчик вибрации автоматизирован на включение триггера "Doorbell-trigger" от плагина VideoDoorbell.
Получаем тот же результат, но теперь по срабатыванию кнопки звонка вызывной панели.
Минусы такого решения - это большая задержка между звонком и получением уведомления, связь через облако и стоимость реализации (необходим отдельный телефон и датчик вибрации).
Сложновато. А не проще скриптом отслеживать сработку движения от камеры Hikvision через API?
Вот документация. https://u.to/NL9ZGg">https://u.to/NL9ZGg
Вполне, но это статья подойдёт к большинству камер с отслеживанием движения, а вот апи у всех производителей разное. Для владельцев камер Hikvision я уже написал https://www.npmjs.com/package/homebridge-hikvision-cam-webhook">плагин (для Homebridge) с отслеживанием событий, но пока ещё его тестирую. Кому интересно - пишите в телегу.
у меня то же домофон Hik - было бы очень интересно при нажатии кнопки получать уведомление в homekit, родное приложение реально с большой задержкой, особенно вне локальной сети. Видать из за облака.
Готов принять участие в тестировании. У меня 2 вызывные панели и монитор.
Добрый день, очень интересует такой плагин, можно узнать о нем поподробней? Есть камера hikvision, добавлена в HomeKit, через плагин camera ffmpeg.
все бы хорошо, но вот описания нету ни какого... хотябы readmi заполнить...
есть еще такой плагин
https://github.com/eu-evops/homebridge-hikvision#readme">Homebridge Hikvision plugin
https://github.com/eu-evops/homebridge-hikvision#readme">https://github.com/eu-evops/ho...
HA+Home Assistant Community Add-on: FTP+Homebridge на малине побюджетнее будет чем комп гонять все время, а вообще спасибо за статью, думал тоже в этом направлении.
Да, конечно, ftp сервер можно установить куда угодно. Homebridge у всех на разных платформах стоит, и я для примера решил показать на винде.
Юлий, ты же плагин написал для упрощения, почему стесняешься про него сказать? https://github.com/vova0255/Homebridge-Hikvision-Cam-Webhook#readme">https://github.com/vova0255/Ho... Твой плагин?