Продолжаем серию статей по настройке вашего умного дома и настройку его работы в HomeKit с помощью Raspberry Pi и HomeBridge.

Введение

Вернемся к тому, что было раскрыто в статье раньше и поймем зачем нам вообще нужен HomeBridge, Raspberry Pi и вся эта затея.

Я думаю, мы не будем останавливаться в подробностях зачем нам нужен HomeKit, просто вспомним, что это:

  1. Удобно
  2. Красиво
  3. Единственный в мире голосовой помощник, который понимает русский язык, Siri

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

И здесь нам помогут несколько скриншотов:

Первый скриншот нам показывает количество всех устройств, официально продающихся на территории РФ. 8 устройств!!!

А теперь давайте посмотрим на второе изображение

Немного поясню. Слева представлен датчик открывания двери с поддержкой HomeKit (и его цена), справа представлен точно такой же датчик от известной нам компании, но без поддержки HomeKit (и его ЦЕНА). Шокирующая картина, не правда ли?

Конечно же, я буду немного лукавить если скажу, что мы получаем тот же датчик в 14 раз дешевле. Ведь для того, чтобы датчик справа стал работать с HomeKit нам потребуется шлюз от Xiaomi, сама Raspberry Pi и немного времени, что обойдется нам и все равно дешевле на 500-1000 рублей.

И в данном случае мы уже говорим об единоразовых затратах. Т.е. покупая всё больше и больше датчиков (а я думаю вряд ли у вас есть желание создавать ваш умный дом из одного датчика) экономия приближается всё ближе к цифрам, указанным выше.

Итого, почему нам нужен HomeBridge:

  1. Выбор устройств с поддержкой HomeKit очень мало
  2. Стоимость устройств относительно его собратьев различается на порядок (10+ раз)

Установка HomeBridge

Вернемся к настройке. Данная статья основана на том, что у вас уже имеется настроенная и подключенная к сети Raspberry Pi по итогам первой статьи.

Сам HomeBridge написан на JavaScript и требует для работы развернутой платформы Node.js. Установим ее.

Для начала идем на официальный сайт и выбираем ссылку на наиболее актуальную версию дистрибутива — нам нужен Linux Binaries (ARM)-ARMv7.

Копируем ссылку, она нам понадобится дальше.

После этого заходим на наш Raspberry и вводим следующие команды

wget https://nodejs.org/dist/v8.9.4/node-v8.9.4-linux-armv7l.tar.xz
tar xJvf node-v8.9.4-linux-armv7l.tar.xz
cd node-v8.9.4-linux-armv7l
sudo cp -R * /usr/local/

Обратите внимание, что на момент написания данной статьи мной использовалась ссылка на дистрибутив node-v8.9.4-linux-armv7l.tar.xz, соответственно в каждой последующей строке идет ссылка на этот дистрибутив. Объясню каждую строку:

  • мы скачиваем архив по ссылке
  • мы распаковываем данный архив
  • мы заходим в папку с этим архивом
  • мы копируем данные в папку /usr/local

Дальше нам необходимо установить дополнительные пакеты, которые будут необходимы для нашего «мостика»

sudo apt-get install libavahi-compat-libdnssd-dev

И устанавливаем сам HomeBridge

sudo npm install -g --unsafe-perm homebridge

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

homebridge

После запуска этой команды в итоге вы должны будете увидеть QR-код и цифровой код для ручного заведения устройства в HomeKit


После этого вы уже можете открывать приложение «Дом» на своем iOs устройстве и сканировать данный код.

Для этого необходимо:

  1. Зайти в приложение «Дом»
  2. Нажать в верхнем углу на «+» и выбрать «Добавить аксессуар»
  3. Навести камеру на QR
  4. Выбрать появившийся HomeBridge в устройствах

И всё. На этом наш «умный мостик» добавлен в HomeKit и после чего все наши датчики, которые мы будем добавлять в последующих инструкциях в наш так называемый «мостик» будут автоматически попадать в HomeKit. Магия…

Автозапуск HomeBrdige

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

Здесь многие идут разными путями. Я опишу ниже тот путь, по которому пошел я — сделать это с помощью pm2. Устанавливаем pm2.

sudo npm -g install pm2

Запускаем homebridge при помощи pm2

pm2 start homebridge

Команда для автозапуска

pm2 startup

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

You have to run this command as root. Execute the following command:
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi

Выполняем её, сохраняем и перезапускаем Raspberry pi

sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
pm2 save
sudo reboot

Всё — теперь наш HomeBridge добавлен в автозапуск.
И с помощью простого набора команд мы теперь можем:

  • pm2 start homebridge — запускать homebridge
  • pm2 stop homebridge — останавливать
  • pm2 restart homebridge — перезапускать
  • pm2 logs homebridge — и смотреть логи

Ну и если у вас это единственный процесс, то можно везде заменить название сервиса на 0, соответственно команды будут иметь вид «pm2 start 0» и т.п.

Заключение

По итогам выполненных работ мы смогли поставить HomeBridge, смогли завести его в HomeKit, и настроили автозапуск. Дальше самое интересное и многообещающее — добавление наших устройств. В первую очередь все, как и я в том числе, начинают обычно играться с устройствами умного дома от Xiaomi. Про них и расскажем в следующих статьях.

Author

Наш главный гайд-мастер. Инструкции и обзоры его конёк. Иногда перебарщивает с личным мнением.