Перейти к содержанию

Рекомендуемые сообщения

Опубликовано
  В 22.09.2022 в 10:09, Юлия сказал:

подскажите, пожалуйста,  ваше мнение.

Показать  

Тут, к сожалению, ни чем помочь не могу, т.к. не пользуюсь ни тем, ни другим, поскольку отсутствует соотв. оборудование и под одно, и под другое + нет желания делать дом умнее себя )))

Опубликовано

Поставил по инструкции. UI завелся. сам homebridge работает (как бы), но после скана qr мост не цепляет. В логах пусто. Пробовал и 5g и 3g сети роутера. Мб кто сталкивался?

Опубликовано (изменено)

4 дня я пытался запустить Homebridge на Keenetic Hero 4G (KN-2310).

Мне удалось добавить Homebridge в HomeKit, по совету sc0rp1d:

  В 12.01.2019 в 10: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, дайте знать✌️

Изменено пользователем Nikita_Komissarov
Опубликовано
  В 24.09.2022 в 04:54, Nikita_Komissarov сказал:

(В репозитории entware нет архива, через какое-то время они обновят версии файлов и ссылки могут быть недоступны. Найдите их пути по названию, просто открыв список файлов по ссылке)

Показать  

файлы индекса были добавлены...

  Показать контент

 

Опубликовано (изменено)

Хочу уточнить в рамках развития этой темы, почему в интерфейсах 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 в состоянии выполнять эти функции. Пожалуйста, проверьте это. Если действительно допущена ошибка, я попробую установить его ещё раз и обещаю вернуться с обратной связью

Изменено пользователем Nikita_Komissarov
Опубликовано
  В 25.09.2022 в 02:37, Nikita_Komissarov сказал:

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

Показать  

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

Опубликовано
  В 27.09.2022 в 10:09, TheBB сказал:

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

Показать  

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

Опубликовано

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 руками (или "выпиливать" и собирать отдельным пакетом), а в нём тоже пути править надо...

  • 2 месяца спустя...
Опубликовано
  В 24.09.2022 в 04: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 - тот же результат ... ЧЯДНТ ?
Опубликовано
  В 08.12.2022 в 08:12, Sergey Artamonov сказал:

на 2610 сделал по инструкции, все запустилось ... через веб-интерфейс запустил обновление - все пропало ... 

/opt/etc/init.d/S98homebridge restart тоже не помогает ... повторил на 1010 - тот же результат ... ЧЯДНТ ?
Показать  

снес все через opkg remove, установил снова - запустилось в версии 1.6, актуальная версия. обновлений не требуется ... чудеса ...

  • 1 год спустя...
  • 1 месяц спустя...
Опубликовано (изменено)

Долго ковырялся чтобы завести на роутере с 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. Немного потестировал и пока что все работает замечательно - мост добавляется в приложение Дом, свет включается-выключается.

Изменено пользователем Ferbez
  • 4 месяца спустя...
Опубликовано

Подскажите куда переносить папки с ПК? В роутере отсутствуют нужные дерриктории, то-есть в папке var нет папки lib

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.