Статья

Подключаем Vera к HomeKit

Добавляя Веру (Vera) в HomeKit через бридж, ввиду своей необразованности, столкнулся с рядом детских проблем, которые с честью решил. Хочу поведать новичкам об этих проблемах, что бы у них появился шанс их избежать.

Итак, я использую такое оборудование:

Установка плагина Vera

Строго по статье накатил nod и HomeBridge на Raspberry pi. Обновил все плагины и установил дополнительно плагин для Веры (нашел в поиске по плагинам). На момент установки был выбор из трех, я установил HomeKit bridge for Vera v0.8.2.

После установки, в этой же вкладке «Плагины», нажимаем кнопку NPM. Нас переводят на страничку разработчика. Там читаем много букв вперемежку с кодом. Нам нужен кусок кода, который содержит ip Веры. Например, вот этот:

{ "platform": "Vera", "name": "Vera", "veraIP": "10.0.1.5", "includesensor": false, "ignorerooms": [20,21,22], "securitypoll": 2000, "includethermostat": false, "includeRGB": false, "garageLocks": [23], "ignoredevices":[24,25], "ignorescenes":[26,27], "houseModes": false }

Копируем этот кусок кода в буфер. Опять возвращаемся на страничку Веб интерфейса нашего Бриджа. Открываем вкладку «Конфигурация». Теперь нужно вставить скопированный ранее кусочек в конфиг нашего Бриджа. Здесь нужно быть внимательным и не разорвать синтаксис. Если боитесь напортачить – просто скопируйте весь конфиг в текстовый редактор – когда все накроется – сотрете неработающий конфиг и вставите туда старый, из текстового редактора. К слову, там есть кнопка Резервное копирование, которая делает то же самое.

Итак, вставляем код в месте, где завершается кусок кода про платформ конфиг и начинается кусок кода про Зигбии. Внимание к кавычкам (фигурным и квадратным) и запятым.

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

Далее, корректируем вставленный кусочек кода про Веру. Заменяем ip из примера на ваш ip Веры.

Сохраняем конфиг. Перезапускаем Бридж. Если он нормально загрузился – дальше можно не читать, но у меня он загрузился не нормально. 

Проблемы

Заменяем False на True в четырех местах.

Сохраняем конфиг. Перезапускаем Бридж. Если он нормально загрузился – дальше можно не читать, но у меня он загрузился не нормально. Поэтому заходим через SSH.

Я пользуюсь Маком. Если вы тоже – скачивайте в App Store бесплатную программку Termius. Регистрируетесь в ней через почту и запускаете.

Далее нужно подключиться к Малинке. Делаем это следующим образом:

В строке connect пишем ssh pi@ip_малины, нажимаем кнопку "Connect"

После этого пишем команду после строки pi@sprut:~ $ одно слово:

Homebridge

Нажимаем Enter.

У вас запускается Бридж. Сначала все ок, а потом все не ок – пишет про ошибки.

Нужно смотреть лог загрузки. В моем случае, при добавлении устройств из Веры, среди списка устройств с известными мне названиями было четыре устройства с одинаковыми названиями - Fibaro Dimmer 2. Вообще, одинаковых названий быть не должно. Допускается русские названия устройств, но одинаковые - нет. Но во-первых – у меня всего два диммера, а не четыре, а во-вторых, они названы иначе и в списке нормально пробросились. Получается, в Вере есть фантомные девайсы. Как их убирать из Веры я не знаю. Но проблема проброса я решил так:

В этом же логе есть номера всех датчиков девайсов. Я записал номера фантомных. В моем случае это 31,32,34,35.

Далее, опять обращаемся к Бриджу через Веб интерфейс – Конфигурация.

В моем случае фантомными были датчики (девайсы), но также могут быть фантомные или кривые сцены и комнаты. В зависимости от вашего случая, в конфиге прописываем игнор с номерами корявых девайсов/сцен/комнат.

Те позиции, которые работают нормально – удаляем из кода, как игнорируемые. Сохраняем конфиг, перезагружаемся – у меня все заработало.

Мой конфиг теперь выглядит вот так:

{ "bridge": { "name": "SPRUTHUB", "username": "0E:DD:6A:15:AB:38", "port": 51826, "pin": "316-38-903" }, "description": "My homebridge configuration", "platforms": [ { "name": "Config", "port": 80, "auth": "none", "theme": "blue-grey", "restart": "pm2 restart homebridge", "temp": "/sys/class/thermal/thermal_zone0/temp", "tempUnits": "c", "sudo": false, "log": { "method": "custom", "command": "pm2 logs homebridge --raw --out --lines 100" }, "platform": "config" }, { "platform": "Vera", "name": "Vera", "veraIP": "192.168.1.48", "includesensor": true, "securitypoll": 2000, "includethermostat": true, "includeRGB": true, "garageLocks": [ 23 ], "ignoredevices": [ 31, 32, 34, 35 ], "houseModes": true }, { "name": "ZigBee", "panId": 65535, "channel": 11, "permitJoinTimeout": 120, "routerPollingInterval": 60, "disableLed": true, "disablePingLog": true, "platform": "ZigBeePlatform" } ], "accessories": [ { "accessory": "MiHumidifier", "name": "Увлажнитель", "ip": "192.168.1.41", "token": "43e04f0da1f6c1cce94da82ccedc0f79", "showTemperatureDisable": false, "showTemperatureSensorName": "Температура в детской" } ] }

В HomeKit появились почти все устройства. Не появился FIBARO Flood Sensor, но появилась температура на нем, и не показывает значение УФ с датчика Aeotec Multisensor 6.

Возможно, даже с базовыми знаниями программирования, у пользователя не возникло бы тех трудностей, которые я с гордостью преодолевал, но Умный дом все настойчивее врывается в нашу жизнь, и близится время, когда домохозяйки, которые уже начали торговать на биржах, начнут накатывать homebridge на свои Малинки. 


В связи с тем, что интерфейс у Веры весьма тормознутый, то такое иногда случается, что в базе данных Веры есть дивайсы, а в веб-интерфейсе их нет. Сам ловил такой глюк, когда добавляешь устройство, оно добавилось на уровне Z-Wave, но что-то пошло не так и в интерфейсе не отразилось. Таким образом, оно сидит и в чипе, и в базе данных. Поэтому лучше такие "фантомные дивайсы" удалять. Есть http запрос, который может удалить устройство, если известен его номер http://ip_address:3480/data_request?id=device&action=delete&device=5 (здесь 5 - номер устройства). Если запросом не удаляются, то саппорт Веры весьма бодро помогает, в том числе и по таким вопросам.

когда сталкиваюсь с фантомными девайсами - запускаю приложение от миос


Там эти девайсы всегда отображаются


И удаляю

Еще если добавить хомебридж в хомкит запущенный  с командной строки, то он может быть потом не виден если запущен как сервис!

Вчера специально эксперементировал.

Добавляю(запущенные с командной строки) тушу запускаю как сервис (конфиг тотже ) и нет бриджа.

Удаляю (меняю мак адрес) запускаю ка4 сервиси добавляю.

Что-то видимо я не понимаю.


Скачал образ с уже установленным бриджом. Устанавливаю плагин для веры, вставляю в Platforms,  прописываю. ip веры, и ничего...вероятно я что-то еще должен сделать? подскажите


Вернуться назад

Устройства


Apple

Apple TV 4K

(23 отзыва)

Fibaro

Flood Sensor

(1 отзыв)

Aeotec

MultiSensor 6

(1 отзыв)

Texas Instruments

USB Stick CC2531

(14 отзывов)

Raspberry Pi

Raspberry Pi 3 Model B+

(22 отзыва)

Fibaro

Universal Dimmer 2

(4 отзыва)

Вернуться назад