В предыдущих статьях мы рассматривали зачем нам нужен Homebridge, как запустить нашу Raspberry Pi и как установить тот самый заветный Homebridge на нашу малинку.
Далее мы рассмотрим как же нам в итоге начать пользоваться нашими устройствами и подключить их к Homebridge. Для начала рассмотрим самое базовое и наиболее доступное по деньгам и богатое по функционалу — подключение шлюза от Xiaomi
Перед началом необходимо установить на свой телефон приложение MiHome и добавить наш шлюз, а также все имеющиеся устройства в приложение по инструкции, которые даны в самом приложении.
Далее мы займёмся непосредственной установкой плагина для управления шлюзом и его настройкой.
Для этого нам потребуется установить плагин homebridge-mi-aqara
1. Установка плагина
Заходим через терминал по ssh и набираем команду установки плагина homebridge-mi-aqara
sudo npm install -g homebridge-mi-aqara --unsafe-perm
2. Настройка плагина и редактирование конфигурации
Далее необходимо открыть файл с конфигурацией вашей системы.
Здесь вам потребуется сам config.json, который вы можете найти в папке с плагином или скачать его отсюда. Качаем config-sample.json, переименовываем его в config.json и кладем его сюда /home/pi/.homebridge.
Теперь же мы можем с уверенностью перейти к редактированию. В данном случае можно воспользоваться встроенным редактором и править конфиг прямо на малинке или же скопировать текущий config себе на рабочий компьютер, внести правки там и после чего перенести его по sftp протоколу в соответствующую папку (для примера можно воспользоваться FileZilla).
И так, если же вы выбрали первый путь, то вбиваем следующую команду
nano ~/.homebridge/config.json
Примерное содержимое, где нас интересует платформа MiAqaraPlatform
Для версии 0.6 и позднее
{ "platforms": [{ "platform": "MiAqaraPlatform", "gateways": { "sid": "password" } }] }
Для версии 0.5.3 и ранее:
"platforms": [{ "platform": "MiAqaraPlatform", "sid": ["xxxxxxxxxxxx"], "password": ["YYYYYYYYYYYYYYY"]
Для версии 0.6 и позднее, пример
MAC адрес (sid) в config.json необходимо заполнять строчными (маленькими) буквами, иначе не будет работать управление, а будет только видно состояние устройств. Пароль (password) необходимо переписать заглавными (большими) буквами.
xxxxxxxxxxxx и YYYYYYYYYYYYYYY необходимо переписать из приложения MiHome. Для этого необходимо включить режим разработчика для шлюза.
Для этого:
1. Открываем приложение
2. Заходим в добавленный ранее вами шлюз xiaomi
3. Нажимаем «…» в правом верхнем углу
4.Жмем на About
5. Несколько раз жмем на экран в нижней части под пунктом “Gameplay tutotial” до появления дополнительных пунктов на китайском языке
6. Заходим в 3й пункт снизу
7. Включаем опцию вверху и переписываем пароль — это и есть YYYYYYYYYYYYYYY
8. Теперь заходмм во 2й пункт снизу
Это ваш SID xxxxxxxxxxxx — переписываем без двоеточий маленькими буквами (например 34ce0088a13b)
В итоге полное содержимое файла config.json должно выглядеть так:
Для версии 0.6 и позднее
{ "bridge": { "name": "HomeBridge", "pin": "031-45-154", "username": "97:99:77:E3:CE:28" }, "platforms": [{ "platform": "MiAqaraPlatform", "gateways": { "34ce008d44b2": "F75FD945D6264B8F" }] }
Для версии 0.5.3 и ранее:
{ "bridge": { "name": "HomeVera", "pin": "031-45-154", "username": "97:99:77:E3:CE:28" }, "platforms": [{ "platform": "MiAqaraPlatform", "sid": ["34ce008d44b2"], "password": ["F75FD945D6264B8F"] }] }
После этого вы можете задать дефолтные названия для ваших подключенных устройств или же просто сохранить конфиг и залить его к вам на Raspberry Pi.
3. Финальная настройка и проверка
Чтобы задать дефолтные значения достаточно найти необходимые устройства в списке на странице плагина и добавить их по типу
{ "platform": "MiAqaraPlatform", "gateways": { "34ce008d44b2": "F75FD945D6264B8F" }, "defaultValue": { "34ce008d44b2": { "Gateway_Lightbulb": { "name": "Свет шлюза", "serviceType": "Lightbulb" }, "Gateway_LightSensor": { "name": "Свет" }, "Gateway_Switch_JoinPermission": { "name": "Разрешение на подключение", "disable": true } }, "158d000122b22": { "PlugBase_Outlet_b442": { "name": "Розетка" } }, "158d0001ddb013": { "TemperatureAndHumiditySensor_TemperatureSensor": { "name": "Температура" }, "TemperatureAndHumiditySensor_HumiditySensor": { "name": "Влажность" } } } },
После чего перезапустить homebridge (используем сервис pm из прошлых инструкций)
pm2 restart 0
После перезапуска можем открыть лог и убедиться, что плагин запустился и обнаружил устройства.
pm2 logs 0
В итоге в логе должны появиться примерно такие строки
Также откроем наше приложение «Дом» на iOS и убедимся, что все наши устройства автоматически подключились в HomeKit и доступны для управления.