Здравствуйте!
Я пытаюсь поднять на роутере homebridge, и проделав довольно длинный путь, столкнулся с проблемой, от которой не знаю куда копать.
Я уже видел на форуме сообщения от пользователей, которые хотели бы установить homebridge, но столкнулись с проблемами, так что решил что было бы полезно дожать эту тему. В случае успешного решения- обязуюсь написать инструкцию по установке на форуме.
Я установил homebridge на роутере, написал для него конфиг:
и запускаю таким образом:
DEBUG=* homebridge -D
iPhone находит устройство, подключается к нему, но останавливается на строке вида
HAPServer [50:FF:20:01:10:BD] Pair step 1/5 +33ms
Путем модификации исходников homebridge я обнаружил, что процесс зависает на строке
var srpServer = new srp.Server(srpParams, bufferShim.from(salt), bufferShim.from("Pair-Setup"), bufferShim.from(this.accessoryInfo.pincode), key);
Здесь есть важный (по моему мнению) момент- без указания "mdns": { "interface": "192.168.1.1" }, устройство вовсе не обнаруживалось телефоном.
Дабы двигаться хоть куда-то, я установил homebridge на мак, и снял tcpdump с обоих homebridge. ip телефона 192.168.1.44, мака 192.168.1.70, роутера 192.168.1.1.
Вот с роутера:
Вот с мака:
К маку, соответственно, все подключается без проблем.
Однако, я не умею в чтение tcpdump и системное администрирование, и всё, что я сейчас вижу и понимаю- указывает на то, что homebridge не может открыть подключение к телефону и просто зависает на подключении до достижения таймаута. При этом, телефон homebridge на роутере видит и пытается подключиться. К слову, без опции "mdns": { "interface": "192.168.1.1" } я вполне мог достучаться до homebridge на роутере через telnet, но телефон его не видел (что еще раз подталкивает меня к мысли о том, что роутер рубит коннект).
Подскажите, пожалуйста, куда копать. Заранее спасибо!