NEWS
Вопрос по Apple HomeKit
-
Добрый день!
Недавно открыл для себя iobroker. Шикарная разработка и автору огромный респект за это! Особенно за Vis!!!
Но недостаток информации сказывается негативно на освоении(
Вопрос такой: Установил Apple Home Kit -> сижу думаю что дальше делать)
Хочу подружить сири с iobroker, как это сделано в том же Openhab
Но ничего не понятно. Знающие люди подскажите)
При запуске он валится( Все настройки дефолтные/
В логах это:
host-orangepipc 2016-07-26 18:57:18.070 info Restart adapter system.adapter.homekit.0 because enabled
host-orangepipc 2016-07-26 18:57:18.069 error instance system.adapter.homekit.0 terminated with code 0 (OK)
inMem 2016-07-26 18:57:18.012 debug message * system.adapter.homekit.0.alive val=false, ack=true, ts=1469548638001, q=0, from=system.adapter.homekit.0, lc=1469548638001
Error: 2016-07-26 18:57:17.989 error at EventedHTTPServer.emit (events.js:166:7)
Error: 2016-07-26 18:57:17.989 error at emitNone (events.js:67:13)
Error: 2016-07-26 18:57:17.989 error at HAPServer._onListening (/opt/iobroker/node_modules/iobroker.homekit/node_modules/hap-nodejs/lib/HAPServer.js:169:8)
Error: 2016-07-26 18:57:17.989 error at HAPServer.emit (events.js:166:7)
Error: 2016-07-26 18:57:17.989 error at emitNone (events.js:67:13)
Error: 2016-07-26 18:57:17.989 error at Bridge.Accessory._onListening (/opt/iobroker/node_modules/iobroker.homekit/node_modules/hap-nodejs/lib/Accessory.js:498:20)
Error: 2016-07-26 18:57:17.989 error at Advertiser.startAdvertising (/opt/iobroker/node_modules/iobroker.homekit/node_modules/hap-nodejs/lib/Advertiser.js:43:30)
Error: 2016-07-26 18:57:17.989 error at Object.create [as createAdvertisement] (/opt/iobroker/node_modules/iobroker.homekit/node_modules/hap-nodejs/node_modules/mdns/lib/advertisement.js:64:10)
Error: 2016-07-26 18:57:17.989 error at new Advertisement (/opt/iobroker/node_modules/iobroker.homekit/node_modules/hap-nodejs/node_modules/mdns/lib/advertisement.js:56:10)
Error: 2016-07-26 18:57:17.989 error at Error (native)
Error: 2016-07-26 18:57:17.989 error dns service error: unknown
uncaught 2016-07-26 18:57:17.985 error exception: dns service error: unknown
-
А на каком железе, OS, node.js версия?
Вроде бы нужна 4.х версия ноды.
-
Armbian на OrangePi PC, nodejs v4.4.7
У меня были проблемы с установкой Home Kit/
На форуме нашел способ как решить проблему доустановкой компонентов - после этого все заработало/
Но ошибки стали сыпаться/ И не совсем понятно что делать дальше с настройкой самого модуля.
Как им управлять? Как сири заставить увидеть его?
Из оборудования пока только esp8266 с прошивкой http://wifi-iot.com/
Esp управляет 4-реле через Mqtt протокол
Вот весь лог/ я так понял он стартует - находит ошибку и перезапускается
! ````
host-orangepipc 2016-07-26 19:43:12.802 info Restart adapter system.adapter.homekit.0 because enabled
host-orangepipc 2016-07-26 19:43:12.801 error instance system.adapter.homekit.0 terminated with code 0 (OK)
inMem 2016-07-26 19:43:12.754 debug message * system.adapter.homekit.0.alive val=false, ack=true, ts=1469551392745, q=0, from=system.adapter.homekit.0, lc=1469551392745
Error: 2016-07-26 19:43:12.734 error at EventedHTTPServer.emit (events.js:166:7)
Error: 2016-07-26 19:43:12.734 error at emitNone (events.js:67:13)
Error: 2016-07-26 19:43:12.734 error at HAPServer._onListening (/opt/iobroker/node_modules/iobroker.homekit/node_modules/hap-nodejs/lib/HAPServer.js:169:8)
Error: 2016-07-26 19:43:12.734 error at HAPServer.emit (events.js:166:7)
Error: 2016-07-26 19:43:12.734 error at emitNone (events.js:67:13)
Error: 2016-07-26 19:43:12.734 error at Bridge.Accessory._onListening (/opt/iobroker/node_modules/iobroker.homekit/node_modules/hap-nodejs/lib/Accessory.js:498:20)
Error: 2016-07-26 19:43:12.734 error at Advertiser.startAdvertising (/opt/iobroker/node_modules/iobroker.homekit/node_modules/hap-nodejs/lib/Advertiser.js:43:30)
Error: 2016-07-26 19:43:12.734 error at Object.create [as createAdvertisement] (/opt/iobroker/node_modules/iobroker.homekit/node_modules/hap-nodejs/node_modules/mdns/lib/advertisement.js:64:10)
Error: 2016-07-26 19:43:12.734 error at new Advertisement (/opt/iobroker/node_modules/iobroker.homekit/node_modules/hap-nodejs/node_modules/mdns/lib/advertisement.js:56:10)
Error: 2016-07-26 19:43:12.734 error at Error (native)
Error: 2016-07-26 19:43:12.734 error dns service error: unknown
uncaught 2016-07-26 19:43:12.730 error exception: dns service error: unknown
homekit-0 2016-07-26 19:43:12.597 debug {}
homekit-0 2016-07-26 19:43:12.597 debug Category: Accessory.Categories.BRIDGE
homekit-0 2016-07-26 19:43:12.596 debug Port: 51826
homekit-0 2016-07-26 19:43:12.596 debug PinCode: 031-45-154
homekit-0 2016-07-26 19:43:12.595 debug UserName: CC:22:3D:E3:CE:F6
homekit-0 2016-07-26 19:43:12.576 info Bridge 'ioBroker Bridge' successfully published
homekit-0 2016-07-26 19:43:12.522 debug Accessory: Humidity Object: CurrentRelativeHumidity
homekit-0 2016-07-26 19:43:12.522 debug Accessory: Temperature Object: CurrentTemperature
homekit-0 2016-07-26 19:43:12.521 debug Accessory: Thermostat Object: CurrentRelativeHumidity
homekit-0 2016-07-26 19:43:12.521 debug Accessory: Thermostat Object: State
homekit-0 2016-07-26 19:43:12.520 debug Accessory: Thermostat Object: TargetTemperature
homekit-0 2016-07-26 19:43:12.520 debug Accessory: Thermostat Object: CurrentTemperature
homekit-0 2016-07-26 19:43:12.518 debug Accessory: Dimmer Object: State
homekit-0 2016-07-26 19:43:12.517 debug Accessory: Switch Object: State
homekit-0 2016-07-26 19:43:12.477 info hap-nodejs starting...
homekit-0 2016-07-26 19:43:12.469 debug received all objects
homekit-0 2016-07-26 19:43:12.075 debug received all states
homekit-0 2016-07-26 19:43:11.152 debug requesting all objects
homekit-0 2016-07-26 19:43:11.148 debug requesting all states
homekit-0 2016-07-26 19:43:11.135 info starting. Version 0.1.4 in /opt/iobroker/node_modules/iobroker.homekit
homekit-0 2016-07-26 19:43:10.995 debug statesDB connected
homekit-0 2016-07-26 19:43:10.944 debug objectDB connected
host-orangepipc 2016-07-26 19:43:08.387 info instance system.adapter.homekit.0 started with pid 12092 -
Note: on some systems additional package is required
sudo apt-get install libavahi-compat-libdnssd-dev
-
Я это уже делал)
Соседняя тема была. Та Вы советовали сделать это.
Драйвер стартует. В логах основная ошибка, как я понял, вот эта - error dns service error: unknown
-
Может это поможет?
https://forums.freenas.org/index.php?th … ork.36428/
` > After some more research I found the solution to my problem myself:
There incorrect setting in /usr/local/etc/avahi-daemon.conf
enable-dbus was set to not where it should have been yes `
-
Нет( не помогло(
Я так понял беда в том что hap-nodejs нужен модуль mdns/ и я его установил выполнив npm install mdns в папке /opt/iobroker
так же пробовал в папке /opt/iobroker/node_modules/iobroker.homekit/node_modules/hap-nodejs/node_modules
Пробовал гуглить на данную тему - нашел пару решений
В основном все сводится к установке mdns
и запуску npm rebuild
Я не совсем понимаю структуру этой системы npm что где выполнять. Поэтому диагностировать адекватно не могу(
К сожалению воз и ныне там(
-
Это не проблема ioBroker или node.js. Это проблема системы.
Служба dns не запущена. Вот node и ругается.
Редактировать /etc/init/avahi-daemon.conf
enable-dbus=yes disable-publishing=no disable-user-service-publishing=no
Установить
sudo apt-get install libnss-mdns avahi-discover avahi-utils
Перезапустить
sudo /etc/init.d/avahi-daemon restart
Что видно?
sudo netstat -tulpen | grep avahi
udp 0 0 0.0.0.0:5353 0.0.0.0:* 104 4279 758/avahi-daemon: r udp 0 0 0.0.0.0:41339 0.0.0.0:* 104 4280 758/avahi-daemon: r
Что видно при
avahi-browse
Если есть имя системы (например raspbery) то должно работать:
ping raspberry
Почитай, как запустить и проверить avahi.
-
Это не проблема ioBroker или node.js. Это проблема системы.
Служба dns не запущена. Вот node и ругается.
Редактировать /etc/init/avahi-daemon.conf
enable-dbus=yes disable-publishing=no disable-user-service-publishing=no
Установить
sudo apt-get install libnss-mdns avahi-discover avahi-utils
Перезапустить
sudo /etc/init.d/avahi-daemon restart
Что видно?
sudo netstat -tulpen | grep avahi
udp 0 0 0.0.0.0:5353 0.0.0.0:* 104 4279 758/avahi-daemon: r udp 0 0 0.0.0.0:41339 0.0.0.0:* 104 4280 758/avahi-daemon: r
Что видно при
avahi-browse
Если есть имя системы (например raspbery) то должно работать:
ping raspberry
Почитай, как запустить и проверить avahi. `
Огромное Вам спасибо!!
Все взлетело!
Может Вы мне еще подскажите в какую сторону изучать дальше) Как прокинуть устройства в этот бридж и как с сири их сдружить?
может есть где статья какая/ Честно искал - не нашел/
Если кому нужно будет на armbian конфиг лежит тут /etc/avahi/avahi-daemon.conf
-
читал это - https://github.com/husky-koglhof/ioBrok … /README.md
> For Usage you must define a enum named enum.homekit. There you must include all needed Objects. Set a common Name for all Objects e.g. hm-rpc.0.JEQ0225305.1.TEMPERATURE = Kinderzimmer
Я так понял для того чтобы что-то передать в бридж нужно в меню Категории создать новую/
я так и сделал. Но не пашет ничего)
-
Это не проблема ioBroker или node.js. Это проблема системы.
Служба dns не запущена. Вот node и ругается.
Редактировать /etc/init/avahi-daemon.conf
enable-dbus=yes disable-publishing=no disable-user-service-publishing=no
Установить
sudo apt-get install libnss-mdns avahi-discover avahi-utils
Перезапустить
sudo /etc/init.d/avahi-daemon restart
Что видно?
sudo netstat -tulpen | grep avahi
udp 0 0 0.0.0.0:5353 0.0.0.0:* 104 4279 758/avahi-daemon: r udp 0 0 0.0.0.0:41339 0.0.0.0:* 104 4280 758/avahi-daemon: r
Что видно при
avahi-browse
Если есть имя системы (например raspbery) то должно работать:
ping raspberry
Почитай, как запустить и проверить avahi. `
Огромное Вам спасибо!!
Все взлетело!
Может Вы мне еще подскажите в какую сторону изучать дальше) Как прокинуть устройства в этот бридж и как с сири их сдружить?
может есть где статья какая/ Честно искал - не нашел/
Если кому нужно будет на armbian конфиг лежит тут /etc/avahi/avahi-daemon.conf `
Интересно, что из того, что я описал, оказалось решающим? … -
читал это - https://github.com/husky-koglhof/ioBrok … /README.md
> For Usage you must define a enum named enum.homekit. There you must include all needed Objects. Set a common Name for all Objects e.g. hm-rpc.0.JEQ0225305.1.TEMPERATURE = Kinderzimmer
Я так понял для того чтобы что-то передать в бридж нужно в меню Категории создать новую/
я так и сделал. Но не пашет ничего)
filename="new.jpg" index="0">~~
Он там первой строчкой написал:
> Enums are no longer needed, Objects were included cause of ioBroker roles. `И потом:
Supported Roles from ioBroker: value.temperature indicator.battery (Not tested) value.battery (Not tested) alarm level.temperature switch value.humidity level.dimmer
То есть надо присвоить роли состояниям.
-
читал это - https://github.com/husky-koglhof/ioBrok … /README.md
> For Usage you must define a enum named enum.homekit. There you must include all needed Objects. Set a common Name for all Objects e.g. hm-rpc.0.JEQ0225305.1.TEMPERATURE = Kinderzimmer
Я так понял для того чтобы что-то передать в бридж нужно в меню Категории создать новую/
я так и сделал. Но не пашет ничего)
filename="new.jpg" index="0">~~
Он там первой строчкой написал:
> Enums are no longer needed, Objects were included cause of ioBroker roles. `И потом:
Supported Roles from ioBroker: value.temperature indicator.battery (Not tested) value.battery (Not tested) alarm level.temperature switch value.humidity level.dimmer
То есть надо присвоить роли состояниям. `
Если Вас не затруднит ткните носом где это сделать. Я не совсем понимаю где роли, а где состояния. Хотябы краткий пример, а дальше я уж сам.Заранее благодарен)
-
Это не проблема ioBroker или node.js. Это проблема системы.
Служба dns не запущена. Вот node и ругается.
Редактировать /etc/init/avahi-daemon.conf
enable-dbus=yes disable-publishing=no disable-user-service-publishing=no
Установить
sudo apt-get install libnss-mdns avahi-discover avahi-utils
Перезапустить
sudo /etc/init.d/avahi-daemon restart
Что видно?
sudo netstat -tulpen | grep avahi
udp 0 0 0.0.0.0:5353 0.0.0.0:* 104 4279 758/avahi-daemon: r udp 0 0 0.0.0.0:41339 0.0.0.0:* 104 4280 758/avahi-daemon: r
Что видно при
avahi-browse
Если есть имя системы (например raspbery) то должно работать:
ping raspberry
Почитай, как запустить и проверить avahi. `
Огромное Вам спасибо!!
Все взлетело!
Может Вы мне еще подскажите в какую сторону изучать дальше) Как прокинуть устройства в этот бридж и как с сири их сдружить?
может есть где статья какая/ Честно искал - не нашел/
Если кому нужно будет на armbian конфиг лежит тут /etc/avahi/avahi-daemon.conf
Интересно, что из того, что я описал, оказалось решающим? …
В Armbian из коробки не установлен avahi. Поэтому доустановил его. Потом поправил конфиг. Перезапустил. И все завелось
-
Вроде бы понял как это делать/ Поставил прошивку megad esp/ С mqtt настроить не получилось.Если знаете - не могли бы Вы уточнить почему?
Делал все следующим образом:
Примечательно то, что если не прописать Роль и имя в настройках mrgad адаптера - то после перезагрузки он присваивает им дефолтные значения(P0, State), которые потом приходится менять
Ps: Обнаружил что сири знает только слово Свет/ На слово лента она реагирует поиском ее в инете)))
И еще такой момент: Почему то в прошивке значения статусов контактов перепутаны/ и приходится говорить "Сири выключи свет" для того чтобы она его включила(((
–----------------------------------------------------------------
Получилось подружить homekit и mqtt)
Нужно только поставить тип "логическая переменная" в значении - тогда начинает работать)
И накокого инвертирования сигналов нет - говоришь "Выключи" и она выключает)
-
Работает шикарно!!!! Полчаса игрался)))
Единственный момент, которого я до конца не понял - не всегда значения соответствуют:
Например сири говорит что выключила, а на самом деле включила, и наоборот/
Лечится так: Пару раз меняешь значение переменной c true на false - и как-то все само собой лечится)