Сегодня я практически для себя разберу, как в мою систему Domoticz на базе Ubuntu 22.04 Server добавить IPкамеры из видеорегистратора, т.е. я хочу через "Панель" видеть и переходить в них дабы получать видеопоток, либо же нанести камеры на "План помещения" и наглядно с учетом плана участка отображать. Может конечно не все сразу, но часть задумки в этой заметке я реализую:

Мое домашнее видеонаблюдение состоит из:

  • Dahua DHI-NVR2108HS-8P-4KS2 + HDD на 2Tb (Жесткий диск 2TB SATA 6Gb/s Seagate ST2000DM008)
  • Dahua DH-IPC-HFW2230SP-S-0360B
  • Dahua DH-IPC-HFW2230SP-S-0360B
  • Dahua DH-IPC-HFW2431SP-S-0360B белый (4M)

Мой боевой Domoticz развернут на связке Ubuntu 20.04 + Domoticz (Version: 2021.1)

Т.к. я планирую обновление/переход на Ubuntu 22.04 Server, то сразу же разбираюсь задумку на ней.

Приступим:

Шаг №1: Первым делом разворачиваем по заметке самую последнюю версию где в качестве операционной системы используется Ubuntu 22.04 Server: "Разворачиваем Domoticz на Ubuntu 22.04 Server"

в итоге должно получиться http://172.33.33.117:8080/#/Login - admin&domoticz

О Domoticz

  • Version: 2023.2 (build 15457)
  • Build Hash: 25624ca14
  • Compile Date: 2023-07-22 11:39:06
  • dzVents Version: 3.1.8
  • Python Version: None
  • Active User: admin

Шаг №2: Открываем Webинтерфейс регистратора и проверяем какие способы удаленного подключения к регистратору присутствуют:

http://172.33.33.117:8080/#/Login - user&pass - Настройка - Безопасность – вкладка "Базовые услуги"

  • CGI: отмечаю галочкой
  • ONVIF: отмечаю галочкой
  • NTP-сервер: отмечаю галочкой
  • Разрешить обнаружение устройства: отмечаю галочкой

и нажимаю OK окна с сообщением "Включение этой службы несет риски для безопасности. Продолжить?", а после еще раз "OK" в правом нижнем углу страницы.

Активирую в регистраторе настройки по безопасности.

Шаг №3: Разбираемся, как из консоли командной строки системы Ubuntu 22.04 Server подключаться к регистратору и заведенным на него камерам:

ekzorchik@srv-home:~$ sudo apt-get install -y curl

Получить изображение с камеры 1:

ekzorchik@srv-home:~$ curl --digest -u "admin:password" -g "http://172.33.33.250/cgi-bin/snapshot.cgi?Channel=1" -o camera1.jpg
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  121k  100  121k    0     0  71226      0  0:00:01  0:00:01 --:--:--  233k
ekzorchik@srv-home:~$

Смотрим/Извлекаем информацию по сохраненному скриншоту с камеры №1:

ekzorchik@srv-home:~$ ls -l camera1.jpg
-rw-rw-r-- 1 ekzorchik ekzorchik 124504 Jan 16 11:57 camera1.jpg
ekzorchik@srv-home:~$ file camera1.jpg
camera1.jpg: JPEG image data, JFIF standard 1.01, resolution (DPCM), density 118x118, segment length 16, comment: "", comment: "DHAV\373", baseline, precision 8, 1920x1080, components 3
ekzorchik@srv-home:~$

или так через ONVIF подключение к регистратору:

ekzorchik@srv-home:~$ curl --digest -u "admin:password" -g "http://172.33.33.250/onvifsnapshot/media_service/snapshot?channel=1&subtype=0" -o camera1.jpg
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  121k  100  121k    0     0   117k      0  0:00:01  0:00:01 --:--:-- 4341k
ekzorchik@srv-home:~$ file camera1.jpg
camera1.jpg: JPEG image data, JFIF standard 1.01, resolution (DPCM), density 118x118, segment length 16, comment: "", comment: "DHAV\373", baseline, precision 8, 1920x1080, components 3
ekzorchik@srv-home:~$

На заметку: По умолчанию только для учетной записи Login: admin разрешено подключение/обращение к камере через onvifs: https://172.33.33.250 - user&pass - Настройка - Уч.Зап - Пользователь ONVIF это так если что.

Если через WinSCP подключиться к Ubuntu 22.04 Server + Domoticz и скопировать себе полученный скриншот на рабочую станцию,

Через WinSCP скачиваю изображение с камеры: camera1.jpg

а после открыть через просмотрщик (ACDSee 8) изображений, то я увижу воочию снятое изображение, к примеру, в моем случае:

Открываю скачанное изображение через WinSCP с видеорегистратора: camera1.jpg

Отлично.

Шаг №4: Подключаемся по SSH к системе Ubuntu 22.04 Server на которой развернут Domoticz и создаем скрипт подключения к камере 1:

ekzorchik@srv-home:~$ sudo mkdir -p domoticz/camera
ekzorchik@srv-home:~$ sudo mkdir -p domoticz/scripts/customscripts
ekzorchik@srv-home:~$ sudo nano domoticz/scripts/customscripts/camera1.sh
#!/usr/bin/bash
curl --digest -u "admin:password" -g "http://172.33.33.250/cgi-bin/snapshot.cgi?Channel=1" -o /home/ekzorchik/domoticz/camera/camera1.jpg
ekzorchik@srv-home:~$ sudo chmod +x domoticz/scripts/customscripts/*
ekzorchik@srv-home:~$ sudo domoticz/scripts/customscripts/camera1.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  123k  100  123k    0     0   148k      0 --:--:-- --:--:-- --:--:-- 4404k
ekzorchik@srv-home:~$ ls -lh domoticz/camera/
total 124K
-rw-r--r-- 1 root root 124K Jan 16 12:13 camera1.jpg
ekzorchik@srv-home:~$

Отлично скрипт создан, ну по крайней мере его первая базовая версия.

На заметку: В заметке Шаг №4 не используется, это заготовка.

Шаг №5: Настраиваем функционал в Domoticz для взаимодействия с камерой, т.е. заводим подключение к камере:

http://172.33.33.117:8080/#/Login - admin:domoticz  - Настройка - Дополнительно - Камеры - Добавить камеру

  • Включено: положение в значение включено (индикатор зеленого цвета)
  • Имя: Camera1
  • Aspect Ratio: 4:3
  • Протокол: HTTP
  • IP-Адрес: 172.33.33.250
  • Порт: 80
  • Имя: admin
  • Пароль: password
  • ImageUrl: cgi-bin/snapshot.cgi?Channel=1

На заметку: в поле ImageUrl: не нужно указать символ "/" перед cgi-bin, он уже идет как бы по умолчанию, но вот об этом нигде не указано.

Добавляю камеру в Domoticz

и нажимаю Add, меня перекидываем в меню "Камеры" где уже отображается предварительный просмотр, также что мне доступно с камеры: это "Сделать снимок" и "Stream Video"

Камера успешно заведена в Domoticz: можно снять скриншот + смотреть видеопоток.

Это очень хорошо.

Проверяем:

  • если нажать на иконку со всплывающим сообщением "Сделать снимок" / http://172.35.35.10:8080/camsnapshot.jpg?idx=1 будет произведено снятие скриншота с камеры
  • если нажать на иконку со всплывающим сообщением "Stream Video" будет открыто окно где изображение обновляется каждые 2 секунды

Видеопоток, как изображение обновляемое каждые 2 секунды

Это уже что-то с этими данными можно работать.

Шаг №6: Создаю в Domoticz шаблон на виртуальный сенсор = Dummy:

http://172.33.33.117:8080/#/Login - admin:domoticz  - Настройка - Оборудование -

  • Включено: положение в значение включено (индикатор зеленого цвета)
  • Имя: Dummy
  • Тип: Dummy (Does nothing, use for virtual switches only)
  • Log Level: Info, Состояние, Ошибка в положении включено (индикатор зеленого цвета)
  • Задержка данных: Отключен

Создаю в Domoticz шаблон на виртуальный сенсор = Dummy

и нажимаю "Добавить"

Шаг №7: Создаю переключатель на основе шаблона Dummy который сделал в предыдущем шаге, позже с ним свяжу элемент "Camera1":

http://172.33.33.117:8080/#/Login - admin:domoticz  - Настройка - Оборудование – в шаблоне с именем "Dummy" нажимаю "Создать виртуальные датчики"

На основе шаблона создаю виртуальный датчик

Указываю имя виртуального сенсора, к примеру, для удобства взаимодействия:

  • Имя: Camera1
  • тип датчика: Переключатель

и нажимаю "OK"

найти созданный "Переключатель" можно в меню: "Переключатели"

Шаг №8: Связываем виртуальный датчик с именем Camera1 с камерой с именем Camera1:

http://172.33.33.117:8080/#/Login - admin:domoticz - Настройка - Дополнительно - Камеры, выделяем камеру и после ниже где "Устройство/Сцена" отобразится созданный тип датчика "Переключатель"

Связываю добавленную камеру с виртуальным датчиком где тип "Переключатель"

Выделил "Камеру", выбрал "Переключатель" и нажимаю "Добавить"

Выделил "Камеру", выбрал "Переключатель" и нажимаю "Добавить"

После в "Активные Устройства/Сцены" отобразится связанное устройство: [Light/Switches] Camera1

После в "Активные Устройства/Сцены" отобразится связанное устройство: [Light/Switches] Camera1

Это нам дает вот что, если перейти в меню "Переключатели" появится в созданном переключателе с именем "Camera1" значок видеокамеры, если на вести на него курсор мыши, то появится всплывающее окно с надписью "Stream Video"

Если перейти в меню "Переключатели" появится в созданном переключателе с именем "Camera1" значок видеокамеры, если на вести на него курсор мыши, то появится всплывающее окно с надписью "Stream Video"

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

Отображение видеопотока через "Переключатель"

Получается вот так не особо визуализировано камеры с видеорегистратора добавляются в систему Domoticz на Ubuntu 22.04 Server, но работает ведь и это хорошо.

Шаг №9: Добавляем переключатель который будет отображать состояние регистратора: Включен или Выключен

http://172.33.33.117:8080/#/Login - admin:domoticz - Настройка - Оборудование

  • Включено: положение в значение включено (индикатор зеленого цвета)
  • Имя: Registrator
  • Тип: System Alive Checker (Ping)
  • Log Level: Info, Состояние, Ошибка в положении включено (индикатор зеленого цвета)
  • Задержка данных: Отключен

Создаю шаблон оборудования для проверки доступности

и нажимаю "Добавить"

После все здесь же в "Оборудование" переходим в созданный элемент "Registrator" - Настройка:

На основе шаблона "System Alive Checker (ping)" указываю какой узел по IP адресу осуществлять проверку доступности

и указываю какой узел по IP адресу осуществлять проверку доступности:

  • Имя: Регистратор
  • IP-Адрес: 172.33.33.250
  • Задержка: 300 (Секунды)

и нажимаю "Добавить", "Применить настройки"

Прописываю адрес регистратора и связываю его с шаблоном.

Чтобы вынести осуществляемую проверку в меню "Переключатели" можно:

http://172.33.33.117:8080/#/Login - admin:domoticz - Настройка - Устройства – отметить галочкой "Оборудование: Registrator" и нажать на стрелочку направленную вправо:

Добавленное устройство делаю, как "Главное устройство"

Появляется окно добавления устройства:

  • Имя: Registrator
  • В виде: Главное устройство

и нажимаю "Добавить устройство"

И вот теперь в меню "Переключатели" отображается проверка регистратора на доступность через PING:

Теперь в "Переключатели" есть еще переключатель осуществляющий проверку доступности регистратора через PING

Отлично, но все же это все как-то угловато выглядит.

На заметку: если отметить галочкой звездочку напротив каждого "Переключателя", то элементы будет вынесены в меню "Панель".

Итого, пока хоть так, но у меня получилось добавить регистратор в свой Domoticz, все выше справедливо, если Domoticz версии 2021.1 + Ubuntu 20.04 LTS. Есть от чего отталкиваться если буду модернизировать данную заметку, а пока собственно все, с уважением автор блога Олло Александр aka ekzorchik.