Jump to content

Nikita_Komissarov

Forum Members
  • Posts

    3
  • Joined

  • Last visited

Posts posted by Nikita_Komissarov

  1. 1 минуту назад, TheBB сказал:

    Разное пользовательское окружение (сравните вывод `env && set` на ПК и на Кинетике); в Entware нет "systemd" как на "взрослых" системах GNU/Linux; пути к бинарникам (/opt/bin:/opt/sbin:...)...

    Понятно, спасибо. Эта вероятность была бы слишком простым решением проблемы 😒

  2. Хочу уточнить в рамках развития этой темы, почему в интерфейсах Homebridge Debian/Ubuntu и пакета для Mipsel есть визуальные различия? При этом они отмечены одинаковой версией. Может ли это играть роль в работоспособности добавления моста на iPhone?

    Я заметил разницу в том, что для пакета Debian/Ubuntu в основном меню веб-интерфейса есть раздел "Аксессуары", а в настройках дополнительные параметры запуска Homebridge в режиме отладки. Может ли быть так, что пакет Mipsel собран из исходников более поздней (< 1.5.0) версии Homebridge и отмечен как 1.5.0?

    Я решил что это может влиять на работоспособность добавления моста в iPhone, так как эта процедура, в моём порядке действий, предусматривала перенос кэшей с версии ПК на версию роутера. Если они действительно различаются, это может быть причиной проблемы.

    Скриншоты Homebridge версии 1.5.0 из официального репозитория Debian/Ubuntu:

    Цитата

    image.thumb.png.85bcd98e866fe663c3ca94447ba0c567.pngimage.thumb.png.487b0c63e2818e07de76c7d980ed3dd9.png

     

    Скриншоты из веб-интерфейса текущей версии (1.5.0) пакета Mipsel не прилагаю, т.к. у меня нет времени устанавливать его ещё раз на Keenetic. Но вы можете поверить мне на слово, сейчас выглядит он также, как на скриншотах от пользователя TheBB:

    Цитата

    screen_2021-04-14_17:38:30_hb.png


    Сейчас у меня развёрнут Homebridge на компьютере, но я всё ещё надеюсь на то, что мой Keenetic в состоянии выполнять эти функции. Пожалуйста, проверьте это. Если действительно допущена ошибка, я попробую установить его ещё раз и обещаю вернуться с обратной связью

  3. 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, дайте знать✌️

    • Thanks 1
×
×
  • Create New...