Контроллер home bridge apple homekit

Как подключить любые гаджеты в умный дом Apple HomeKit через Raspberry Pi

Продолжаем строить умный дом вместе.

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

Для начала потребуется произвести еще несколько манипуляций с нашим мостом, чтобы потом можно было легко решать возникающие проблемы.

Как настроить SSH на Raspberry Pi

SSH — это сетевой протокол для удаленного управления системой. С его помощью больше не потребуется подключать наш хаб к монитору или телевизору для внесения изменений или конфигурации ПО.

Не пренебрегайте данным шагом, ведь в процессе дальнейшей настройки вы неоднократно столкнетесь с неработоспособностью плагинов, неверно составленным файлом конфигурации, другими сбоями и проблемами, которые удобнее решать удаленно.

1. На Raspberry Pi необходимо перейти в консоль и ввести команду:

sudo raspi-config

2. В открывшемся меню конфигурации следует перейти в раздел Advanced Options.

3. Находим пункт SSH и активируем его.

4. Проверить успешную активацию протокола можно следующей командой в терминале:

sudo service ssh status

5. Для доступа по SSH используются такие учетные данные:

логин: pi
пароль: raspberry

6. В настройках Raspberry можно изменить эти данные.

Самый простой способ включения SSH:

Можно вообще обойтись без клавиатуры и монитора для Raspberry, но к сети её нужно подключить через кабель, а не по Wi-Fi.

1. На карте памяти с записанным образом для Raspberry Pi находим раздел Boot.

2. Создаем в ней файл ssh без расширения.

3. Устанавливаем карту в Raspberri и после загрузки SSH будет подключен.

Как подключиться по SSH

После того, как SSH подключение настроено, к «малинке» можно подключаться с других устройств внутри локальной сети. Монитор и клавиатура для Rasperry больше не потребуется.

Нужно лишь узнать IP-адрес устройства в сети. Сделать это можно из графического интерфейса микрокомпьютера, через приложение своего роутера, его веб-интерфейс или любым другим доступным способом.

Для получения доступа по SSH на Windows делаем следующее:

1. Устанавливаем приложение PuTTY.

2. В приложении на вкладке Session указываем IP-адрес Raspberry и порт 22.

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

Для получения доступа по SSH на macOS делаем следующее:

1. Запускаем приложение Терминал.

2. Вводим команду (используя IP-адрес своей «малинки»):

ssh [email protected]

3. Подтверждаем желание подключиться и вводим установленный пароль.

Для получения доступа по SSH на iOS делаем следующее:

1. Устанавливаем приложение Termius – SSH client из App Store.

2. Создаем новое подключение, указывая IP-адрес, порт, логин и пароль.

3. Подключаемся по настроенному соединению.

Теперь можно удаленно посылать команды «малинке», перезагружать её и менять файл конфигурации HomeBridge.

Запоминаем нужные команды:

sudo reboot – для перезагрузки Raspberry (SSH-соединение будет прервано)
sudo -n systemctl restart homebridge – для перезапуска сервера HomeBridge
nano

/.homebridge/config.json – для открытия файла конфигурации HomeBridge

Как подключить умные устройства

Для работы умного девайса с HomeKit через прослойку в виде HomeBridge требуется две вещи:

  • установленный плагин
  • данные об устройстве в файле конфигурации

Искать плагин можно самостоятельно. На просторах GitHub можно найти файлы практически для любого умного устройства.

Просто впишите в Google: mi air purifier 2 homebridge (для очистителя воздуха Xiaomi Mi Air Purifier 2) и по одной из первых ссылок найдете нужный плагин.

Альтернативным способом поиска плагинов является специальный раздел в веб-интерфейсе HomeBridge. Если устанавливали систему по нашей инструкции, веб-интерфейс уже должен работать. В противном случае ищите данные об установке веб-интерфейса в этой статье.

На специальной вкладке Плагины можно осуществить поиск нужного дополнения, аналогично поиску в Google. Вписываем название девайса (с китайскими гаджетами от всевозможных суб-брендов придется повозиться) и выбираем один из предложенных плагинов.

Установка нужного плагина

На GitHub странице плагина или на другом сайте, где было найдено дополнение, первым делом описывается процесс установки.

Для установки непосредственно на Raspberry Pi или через SSH используется приведенная в описании плагина команда такого вида:

sudo npm install -g homebridge-mi-acpartner

Для установки через веб-интерфейс достаточно нажать кнопку Install возле найденного в поиске дополнения.

Изменение файла конфигурации

Файл конфигурации тоже может быть изменен на самом устройстве с сервисом HomeBridge, через SSH или через веб-интерфейс. В первом случае редактируем файл config.json командой nano

/.homebridge/config.json, а во втором переходим в визуальный редактор на вкладке веб-интерфейс.

На странице с описанием плагина находим пример конфигурации:

«platforms»: [ <
«platform»: «XiaoMiAcPartner»,
«devices»: <
«192.168.31.120»:»your_token_here»
>]

Нужно интегрировать данный код в уже имеющуюся конфигурацию.

В большинстве случаев плагины интегрируются в разделы “platforms” или “accessories”. Особо сложные дополнения могут иметь части кода в обоих разделах.

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

Заполнение параметров устройства

Обратите внимание, что в большинстве случаев требуется указать два параметра подключаемого девайса: IP-адрес и токен. С поиском адреса в домашней сети проблем не возникнет (ищите через приложение роутера или его веб-интерфейс), а вот с токеном не так все просто.

Уникальный идентификатор умных устройств можно получить разными способами. Самый простой – воспользоваться модифицированным приложением Mi Home на Android. Если смартфона или планшета с нужной ОС на руках нет – устанавливаем эмулятор Android по инструкции.

1. Устанавливаем на Android модифицированное приложение Mi Home.

2. Авторизуемся в своей учетной записи с указанием правильного региона (в большинстве случаев это Материковый Китай).

3. Находим нужный девайс и в разделе Настройки – Общие параметры – Информация о сети видим поле с нужным нам токеном.

Здесь же можно найти IP-адрес.

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

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

Если все было сделано верно, устройство появится в приложении Дом на iPhone и им можно будет управлять, как нативным девайсом с поддержкой HomeKit.

Проблемы и их решение

Если фай конфигурации был изменен с ошибками, то HomeBridge повторно не запустится. Об этом вы поймете по зависшему веб-интерфейсу или по «отвалившимся» устройствам в приложении Дом.

Не стоит паниковать! Порядок действий следующий:

1. Подключаемся к Raspberry Pi по SSH.

2. Открываем файл config.json для редактирования.

3. Пытаемся найти ошибку или просто удаляем последний внесенный блок кода.

4. Сохраняем файл (Comman+X при работе в терминале или по SSH).

5. Перезапускаем HomeBridge командой: sudo -n systemctl restart homebridge.

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

Источник

Настройка Apple HomeKit на контроллере Wiren Board через Node-RED

Содержание

Описание

В инструкции мы расскажем, как подключиться к Apple HomeKit с помощью Node-RED и модуля node-red-contrib-homekit-bridged.

Разработкой и поддержкой модуля занимается открытое сообщество пользователей Node-RED.

Подготовка

Для настройки моста Apple HomeKit на контроллере Wiren Board с помощью Node-RED нам понадобится:

  • установленный Node-RED и настроенный модуль WB Nodes,
  • модуль node-red-contrib-homekit-bridged — его мы установим ниже и для этого нам понадобится доступ в интернет,
  • аккаунт iCloud и устройство Apple с приложением Home.

Настройка делается через встроенный в Node-Red веб-интерфейс, который доступен по адресу http://wb-ip-address:1880, например, http://192.168.42.1:1880.

В примерах мы будем создавать флоу (flows) — это блок-схемы процесса.

Установка модуля

Чтобы Node-RED мог работать с HomeKit, установите модуль node-red-contrib-homekit-bridged :

  1. Зайдите в веб-интерфейс Node-RED.
  2. В правом верхнем углу вызовите меню.
  3. В открывшемся окне выберите вкладку Управление палитрой (Manager palette).
  4. Перейдите на вкладку Установка (Install), введите в поле поиска homekit-bridged и нажмите на клавиатуре Enter .
  5. Установите пакет с названием node-red-contrib-homekit-bridged.
  6. Закройте окно с настройками. Установка модуля завершена.

После установки, в левой панели появится группа Apple HomeKit.

Добавление устройства

Как это работает

Добавление новых устройств в общем случае выглядит так:

  1. Описываем на контроллере виртуальное устройство HomeKit.
  2. Прописываем логику, которое это устройство реализует, например, включение зуммера.
  3. Публикуем флоу кнопкой Deploy.
  4. Если мост уже добавлен в приложение Home, то устройство появится в нём автоматически.

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

Настройка моста

Мост настраивается один раз и потом используется во всех устройствах:

  1. Перетяните в рабочую область ноду Service, которая находится слева в группе Apple HomeKit.
  2. Дважды кликните на ней — откроется окно Edit service node, где нажмите на карандашик в поле Bridge.
  3. Откроется окно Add new homekit-bridge config node, где:
    • укажите имя в поле Name, например, wb-demo
    • и запомните пин-код из поля Pin Code.
  4. Чтобы сохранить настройки, нажмите кнопку Add.
  5. В окне Edit service node нажмите кнопку Cancel и удалите ноду с рабочей области.

Мост настроен, дальше можно добавлять устройства. В процессе нужно учесть два момента:

  1. устройство HomeKit на вход принимает и отдаёт объект, который содержит имя характеристики и значение;
  2. WB ноды in и out отдают и принимают значения в виде строки.

Чтобы синхронизировать разные типы данных, мы будем создавать конвертеры значений.

Окно Edit service node

Сенсор

В примере мы настроим сенсор температуры HomeKit, который будет выводить температуру процессора.

Добавим ноду WB, которая будет выдавать CPU Temperature:

  1. Перетяните в рабочую область ноду in, которая находится слева в группе Wiren Board.
  2. Дважды кликните по ней — откроется окно Edit in node, где укажите:
    • Name — имя, например, CPU Temp.
    • Server — MQTT-сервер, связь с которым настраивается при установке модуля WB Nodes.
    • Channel — выберите в открывшемся списке mqtt-топик hwmon/CPU Temperature. Если список пуст, нажмите кнопку Refresh Device List.
  3. Чтобы сохранить, нажмите кнопку Done.

Настроим конвертер, который преобразует значение CPU Temperature в объект HomeKit:

  1. Перетяните в рабочую область ноду function, которая находится слева в группе function.
  2. Дважды кликните по ней — откроется окно Edit function node и впишите в поле On Message код:

CurrentTemperature — это имя характеристики, взято из документации Apple HomeKit.

Добавим ноду HomeKit, которая создаст виртуальное устройство:

  1. Перетяните в рабочую область ноду service, которая находится слева в группе Apple HomeKit.
  2. Дважды кликните по ней — откроется окно Edit service node, где:
    • в поле Service выберите TemperatureSensor,
    • в поле Bridge выберите мост, который мы создавали ранее — wb-demo.
    • укажите имя в поле Name, например, CPU Temp.
  3. Нажмите кнопку Done.

У нас получилось три ноды, соедините их между собой: CPU Temp (wb-in) → to Float → CPU Temp (HK).

Чтобы изменения вступили в силу, нажмите справа вверху страницы кнопку Deploy.

Устройство с управлением

Теперь настроим переключатель HomeKit, который будет управлять устройством Buzzer.

Добавим ноду WB, которая будет выдавать состояние Buzzer:

  1. Перетяните в рабочую область ноду in, которая находится слева в группе Wiren Board.
  2. Дважды кликните по ней — откроется окно Edit in node, где укажите:
    • Name — имя, например, Buzzer.
    • Server — MQTT-сервер, связь с которым настраивается при установке модуля WB Nodes.
    • Channel — выберите в открывшемся списке mqtt-топик buzzer/enabled. Если список пуст, нажмите кнопку Refresh Device List.
  3. Чтобы сохранить, нажмите кнопку Done.

Настроим конвертер, который преобразует состояние Buzzer в объект HomeKit:

  1. Перетяните в рабочую область ноду function, которая находится слева в группе function.
  2. Дважды кликните по ней — откроется окно Edit function node и впишите в поле On Message код:

Добавим ноду HomeKit, которая создаст виртуальное устройство:

  1. Перетяните в рабочую область ноду service, которая находится слева в группе Apple HomeKit.
  2. Дважды кликните по ней — откроется окно Edit service node, где:
    • в поле Service выберите Switch,
    • в поле Bridge выберите мост, который мы создавали ранее — wb-demo.
    • укажите имя в поле Name, например, Buzzer.
  3. Нажмите кнопку Done.

Настроим конвертер, который преобразует объект HomeKit в состояние Buzzer:

  1. Перетяните в рабочую область ноду function, которая находится слева в группе function.
  2. Дважды кликните по ней — откроется окно Edit function node и впишите в поле On Message код:

Добавим ещё одну ноду WB, которая будет устанавливать состояние Buzzer:

  1. Перетяните в рабочую область ноду out, которая находится слева в группе Wiren Board.
  2. Дважды кликните по ней — откроется окно Edit out node, где укажите:
    • Name — имя, например, Buzzer.
    • Server — MQTT-сервер, связь с которым настраивается при установке модуля WB Nodes.
    • Channel — выберите в открывшемся списке mqtt-топик buzzer/enabled. Если список пуст, нажмите кнопку Refresh Device List.
    • Command — выберите /on.
    • Payload — должно быть выбрано msg.payload
  3. Чтобы сохранить, нажмите кнопку Done.

У нас получилось пять нод, соедините их между собой: Buzzer (wb-in) → true/false → Buzzer (HK) → 1/0 → Buzzer (wb-out).

Чтобы изменения вступили в силу, нажмите справа вверху страницы кнопку Deploy.

Настройка в устройстве Apple

Теперь нам нужно добавить созданный выше мост в экосистему Apple HomeKit и распределить созданные устройства по комнатам. В будущем, при добавлении устройств, они будут автоматически появляться в приложении Home.

Перед началом настройки подключите контроллер Wiren Board и ваше устройство Apple к одной локальной сети, например, по Wi-Fi.

Мы будем использовать iPhone и стандартное приложение Home:

  1. Откройте приложение Home.
  2. Выберите Add Accessory.
  3. Нажмите More options…
  4. В списке должен появиться мост, который мы настроили выше.
  5. Выберите наш мост из списка.
  6. На сообщение о том, что аксессуар не сертифицирован, ответьте Add Anyway.
  7. Введите пин-код вида XXX-XX-XXX.
  8. Выберите для нашего моста комнату, например, Bedroom.
  9. Укажите имя моста, или оставьте по умолчанию.
  10. Нажмите Continue и дальше для каждого устройтства укажите комнату.

Источник

Adblock
detector