Alfawise 1080P и интеграция IP-камер в Home Assistant
Здравствуйте друзья. В этом обзоре я хочу рассмотреть вопрос подключения IP камер к системе управления умным домом Home Assistant, взяв в качестве примера наружную камеру от Alfawise, которая является клоном довольно известного китайского бренда Escam. Метод показанный в обзоре можно использовать для любых IP камер с стандартными протоколами передачи видеопотока. Начнем с камеры -
Где купить
GearBest — на момент написания обзора, распродажа по $34.99
Упаковка
Коробка ничем не примечательная, коробка из переработанного картона, надпись IP Camera — почти в традициях китайского нонейма, но все же название бренда на коробке имеется.


Привыкнув к качественной и продуманной упаковке от Xiaomi и ее суббрендов, немного странно видеть такую вот картинку, где все насыпом.

Что в коробке
Тем не менее, противоударный пакет для камеры присутствует, да и сама коробка при пересылке совершенно не пострадала. Кроме камеры в комплекте блок питания, комплект крепежа, ethernet кабель и инструкция

Блок питания с евровилкой, на 12 Вольт, максимальный ток — 1А. В ходе испытаний я фиксировал мощность не более 4 Ватт.

Камера имеет одну съемную внешнюю антенну, которая идет в комплекте, не забыл производитель и про три шурупа и дюбеля, а также шестигранник для регулировки положения камеры.

Внешний вид
Камера представляет собой классический “кирпичик” — прямоугольный корпус влагозащищенный по стандарту IP66 и предназначенный для наружной установки.
Диапазон рабочих температур (℃): -30-60 Deg.C
Относительная влажность (%) RH: 10%-90%
![]() | ![]() |
Объектив камеры имеет угол обзора в 110 градусов, камера оснащена 2 МП матрицей которая снимает с разрешением 1920 * 1080 с частотой 15 кадров в секунду, используя кодек H.264. Кольцо из 18 инфракрасных светодиодов, имеют заявленную дальность подсветки в 15 метров. Подсветка хорошо видна невооруженным глазом.
![]() | ![]() |
Размер камеры — 20см * 6 см * 6 см, она довольно компактная, что хорошо видно в сравнении со спичечным коробком.

В нижней части камеры находится металлическая крышка, которая крепится на два винта. Крышка изнутри имеет резиновую прокладку, для защиты от влаги.
![]() | ![]() |
Открыв крышку — получаем вид на электронную начинку камеры и слот для Micro SD карты.

Под объективом камеры находится датчик освещенности. Кабель камеры — разделяется на три части. Один конец — это порт Ethernet, для проводного подключения к сети, если есть такая возможность. Второй — разъем для подключения блока питания и третий — закрытая крышкой кнопка сброса.
![]() | ![]() |
Подключение
Для подключения камеры, используется приложение CamHi, тоже самое что применяется для работы камер EsCam и некторых других. Перед подключением нужно найти сеть с названием IPCAM — цифры и подключится к ней, используя пароль 01234567.
![]() | ![]() | ![]() |
После этого, запускаем ранее установленное приложение, нажимаем добавить камеру, запускаем мастер поиска в сети с логином и паролем admin / admin, и соединяемся с камерой.
![]() | ![]() | ![]() |
После того, как с камерой установлено соединение, нужно перейти в настройки камеры, нажав на шестеренку справа, там выбрать настройки wi-fi, и запустить поиск wi-fi сетей.
![]() | ![]() | ![]() |
Далее — выбираем нужную wi-fi сеть, подключаемся к ней введя пароль и получаем онлайн доступ к камере, который доступен из любой точки мира, где есть интернет.
![]() | ![]() | ![]() |
Картинка с камеры — довольно неплохая, данные передаются практически без таймлага, сверху и снизу опции, например качество видео потока, SD или HD. Если у вас нормальный канал с интернет, то разницы в скорости между SD и HD не будет, а вот в качестве картинке — она будет существенно лучше. Так же имеются опции по перевороту и зеркалированию изображения в кадре. Приложение универсальное, и имеет возможность подключения разных камер, поэтому есть опции зуммирования и фокуса. Опции сохранения точек поворота и наклона головки камеры — что в данной модели конечно не работает. Есть опция управления съемкой, например можно принудительно отключить съемку в ИК освещении для получения цветной картинки.
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
В приложении имеется режим обнаружения движения в кадре, причем область кадра можно задавать. По факту обнаружения — есть выбор опций — отправка пуш уведомления, запись видео на карту памяти — пишется 15 секунд, отправка 1,2 или 3 фото на e-mail или ftp, сохранение на внешний ftp видео фрагмента.
![]() | ![]() | ![]() |
В приложение можно настроить битрейт для основного и дополнительного видеопотока. Включить постоянную запись видео с камеры — любого из потоков, ролики длительностью от 15 секунд до 15 минут. Можно просмотреть занятое место и отформатировать карту памяти.
![]() | ![]() | ![]() |
В приложении имеется доступ к локальному альбому фотографий, и хранилищу камері с видеороликами. Видна их продолжительность, тревожные ролики выделены красным шрифтом. Отсюда можно их скачать на телефон и сразу преобразовать в mp4 файлы которые можно просматривать любым проигрывателем.
![]() | ![]() | ![]() |
Камера имеет встроенный веб сервер, для корректного получения видеопотока надо будет скачать и установить по компонент, по ссылке на приветственной странице. Язык по умолчанию китайский — переключается на английский. Здесь есть все те же настройки что и в приложении, но в более расширенном виде. Вот так выглядит страница настройки видеопотоков. Для камеры можно установить фиксированный IP адрес, что сбережет место в пуле статических адресов роутера. На этой странице задаются порты для веб сервера и стандартных видеопотоков. Имеется страница настройки видеопотока в стандарте onvif.
![]() | ![]() |
![]() | ![]() |
На карту памяти камера пишет файлы с расширением .264, но такой способ передачи данных — вряд ли будет востребован, учитывая то, что карта памяти скрыта за металлической крышкой на винтах. После преобразования в приложении, получаются видеофайлы разрешением 1920*1080 и частотой 18 кадров в секунду. Микрофона в камере нет, видео без звука.
![]() | ![]() |
Видео как по мне — довольно не плохое как для бюджетной камеры. Достаточная детализация и скорость, видно по экрану телевизора. Режим в ИК подсветке — похуже, но в целом тоже вполне достаточный. Примеры съемки — смотрите в видеоверсии обзора, в конце статьи.
Пример срабатывания тревоги — пуш уведомления от приложения, но оно должно быть активным в фоне, в самом приложении возле камеры появляется колокольчик. На почту приходит заданное количество снимков от одного до трех.
![]() | ![]() | ![]() |
Интеграция
Если с протоколом onvif особенных трудностей нет, порт можно настроить в приложении, то адрес для rtsp и mjpeg — нужно поискать. Я для этого использую сайт ispyconnect — где есть большая база производителей. Нужные строки я нашел в разделе камер от Escam — клоном которого является эта камера Alfawise. Нужная строка генерируется на сайте по исходным параметрам.
![]() | ![]() |
Для проверки корректности подключения я использовал плагин для hassio — который называется motioneye. Сначала нашел адрес обновляемой картинки в jpg. Потом подобрал параметры потока rtsp. Здесь это удобно делать просто на лету, можно использовать метод проб и ошибок.
![]() | ![]() |
Параметры камеры прописываются в разделе camera, основного конфига системы, или, как в моем примере — в отдельно вынесенном файле. Вот так выглядят три варианта для платформ mjpeg, ffmpeg для потока rtsp и onvif.

- platform: onvif<br />name: Alfawiseonvif<br />host: 192.168.0.190<br />username: admin<br />password: admin<br />port: 8080
- platform: mjpeg<br />mjpeg_url: http://192.168.0.190/snap.jpg<br />name: Alfawisejpeg<br />username: admin<br />password: admin
- platform: ffmpeg<br />name: Alfawisertsp<br />input: -rtsp_transport tcp -i rtsp://admin:admin@192.168.0.190/11
Особой разницы при использовании в Home Assistant — я не увидел, так выглядит основное окно системы с тремя подключенными камерами.

Пример сценария
Рассмотрим пример сценария в котором по однократному нажатию на беспроводную кнопку — бинарный датчик с событием клик
Запускается действие — camera.snapshot, указываем ID нужной камеры и путь куда сохранять файл. Папки создаются один раз вручную. При необходимости имя может быть динамическое — например с указанием времени используя сенсор time. После этого, я даю 5 секунд, с запасом, для сохранения файла, и используя службу notify отправляю снимок в телеграмм. Аналогично можно отправлять на email.
- alias: photo_alfawise<br />trigger:<br />- platform: event<br />event_type: click<br />event_data:<br />entity_id: binary_sensor.switch_158d0001e8a244<br />click_type: single <br />action: <br />- delay: 00:00:01<br />- service: camera.snapshot<br />data:<br />entity_id: camera.alfawise<br />filename: "/config/www/cam_captures/alfawise.jpg"<br />- delay: 00:00:05<br />- service: notify.telegram<br />data:<br />title: "Alfawise"<br />message: "Фотография" <br />data:<br />photo:<br />- file: /config/www/cam_captures/alfawise.jpg
А это мой реальный, рабочий скрипт, который запускается из сценария по открытию входной двери — три фотографии с трех камер время задержек выставлено экспериментально.
photo_door_t:<br />sequence:<br />- service: camera.snapshot<br />data:<br />entity_id: camera.alfawise<br />filename: "/config/www/cam_captures/alfawise.jpg"<br />- delay: 00:00:01<br />- service: camera.snapshot<br />data:<br />entity_id: camera.xiaofang<br />filename: "/config/www/cam_captures/xiaofang.jpg"<br />- service: camera.snapshot<br />data:<br />entity_id: camera.reolink<br />filename: "/config/www/cam_captures/reolink.jpg"<br />- delay: 00:00:05<br />- service: notify.telegram<br />data:<br />title: "Дверь"<br />message: "Фотография" <br />data:<br />photo:<br />- file: /config/www/cam_captures/xiaofang.jpg<br />- file: /config/www/cam_captures/reolink.jpg<br />- file: /config/www/cam_captures/alfawise.jpg
Вот мой рабочий сценарий, который по событию открытия двери, генерирует сообщение с датой и временем события, потом запускает скрипт который делает фото, а далее — запуск трехминутного таймера и отключение самого себя.
- alias: enter_photo<br />initial_state: true<br />trigger:<br />platform: state<br />entity_id: binary_sensor.door_window_sensor_158d000119378d<br />from: 'off'<br />to: 'on'<br />action:<br />- service: notify.telegram<br />data:<br />title: "Дверь"<br />message: "Входная дверь открыта в {{ states('sensor.time__date') }}" <br />- service: script.turn_on<br />entity_id: script.photo_door_t<br />- service: timer.start<br />entity_id: timer.camphoto<br />- service: automation.turn_off<br />entity_id: automation.enter_photo
Чтобы не генерить мусорные сообщения, если дверь открывается несколько раз, сценарий работает не чаще одного раза в три минуты, по таймеру, который по завершению включает сценарий обратно.
- alias: enter_photo_on<br />initial_state: true<br />trigger:<br />- platform: event<br />event_type: timer.finished<br />event_data:<br />entity_id: timer.camphoto<br />action:<br />- service: automation.turn_on<br />entity_id: automation.enter_photo
И вот результат отработки сценария по открытию двери — сначала приходит сообщение с временем и датой, после этого три фотографии с разных точек, показывая кто пришел или ушел.

Используя шаги описанные в этом обзоре, аналогично можно интегрировать практически любую IP камеру с стандартными протоколами, для работы в системе Home Assistant.
Видеоверсия обзора:
На этом все, спасибо за внимание
5 комментариев
Добавить комментарий
Вызывают вопросы следующие моменты:
— как вы вынесли отдельный Вы отдельно вынесли настройки камеры в отдельный файл? Что указали в configuration.yaml, чтобы они работали. Я все настройки сразу прописал configuration.yaml. Хочу реализовать по аналогии как у Вас.
— не могу понять, как запускается действие — camera.snapshot, вернее куда вносить настройки? Можете указать путь?
— также непонятно куда вносятся настройки скрипта.
Насколько я понял действие и скрипт, явно не связаны с файлом configuration.yaml?
Извините, мне просто негде больше спросить.
Ответ Alieksandr_h на комментарий
В файле configuration.yaml в разделе camera: — где вы прописывали камеру, я прописал путь к файлу —
camera: !include includes/camera.yaml
Создал папку include (вложенную в папку /config/ где находится configuration.yaml) и в ней создал camera.yaml — в нем уже и прописывал камеры — это позволяет не загромождать configuration.yaml
Ответ Alieksandr_h на комментарий
Как и любое другое действие — в разделе action: сценария или в скрипте — я сдела в скрипте мне так удобнее
Ответ Alieksandr_h на комментарий
Скрипт — по сути это просто отдельно вынесенный action сценария, просто с возможностью ручного запуска и вызова из разных сценариев, так удобнее. Изначально путь к ним прописан в configuration.yaml —
script: !include scripts.yaml — т.е. в отдельный файл scripts.yaml в папке /config/. У меня скриптов много, и одним файлом не обойтись, я изменил путь на папку
script: !include_dir_merge_named includes/scripts
то есть все файлы .yaml находящиеся в папке /config/includes/scripts/ -распознаются системой как скрипты.
Работает все так, при открытии входной двери — автоматизация запускает скрипт
## Фото при входе
— alias: 01_enter_photo
initial_state: true
trigger:
## Открытие входной двери
platform: state
entity_id: binary_sensor.door_window_sensor_158d000119378d
from: 'off'
to: 'on'
action:
— service: script.turn_on
entity_id: script.01_photo_door_t
А скрипт — запускает фотографии с камер (с трех сразу) и отправку их в телеграмм —
01_photo_door_t:
sequence:
— service: notify.telegram
data:
title: «Дверь»
message: «Входная дверь открыта в {{ states('sensor.time_date') }}»
— service: camera.snapshot
data:
entity_id: camera.alfawise
filename: "/config/www/cam_captures/alfawise.jpg"
— delay: 00:00:01
— service: camera.snapshot
data:
entity_id: camera.xiaofang
filename: "/config/www/cam_captures/xiaofang.jpg"
— service: camera.snapshot
data:
entity_id: camera.reolink
filename: "/config/www/cam_captures/reolink.jpg"
— delay: 00:00:10
— service: notify.telegram
data:
title: «Дверь»
message: «Фотография»
data:
photo:
— file: /config/www/cam_captures/xiaofang.jpg
— file: /config/www/cam_captures/reolink.jpg
— file: /config/www/cam_captures/alfawise.jpg
/home/homeassistant/.homeassistant/configuration.yaml: Config file not found: /home/homeassistant/.homeassistant/includes/camera.yaml
у меня установлен homeassistan на а не hassio. Возможно есть какие нибудь нюансы?
Добавить комментарий