Статья

HomeBridge

Если вы являетесь владельцем техники Apple, то вам конечно удобнее управлять своим умным домом из стандартного приложения Дом, которое есть на каждом мобильном устройстве компании из Купертино. Также есть умные устройства для умного дома с поддержкой HomeKit. Вроде все логично и просто, бери и пользуйся. Но кем-то был придуман HomeBridge.

Что же это такое?

HomeBridge - это сервер написанный на языке NodeJS, он использует API Homekit для интеграции устройств без сертификации и изначальной поддержки работы с HomeKit.

Но почему не использовать устройства с поддержкой HomeKit из коробки и понадобился HomeBridge?

Этому есть как минимум две причины:

Первое - цена. Дело в том что производители устройств с поддержкой Homekit должны выплачивать определенный процент компании Apple за каждое проданное устройство. Затраты на производство, и реклама так же входят в конечную стоимость продукта. В итоге цена на готовое устройство может начинаться от 3.041 руб.  до 20.329 руб.  что мягко говоря не очень бюджетно.
Хотя аналогичные решения от других производителей без поддержки Homekit могут стоить в разы дешевле. 

Датчик движения Eve Motion обойдется вам в 4.190 рублей.Поддержка HomeKit из коробки, подключить сможет даже домохозяйка.
Датчик движения от всеми любимой Xiaomi обойдется в 648 рублей (цены могут варьироваться).Конечно, необходимо докупить шлюз Xiaomi, потратить деньги на аппаратную платформу, где будет установлен HomeBridge. Но их нужно будет купить только один раз. В дальнейшем мы сможем просто докупать необходимые датчики, кнопки или сенсоры. Можно купить шлюз Aqara с поддержкой HomeKit, но это не про наш вариант.

Второе - количество устройств. На официальном российском сайте Apple всего 15 устройств поддерживают HomeKit, на американском сайте количество устройств переваливает за 50. Но это все равно капля, в море умных устройств для дома.

Выбор аппаратной платформы.

HomeBridge можно установить практический на любой платформе, будь это ваш домашний персональный компьютер, ноутбук под управлением Windows или Mac OS или какой нибудь одноплатный компьютер. Разнообразие "железа" для сервера вашего умного дома настолько велико, что это требует отдельной статьи.

Выбор Операционной Системы

HomeBridge является кросс-платформенным решением, которое можно установить на Windows, Linux и Mac OS X.

Установка HomeBridge на Windows 10
Установка HomeBridge для MacOS
Скрипт установки HomeBridge на Raspberry Pi

Установка HomeBridge

Получить готовый HomeBridge сервер на вашей машине можно разными путями.

  • Скачать готовый образ для одноплатных компьютеров Raspberry Pi, которые можно найти тут или тут.
  • Использовать скрипт для автоматической установки HomeBridge. Один из них находится на нашем портале.
  • Установить HomeBridge в полностью ручном режиме. Подробную инструкцию можно найти тут.

Зачем нужны плагины для HomeBridge?

Плагин является подпрограммой, которая запускаясь вместе с HomeBridge, помогает ему общаться с различными устройствами.

Благодаря слаженной работе разработчиков, на сегодняшний день, в систему интегрировано очень большое количество устройств с помощью плагинов. Так же, огромным плюсом является то, что любой человек при наличии знаний, может написать свой собственный плагин, под решение конкретно его задач и опубликовать его в общий доступ. Именно это позволяет HomeBridge развиваться.

Найти готовые плагины можно на нашем портале и на сайте NPM. Инструкции по установке и настройке каждого плагина, находятся на странице описания плагина.

Config.json что это? Как его найти? Как редактировать?

Config.json - конфигурационный файл сервера HomeBridge в текстовом формате json.

JSON был разработан Дугласом Крокфордом и основан на JavaScript. Как и многие другие текстовые форматы, он легко читается людьми.

Несмотря на происхождение от JavaScript (точнее, от подмножества языка стандарта ECMA-262 1999 года), формат считается независимым от языка и может использоваться практически с любым языком программирования. 

Так вот, Config.json это конфигурационный файл, который объясняет вашему серверу HomeBridge параметры его работы. Потому что простая установка плагина, не приведет к появлению вашего устройства в приложение "Дом" на IOS устройствах. Чтобы это случилось, придется повозиться с настройкой сервера путем редактирования настроек внутри файла Config.json для работы с вашим плагином.

В качестве примера, приведем рабочий вариант Config.json в котором можно увидеть что в качестве датчика температуры и влажности воздуха выступает BME280, а так же настроен разбрызгиватель работающий по протоколу mqtt, и переключатель позволяющий включать стационарный компьютер по протоколу Wake On Lan:

После того как мы разобрались для чего нам нужен Config.json вам я думаю стало интересно где его найти?Ответ прост. Хотя относится он только к тем вариантам, когда HomeBridge установлен в операционной системе на базе Linux. В остальных вариантах у вас будет прекрасный графический интерфейс операционной системы и там все вообще просто. А вот если у вас LInux или его аналог, то в командной строке операционной системы где установлен HomeBridge необходимо ввести следующую команду:

sudo nano ~/.homebridge/config.json

После ввода данной команды вам откроется текстовый файл, в который вы можете внести все необходимые настройки. После редактирования данного файла вам необходимо сохранить все изменения.

В левом нижнем углу указано сочетание клавиш для выхода, в моем случаеCtrl x
Сохранить изменения?Y - YesN - No
Не редактируем имя файла, нажимаем Enter. После проделанных действий, ваш Config.json будет сохранен.

После сохранения изменений в конфигурационном файле, необходимо перезагрузить HomeBridge. 

Как включить? Выключить? Перезагрузить? Поставить HomeBridge в автозагрузку?

Для запуска HomeBridge необходимо выполнить в командной строке команду

homebridge

Для выключения HomeBridge сервера используйте команду.

sudo killall homebridge

И нужно понимать, что HomeBridge должен быть постоянно запущен, чтобы ваш умный дом работал.

Для этого неплохо бы поставить его в автозагрузку, что бы каждый раз не запускать его вручную после перезагрузки сервера.

Это можно сделать путем простых манипуляций. Открываем для редактирования файл:

sudo nano /etc/default/homebridge

В открывшееся окно вставляем:

HOMEBRIDGE_OPTS=-I -U /home/pi/.homebridge

Выходим сочетанием клавиш Ctrl O, затем Ctlr X чтобы сохранить изменения.

Далее вводим в командную строку:

sudo nano /etc/systemd/system/homebridge.service

Вставляем в открывшееся окно:

[Unit] Description=Node.js HomeKit Server After=syslog.target [Service] Type=simple User=pi EnvironmentFile=/etc/default/homebridge ExecStart=/usr/lib/node_modules/homebridge/bin/homebridge $HOMEBRIDGE_OPTS Restart=on-failure RestartSec=10 KillMode=process [Install] WantedBy=multi-user.target

Опять не забываем сохранить изменения и для выхода используем сочетание клавиш Ctrl O, затем Ctrl X.

И напоследок вводим:

sudo systemctl enable homebridge sudo systemctl start homebridge

Теперь для HomeBridge настроена автозагрузка, и перезагрузка компьютера ему не страшна.

Да и перезагрузку самого HomeBridge теперь можно делать намного мягче, путем использования команды:

sudo -n systemctl restart homebridge

Сравнение с альтернативными системами.

Как было сказано выше, HomeBridge - использует API Homekit для интеграции устройств без сертификации и изначальной поддержки работы с Homekit. Из чего можно сделать вывод что интеграция происходит только в экосистему Apple HomeKit. В Google Home интегрировать устройства из HomeBridge не получится, что делает HomeBridge не лучшей платформой, если в вашей семье есть обладатели устройств не только на базе IOS но и владельцы Android устройств.

Но, устройства из HomeBridge можно интегрировать в умный дом от компании Яндекс, но это опять же тема для отдельной статьи.

Так же, HomeBridge не имеет встроенных автоматизаций, то есть это не совсем полноценная система автоматизации вашего умного дома. Но не стоит забывать, что в IOS 13 значительно прокачают раздел "автоматизации". Поэтому не стоит ставить крест на HomeBridge.

И несмотря на то, что HomeBridge вроде бы проигрывает остальным Open Source системам умного дома по функционалу, у него есть огромное преимущество относительно конкурентов. Он прост в установке, а для совсем ленивых есть готовые образы. К тому же, не стоит забывать что HomeBridge потребляет просто мизерные аппаратные ресурсы необходимые для своей работы.

Выводы

Что мы получаем в сухом остатке?

HomeBridge - можно установить на любой слабенький компьютер, за счет скромного потребления ресурсов. Хотя не стоит злоупотреблять этим и пользоваться совсем уже "дохлыми" железками. Если вы захотите интегрировать камеры в свой Дом, то вот тут как раз вам потребуется достаточно мощная "железка", так как потребуется перекодировать видеопоток с камер. Так что не пренебрегайте ресурсами при возможности.

Интеграция устройств возможна только в HomeKit. Взамен, мы получаем сообщество пользователей, и огромное количество плагинов для интеграции различных устройств. 

HomeBridge идеально подойдет для начинающих пользователей, живущих в экосистеме Apple, и пока не ставящих перед собой амбициозных целей о постройке умного дома, переполненного датчиками и умными устройствами с огромным количеством сложных автоматизаций. К этому нужно придти, и лучше это делать постепенно. И "бридж" - отличный вариант для этого.

2

Спасибо за отличный материал, жду продолжения.

Спасибо за статью! Жду продолжения, очень хочется увидеть как интегрировать в ХБ всякие разные датчики и протоколы, у меня есть одна ип-камера, датчики сяоми и спрутстик. Как все это туда запихнуть? А еще интересно про ограничения аппаратных платформ, на малину3б сколько можно ип-камер завести?


Вернуться назад

Устройства


Xiaomi

Motion sensor

(11 отзывов)

Aqara

Aqara Hub

(20 отзывов)

Eve

Eve Motion

(3 отзыва)

Xiaomi

Xiaomi Mijia Gateway 2

(11 отзывов)

Вернуться назад