4 дня я пытался запустить Homebridge на Keenetic Hero 4G (KN-2310).
Мне удалось добавить Homebridge в HomeKit, по совету sc0rp1d:
Уточню порядок действий, для тех, кому как и мне его сообщение было не до конца понятным.
Заранее предупреждаю, в итоге у меня ничего не работает, из-за недостатка ресурсов моего роутера. Но вы можете сделать свою попытку.
Прежде всего вам нужно подготовить роутер по инструкции из базы знаний Keenetic.
Когда закончите с подготовкой роутера, подключайтесь к нему по SSH и устанавливайте пакеты:
opkg update
opkg upgrade
opkg install http://bin.entware.net/mipselsf-k3.4/test/node-js/node-pty-prebuilt-multiarch_0.10.1-pre.5-1_mipsel-3.4.ipk
opkg install http://bin.entware.net/mipselsf-k3.4/test/node-js/node-homebridge_1.5.0-2_mipsel-3.4.ipk
opkg install http://bin.entware.net/mipselsf-k3.4/test/node-js/node-bufferutil_4.0.6-1_mipsel-3.4.ipk
opkg install http://bin.entware.net/mipselsf-k3.4/test/node-js/node-utf-8-validate_5.0.9-1_mipsel-3.4.ipk
opkg install http://bin.entware.net/mipselsf-k3.4/test/node-js/node-homebridge-config-ui-x_4.50.1-2_mipsel-3.4.ipk
(В репозитории entware нет архива, через какое-то время они обновят версии файлов и ссылки могут быть недоступны. Найдите их пути по названию, просто открыв список файлов по ссылке)
После установки всех файлов, запускаем команду для автоматической конфигурации Homebridge-config-ui-x:
hb-service install --user root -U /opt/share/homebridge
Затем запускаете сам homebridge-config-ui-x (Он запускается и перезапускается о-о-очень долго, 2-3 минуты):
/opt/etc/init.d/S98homebridge restart
Проверьте что Homebridge-config-ui-x доступен через веб-интерфейс по адресу http://192.168.1.1:8581.
Больше никаких действий с роутером не делайте, на нём не получится добавить мост в HomeKit.
Устанавливаете Homebridge на ПК, инструкции есть на официальном сайте: homebridge.io
Если вы на Debian/Ubuntu, он у вас стартанёт после установки самостоятельно, подключайтесь к нему по адресу: http://127.0.0.1:8581
Добавляйте мост, (с помощью QR-кода Homebridge на компьютере), устанавливайте нужные плагины (для меня это был Yeelighter), добавляйте мосты для ваших плагинов, подключайте устройства в HomeKit до состояния полной работоспособности.
Затем, вам нужно перенести config.json и папки (accessories и persist) со всем их содержимым с ПК на роутер. Переносить node_modules не нужно
Вот список:
/var/lib/homebridge/config.json
/var/lib/homebridge/accessories/*
/var/lib/homebridge/persist/*
Таким образом вы перенесёте весь кэш подключений к мостам, ваш iPhone не заметит подмены.
Теперь вам нужно установить на роутере все те плагины, что вы устанавливали на ПК.
Далее, очень важно отредактировать config.json, добавив к нему элемент "mdns". Без этого Homebridge на роутере будет долбиться в не ту сеть и не сможет подключиться к устройствам локальной сети. В вашем config.json должно быть примерно следующее:
{
//Это указывает homebridge правильный сетевой интерфейс
"mdns": {
"interface": "192.168.1.1"
},
//Остальные настройки будут отличаться, их изменять не нужно
"bridge": {
"name": "Homebridge 52E0",
"username": "0E:28:13:36:52:E0",
"port": 51064,
"pin": "111-11-111",
"advertiser": "bonjour-hap"
},
"accessories": [],
"platforms": [
{
"name": "Config",
"port": 8581,
"auth": "form",
"theme": "auto",
"tempUnits": "c",
"lang": "auto",
//Это чтобы работало логирование homebridge-config-ui-x
"log": {
"method": "file",
"path": "/opt/var/log/homebridge.log"
},
"platform": "config"
},
{
"name": "Yeelighter",
"timeout": 300000,
"interval": 300000,
"ctforcolor": true,
"blocking": false,
"split": false,
"manual": [
{
"ignorePower": false
}
],
"platform": "Yeelighter",
"_bridge": {
"username": "0E:F8:94:F1:1C:92",
"port": 34836
}
}
]
}
И в общем-то это всё.
Чтобы у вас работало логирование, укажите Homebridge-config-ui-x где лежит лог-файл и как к нему обращаться (Это есть в коде выше, секция platforms[0]->log).
В итоге, к сожалению, я пришёл к выводу что мой Keenetic Hero 4G не вывозит эту задачу и лампа которую я пытался добавить с его помощью в HomeKit кажется не успевает ответить вовремя. Из-за этого в моём приложении "Дом" светильник то появляется, то "не отвечает", пользоваться я им не могу. Попытки увеличить тайм-аут и интервал опроса в конфигурации Homebridge не увенчались успехом. Надеюсь это сможет вам помочь, удачи! 🤞 P.S.
Я пытался организовать Homebridge на VDS, подключая сервер к роутеру по Wireguard. Мне удалось дать доступ VDS к локальной сети роутера, но к сожалению попытки добавить мост в HomeKit были не успешны. В обе стороны адреса пингуются и мне кажется что это какое-то ограничение HomeKit.
Вероятнее всего, самым лучшим решением будет купить Orange PI или Raspberry PI. Но я как и вы, хотел сэкономить деньги и задействовать уже существующие ресурсы.
Если кому-то удастся подключить Keenetic Hero 4G к Homebridge, дайте знать✌️