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

10 января 2019, 18:53

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

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

  • Vera PlusRaspberry pi 3
  • Sprut-стик
  • Fibaro Dimmer 2 (2 штуки)
  • FIBARO Flood SensorAeotec Multisensor 6 (датчик движения, температуры и УФ, освещённости и влажности)
  • Fibaro door/window sensor (с датчиком температуры)
  • Apple TV 4

Установка плагина 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 на свои Малинки. 


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

  1. Сергей Пушкин (SergeyP)
    Сергей Пушкин (SergeyP) 6 месяцев назад

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

  2. Андрей Костенко (cadet)
    Андрей Костенко (cadet) отредактировано 6 месяцев назад

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

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

    И удаляю

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

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

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

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

К списку статей

Скидки для сообщества

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

Похожие статьи

15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
09 ноября 2018, 20:54
Кейс создания умного дома без каких либо прокладок в виде Raspberry pi
15 октября 2018, 09:05
Прошивка для Sonoff c нативным HomeKit
15 ноября 2018, 09:42
Способы автоматизации механических ворот
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
01 октября 2018, 07:43
Нативный HomeKit на ESP8266
15 июня 2018, 12:13
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
02 октября 2018, 18:41
Установка SDK для компиляции прошивок под HomeKit
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.