Если вы являетесь владельцем техники Apple, то вам конечно удобнее управлять своим умным домом из стандартного приложения Дом, которое есть на каждом мобильном устройстве компании из Купертино. Также есть умные устройства для умного дома с поддержкой HomeKit. Вроде все логично и просто, бери и пользуйся. Но кем-то был придуман HomeBridge.
Что же это такое?
HomeBridge - это сервер написанный на языке NodeJS, он использует API Homekit для интеграции устройств без сертификации и изначальной поддержки работы с HomeKit.
Но почему не использовать устройства с поддержкой HomeKit из коробки и понадобился HomeBridge?
Этому есть как минимум две причины:
Первое - цена. Дело в том что производители устройств с поддержкой Homekit должны выплачивать определенный процент компании Apple за каждое проданное устройство. Затраты на производство, и реклама так же входят в конечную стоимость продукта. В итоге цена на готовое устройство может начинаться от 3.041 руб. до 20.329 руб. что мягко говоря не очень бюджетно.
Хотя аналогичные решения от других производителей без поддержки Homekit могут стоить в разы дешевле.
Второе - количество устройств. На официальном российском сайте Apple всего 15 устройств поддерживают HomeKit, на американском сайте количество устройств переваливает за 50. Но это все равно капля, в море умных устройств для дома.
Выбор аппаратной платформы.
HomeBridge можно установить практический на любой платформе, будь это ваш домашний персональный компьютер, ноутбук под управлением Windows или Mac OS или какой нибудь одноплатный компьютер. Разнообразие "железа" для сервера вашего умного дома настолько велико, что это требует отдельной статьи.
Выбор Операционной Системы
HomeBridge является кросс-платформенным решением, которое можно установить на Windows, Linux и Mac OS X.
Установка 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:
sudo nano ~/.homebridge/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, и пока не ставящих перед собой амбициозных целей о постройке умного дома, переполненного датчиками и умными устройствами с огромным количеством сложных автоматизаций. К этому нужно придти, и лучше это делать постепенно. И "бридж" - отличный вариант для этого.
Спасибо за отличный материал, жду продолжения.
Спасибо за статью! Жду продолжения, очень хочется увидеть как интегрировать в ХБ всякие разные датчики и протоколы, у меня есть одна ип-камера, датчики сяоми и спрутстик. Как все это туда запихнуть? А еще интересно про ограничения аппаратных платформ, на малину3б сколько можно ип-камер завести?