TheBB Posted September 23, 2022 Share Posted September 23, 2022 20 часов назад, Юлия сказал: подскажите, пожалуйста, ваше мнение. Тут, к сожалению, ни чем помочь не могу, т.к. не пользуюсь ни тем, ни другим, поскольку отсутствует соотв. оборудование и под одно, и под другое + нет желания делать дом умнее себя ))) 1 Quote Link to comment Share on other sites More sharing options...
konata Posted September 24, 2022 Share Posted September 24, 2022 Поставил по инструкции. UI завелся. сам homebridge работает (как бы), но после скана qr мост не цепляет. В логах пусто. Пробовал и 5g и 3g сети роутера. Мб кто сталкивался? Quote Link to comment Share on other sites More sharing options...
Nikita_Komissarov Posted September 24, 2022 Share Posted September 24, 2022 (edited) 4 дня я пытался запустить Homebridge на Keenetic Hero 4G (KN-2310). Мне удалось добавить Homebridge в HomeKit, по совету sc0rp1d: В 12.01.2019 в 13:18, sc0rp1d сказал: Я как раз позавчера начал настраивать Homebridge и столкнулся с тем же самым. Проблема в том, что SRP шифрование очень требовательно к ресурсам, собственно поэтому все HomeKit устройства такие дорогие - там специальный алгоритм шифрования, который быстро работает на очень слабых устройствах. Я смог обойти это место, переписал исходники, но там будет еще одно, которое обойти не удастся, поэтому сделал очень хитрый трюк. SRP нужен только для первого раза - сопряжения iOS и Bridge. Берем запускаем Homebridge на компьютере, без платформ, с теме же настройками bridge, что и на роутере. Делаем сопряжение, а потом переносим папки persist и accessories с компьютера на роутер. Homebridge на компьютере нам больше не нужен, а iOS уже будет считать, что сделал пару с Homebridge на роутере. Уточню порядок действий, для тех, кому как и мне его сообщение было не до конца понятным. Заранее предупреждаю, в итоге у меня ничего не работает, из-за недостатка ресурсов моего роутера. Но вы можете сделать свою попытку. Прежде всего вам нужно подготовить роутер по инструкции из базы знаний 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, дайте знать✌️ Edited September 24, 2022 by Nikita_Komissarov 1 Quote Link to comment Share on other sites More sharing options...
TheBB Posted September 24, 2022 Share Posted September 24, 2022 27 минут назад, Nikita_Komissarov сказал: (В репозитории entware нет архива, через какое-то время они обновят версии файлов и ссылки могут быть недоступны. Найдите их пути по названию, просто открыв список файлов по ссылке) файлы индекса были добавлены... Скрытый текст ~ # opkg list | grep ^node | cut -f-3 -d' ' node - v16.16.0-1 node-actions-on-google - 3.0.0-1 node-alexa-app - 4.2.3-4 node-arduino-firmata - 0.3.4-33 node-argon2 - 0.29.1-1 node-ask-sdk - 2.12.1-1 node-authenticate-pam - 1.0.5-1 node-autobahn - 20.9.2-4 node-aws-crt - 1.14.1-1 node-aws-iot-device-sdk - 2.2.12-1 node-aws-iot-device-sdk-v2 - 1.8.7-1 node-aws-sdk - 2.1167.0-1 node-azure-event-hubs - 5.8.0-1 node-azure-iot-device - 1.18.0-1 node-azure-iot-device-amqp - 1.14.0-1 node-azure-iot-device-http - 1.14.0-1 node-azure-iot-device-mqtt - 1.16.0-1 node-azure-iothub - 1.15.0-1 node-bcrypt - 5.0.1-2 node-bignum - 0.13.1-4 node-binaryjs - 0.2.1-14 node-bleacon - 0.5.1-11 node-bleno - 0.5.0-4 node-bluetooth-hci-socket - 0.5.3-4 node-browserify - 17.0.0-3 node-bufferutil - 4.0.6-1 node-classic-level - 1.2.0-1 node-clean-modules - 2.0.6-1 node-coap - 1.0.11-1 node-cpx - 1.5.0-12 node-cylon - 1.3.0-26 node-cylon-firmata - 0.24.0-26 node-cylon-gpio - 0.30.1-14 node-cylon-i2c - 0.26.1-26 node-deasync - 0.1.28-1 node-deasync-promise - 1.0.1-3 node-eddystone-beacon - 1.0.7-9 node-enocean-utils - 0.5.1-3 node-epoll - 4.0.1-2 node-exorcist - 2.0.0-2 node-expat - 2.4.0-2 node-express - 4.18.1-1 node-ffi-napi - 4.0.3-3 node-ffmpeg-for-homebridge - 0.1.4-1 node-firmata - 2.3.0-2 node-forever - 4.0.3-1 node-fuse-bindings - 2.12.4-3 node-gulp - 4.0.2-1 node-gyp - 9.1.0-1 node-hap-nodejs - 0.10.2-1 node-hashmap - 2.4.0-4 node-hid - 2.1.1-2 node-hid-stream - 1.1.0-3 node-homebridge - 1.5.0-2 node-homebridge-camera-ffmpeg - 3.1.4-1 node-homebridge-cmd4 - 6.3.0-1 node-homebridge-config-ui-x - 4.50.1-2 node-homebridge-z2m - 1.9.0-1 node-homekit2mqtt - 1.1.2-2 node-i2c-bus - 5.2.2-2 node-inspect - 2.0.0-4 node-javascript-obfuscator - 4.0.0-1 node-johnny-five - 2.1.0-1 node-jsonfile - 6.1.0-3 node-lambda - 1.0.0-1 node-level - 8.0.0-1 node-leveldown - 6.1.1-1 node-levelup - 5.1.1-1 node-logfmt - 1.3.2-3 node-lwm2m-node-lib - 1.4.0-1 node-mdns - 2.7.2-3 node-megahash - 1.0.5-2 node-mocha - 10.0.0-1 node-modbus-serial - 8.0.5-2 node-modclean - 3.0.0-beta.1-1 node-mqtt - 4.3.7-1 node-nconf - 0.12.0-1 node-net-ping - 1.2.3-4 node-noble - 1.9.1-4 node-noble-device - 1.4.1-2 node-npm - v16.16.0-1 node-npm-check-updates - 16.0.6-1 node-onoff - 6.0.3-2 node-openzwave-shared - 1.7.2-2 node-pi-spi - 1.2.1-4 node-pm2 - 5.2.0-1 node-pty - 0.10.1-2 node-pty-prebuilt-multiarch - 0.10.1-pre.5-1 node-red - 3.0.2-1 node-red-contrib-gpio - 0.51.0-3 node-red-contrib-homekit-bridged - 1.4.3-1 node-red-contrib-modbus - 5.23.1-1 node-red-dashboard - 3.1.7-1 node-red-node-arduino - 0.3.1-3 node-red-node-discovery - 0.0.23-1 node-red-node-serialport - 1.0.1-1 node-red-node-sqlite - 1.0.3-1 node-rimraf - 3.0.2-3 node-rpi-gpio - 2.1.7-3 node-rpio - 2.4.2-2 node-serialport - 10.4.0-1 node-serialport-bindings - 10.0.1-1 node-serialport-bindings-cpp - 10.7.0-1 node-serialport-list - 10.4.0-1 node-simple-xmpp - 2.3.1-2 node-sleep - 6.3.0-3 node-socket.io - 4.5.1-1 node-socket.io-client - 4.5.1-1 node-spi-device - 3.1.2-1 node-sqlite3 - 5.0.11-1 node-static - 0.7.11-4 node-statvfs - 2.2.1-1 node-system-sleep - 1.3.7-3 node-twilio - 3.81.0-1 node-typescript - 4.8.2-1 node-uglify-js - 3.17.0-1 node-usb - 2.5.1-1 node-utf-8-validate - 5.0.9-1 node-websocket - 1.0.34-2 node-ws - 8.8.1-1 node-yarn - 1.22.19-1 node-zigbee2mqtt - 1.27.2-1 ~ # Quote Link to comment Share on other sites More sharing options...
Nikita_Komissarov Posted September 25, 2022 Share Posted September 25, 2022 (edited) Хочу уточнить в рамках развития этой темы, почему в интерфейсах Homebridge Debian/Ubuntu и пакета для Mipsel есть визуальные различия? При этом они отмечены одинаковой версией. Может ли это играть роль в работоспособности добавления моста на iPhone? Я заметил разницу в том, что для пакета Debian/Ubuntu в основном меню веб-интерфейса есть раздел "Аксессуары", а в настройках дополнительные параметры запуска Homebridge в режиме отладки. Может ли быть так, что пакет Mipsel собран из исходников более поздней (< 1.5.0) версии Homebridge и отмечен как 1.5.0? Я решил что это может влиять на работоспособность добавления моста в iPhone, так как эта процедура, в моём порядке действий, предусматривала перенос кэшей с версии ПК на версию роутера. Если они действительно различаются, это может быть причиной проблемы. Скриншоты Homebridge версии 1.5.0 из официального репозитория Debian/Ubuntu: Цитата Скриншоты из веб-интерфейса текущей версии (1.5.0) пакета Mipsel не прилагаю, т.к. у меня нет времени устанавливать его ещё раз на Keenetic. Но вы можете поверить мне на слово, сейчас выглядит он также, как на скриншотах от пользователя TheBB: Цитата Сейчас у меня развёрнут Homebridge на компьютере, но я всё ещё надеюсь на то, что мой Keenetic в состоянии выполнять эти функции. Пожалуйста, проверьте это. Если действительно допущена ошибка, я попробую установить его ещё раз и обещаю вернуться с обратной связью Edited September 25, 2022 by Nikita_Komissarov Quote Link to comment Share on other sites More sharing options...
TheBB Posted September 27, 2022 Share Posted September 27, 2022 В 25.09.2022 в 05:37, Nikita_Komissarov сказал: Хочу уточнить в рамках развития этой темы, почему в интерфейсах Homebridge Debian/Ubuntu и пакета для Mipsel есть визуальные различия? Разное пользовательское окружение (сравните вывод `env && set` на ПК и на Кинетике); в Entware нет "systemd" как на "взрослых" системах GNU/Linux; пути к бинарникам (/opt/bin:/opt/sbin:...)... Quote Link to comment Share on other sites More sharing options...
Nikita_Komissarov Posted September 27, 2022 Share Posted September 27, 2022 1 минуту назад, TheBB сказал: Разное пользовательское окружение (сравните вывод `env && set` на ПК и на Кинетике); в Entware нет "systemd" как на "взрослых" системах GNU/Linux; пути к бинарникам (/opt/bin:/opt/sbin:...)... Понятно, спасибо. Эта вероятность была бы слишком простым решением проблемы 😒 Quote Link to comment Share on other sites More sharing options...
TheBB Posted September 27, 2022 Share Posted September 27, 2022 systemd - https://github.com/oznu/homebridge-config-ui-x/blob/master/src/bin/platforms/linux.ts#L92 (и много где ещё) ))) path_to_bin - https://github.com/oznu/homebridge-config-ui-x/blob/master/src/bin/platforms/linux.ts#L192 (тоже полно) ))) systemd+avahi - https://github.com/oznu/homebridge-config-ui-x/blob/master/src/bin/hb-service.ts#L934 продолжать можно долго... Или, чтоб получить такую картитку (ОС Entware): Скрытый текст нужно "ковырять" зависимость https://github.com/oznu/homebridge-config-ui-x/blob/master/package.json#L84 руками (или "выпиливать" и собирать отдельным пакетом), а в нём тоже пути править надо... 1 Quote Link to comment Share on other sites More sharing options...
Sergey Artamonov Posted December 8, 2022 Share Posted December 8, 2022 В 24.09.2022 в 07:54, Nikita_Komissarov сказал: устанавливайте пакеты: 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. на 2610 сделал по инструкции, все запустилось ... через веб-интерфейс запустил обновление - все пропало ... /opt/etc/init.d/S98homebridge restart тоже не помогает ... повторил на 1010 - тот же результат ... ЧЯДНТ ? Quote Link to comment Share on other sites More sharing options...
Sergey Artamonov Posted December 14, 2022 Share Posted December 14, 2022 В 08.12.2022 в 11:12, Sergey Artamonov сказал: на 2610 сделал по инструкции, все запустилось ... через веб-интерфейс запустил обновление - все пропало ... /opt/etc/init.d/S98homebridge restart тоже не помогает ... повторил на 1010 - тот же результат ... ЧЯДНТ ? снес все через opkg remove, установил снова - запустилось в версии 1.6, актуальная версия. обновлений не требуется ... чудеса ... Quote Link to comment Share on other sites More sharing options...
Sergey Artamonov Posted December 14, 2022 Share Posted December 14, 2022 но все равно "аксессуар не найден" ... Quote Link to comment Share on other sites More sharing options...
withjonjon Posted August 11 Share Posted August 11 Существует актуальная инструкция как запустить на 1011? Получится ли без сильных мучений и ковыряний? Quote Link to comment Share on other sites More sharing options...
Ferbez Posted September 19 Share Posted September 19 (edited) Долго ковырялся чтобы завести на роутере с mipsel (искренне завидую владельцам роутеров на aarch64) и наконец получилось - но под Debian. Последняя версия, но с нюансом - без сетевой морды (ее поставить реально, но я пока не осилил), то есть настраивать только вручную через config.json (ну или поднять Homebridge на каком-то другом устройстве и подтянуть впоследствии уже правильно оформленный config.json оттуда). Гайд для тех кто захочет повторить: устанавливаем Debian по инструкции отсюда, далее все обновляем и устанавливаем Node.js: apt update apt install dialog apt-utils apt install --reinstall dialog apt-utils apt upgrade apt install npm Далее устанавливаем сам Homebridge: npm install -g --unsafe-perm homebridge Требуемые плагины устанавливаются точно так же: npm install -g --unsafe-perm homebridge-tuya-local Базовый config.json кладем в /var/homebridge: { "mdns": { "interface": "192.168.1.1" }, "bridge": { "name": "Homebridge", "username": "0E:7A:27:7A:21:09", "port": 51997, "pin": "681-93-982", "advertiser": "bonjour-hap" }, "accessories": [], "platforms": [] } Теперь /etc/init.d/homebridge: #!/bin/sh ### BEGIN INIT INFO # Provides: Homebridge # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO dir="/var/homebridge" cmd="/usr/local/bin/homebridge -U /var/homebridge" user="root" name=`basename $0` pid_file="/var/run/$name.pid" stdout_log="/var/log/$name.log" stderr_log="/var/log/$name.err" get_pid() { cat "$pid_file" } is_running() { [ -f "$pid_file" ] && ps -p `get_pid` > /dev/null 2>&1 } case "$1" in start) if is_running; then echo "Already started" else echo "Starting $name" cd "$dir" $cmd >> "$stdout_log" 2>> "$stderr_log" & echo $! > "$pid_file" if ! is_running; then echo "Unable to start, see $stdout_log and $stderr_log" exit 1 fi fi ;; stop) if is_running; then echo -n "Stopping $name.." kill `get_pid` for i in 1 2 3 4 5 6 7 8 9 10 # for i in `seq 10` do if ! is_running; then break fi echo -n "." sleep 1 done echo if is_running; then echo "Not stopped; may still be shutting down or shutdown may have failed" exit 1 else echo "Stopped" if [ -f "$pid_file" ]; then rm "$pid_file" fi fi else echo "Not running" fi ;; restart) $0 stop if is_running; then echo "Unable to stop, will not attempt to start" exit 1 fi $0 start ;; status) if is_running; then echo "Running" else echo "Stopped" exit 1 fi ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac exit 0 Теперь запускаем службу: chmod 755 /etc/init.d/homebridge update-rc.d homebridge defaults service homebridge start Подключиться к Homebridge можно либо по QR-коду из /var/log/homebridge.log, либо по коду из config.json. Чтобы Homebridge запускался вместе с роутером можно добавить службу в /chroot-services.list. Немного потестировал и пока что все работает замечательно - мост добавляется в приложение Дом, свет включается-выключается. Edited September 21 by Ferbez Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.