Продолжаем делать универсальный хаб для умного дома на основе Home Assistant.

Часть 0. Почему Home Assistant?
Часть 1. Установка Home Assistant
Часть 2. Настройка Z-wave
Часть 3. Настройка Zigbee
Часть 4. Установка Node-RED
Часть 5. HomeKit в Home Assistant через Node-RED

Многие переходят на центры автоматизации типа Home Assistant, OpenHab и т.д именно для того, чтобы иметь возможность управлять Z-wave устройствами. Происходит это с помощью технологии OpenZwave.

Для этого нам понадобится:

  1. USB-стик или плата, позволяющая работать с Z-wave.
    Наиболее частые на нашей территории: UZB стик от Z-wave.me, Aeon Z-wave стик или RaZberry от тех же z-wave.me.
    Пару слов о выборе:
    — UZB stick — дешевый, компактный, использует USB, не занимает UART — поверьте он вам еще пригодится, изменяется под нужную частоту, не дает возможности пользоваться ПО и интерфейсом Zway
    — RaZberry — дорого, занимает весь ваш GPIO, но зато позволяет использовать Zway (ПО от z-wave.me), что облегчает работу с устройством
    — Aeon stick — дорого, не продается в РФ, мало информации, использует USB
    Исходя из вышесказанного выбор пал на UZB stick и далее инструкция будет дана исходя из его использования.
  2. Какое-нибудь устройство Z-wave, поддерживаемое OpenZwave (проще всего начать с FIBARO — можно сказать все устройства FIBARO поддерживаются OpenZwave). Здесь можно посмотреть на список поддерживаемых устройств. Для примера будем использовать «глазик от фибаро»: Motion Sensor
  3. Ну и конечно установленный Home Assistant с желанием немного посидеть за консолью и текстовым редактором 🙂
  4. Про наличие настроенного Raspberry я молчу.

Настройка UZB-стика

  1. Выключаем Raspberry
  2. Втыкаем стик в свободный порт
  3. Включаем Raspberry и дожидаемся включения
  4. Ищем порт, к которому подключен стик. Для этого вбиваем в консоль
    $ ls /dev/tty*

    Вы получите выдачу типа

    /dev/tty    /dev/tty11  /dev/tty15  /dev/tty19  /dev/tty22  /dev/tty26  /dev/tty3   /dev/tty33  /dev/tty37  /dev/tty40  /dev/tty44  /dev/tty48  /dev/tty51  /dev/tty55  /dev/tty59  /dev/tty62  /dev/tty9     /dev/ttyprintk
    /dev/tty0   /dev/tty12  /dev/tty16  /dev/tty2   /dev/tty23  /dev/tty27  /dev/tty30  /dev/tty34  /dev/tty38  /dev/tty41  /dev/tty45  /dev/tty49  /dev/tty52  /dev/tty56  /dev/tty6   /dev/tty63  /dev/ttyACM0  /dev/ttyS0
    /dev/tty1   /dev/tty13  /dev/tty17  /dev/tty20  /dev/tty24  /dev/tty28  /dev/tty31  /dev/tty35  /dev/tty39  /dev/tty42  /dev/tty46  /dev/tty5   /dev/tty53  /dev/tty57  /dev/tty60  /dev/tty7   /dev/ttyACM1
    /dev/tty10  /dev/tty14  /dev/tty18  /dev/tty21  /dev/tty25  /dev/tty29  /dev/tty32  /dev/tty36  /dev/tty4   /dev/tty43  /dev/tty47  /dev/tty50  /dev/tty54  /dev/tty58  /dev/tty61  /dev/tty8   /dev/ttyAMA0

    Вам необходимо среди выдачи найти что-то типа /dev/ttyACM0, /dev/ttyACM1 или /dev/ttyAMA0
    Если из подобных портов вы видите только один — бинго, запоминаем его и пропускаем шаг №5.

  5. Если в выдаче вышло несколько похожих портов как у меня, то значит у вас какой-то из USB портов занят еще чем-то, в таком случае пытаемся определить наш z-wave стик.
    Для этого вбиваем по очереди подобную команду, меняя порт

    $ udevadm info /dev/ttyACM1

    В выведенной информации вы должны найти упоминание Sigma Designs — именно эти ребята отвечают за технологию Z-wave

  6. В зависимости от того, где вы купили стик, вам необходимо понять на какой частоте работает стик и на какой частоте вы будете покупать ваши устройства. Если стик куплен в Росии, а устройства вы покупаете в Европе (все-таки выгоднее делать именно так), то скорее всего стик работает в RU частоте, а европейские устройства в EU. Изменить частоту устройств возможности нет, а вот изменить частоту работы стика — есть. Как это сделать описано в инструкции к стику по ссылке. Но проще всего использовать подготовленный скрипт с сайта и запустить его.
  7. Скачиваем скрипт
    $ wget https://z-wave.me/download/changezwf.sh
  8. Запускаем скрипт
    $ sudo ./changezwf.sh [COM Port] [chosen frequency]

    , где [COM Port] это строка из пунктов 4 и 5, а [chosen frequency] это выбранная частота (EU,RU и тд). Итого получится:

    $ sudo ./changezwf.sh /dev/ttyACM1 EU

    На этом настройка стика окончена. Переходим дальше. К настройке Home Assistant.

Настройка Home Assistant

  1. В первую очередь я советую для редактирования конфигурационных файлов Home Assistant воспользоваться каким-нибудь специализированным ПО (наиболее удачным считаю Visual Studio Code)
  2. После этого подсоединяемся к нашей малинке и находим там папку с конфигами (это папка .homeassistant, которая лежит в вашей «хомовой», в большинстве случаев это будет /home/pi/.homeassistant)
  3. Там находим основной конфигурационный файл configuration.yaml
  4. В этом файле добавляем (неважно куда, главное соблюдать пробелы)
    zwave:
      usb_path: /dev/ttyACM1
    

    , где usb_path является тем самым портом, который мы нашли в прошлой главе настройки

  5. Перезагружаем Home Assistant (если настройка производилась по нашей инструкции, то команда будет выглядеть так)
    $ sudo systemctl restart homeassistant@pi && sudo journalctl -f -u homeassistant@pi

    В логах вы должны найти строки, похожие на это

    Jan 07 16:07:19 raspberrypi hass[30555]: 2019-01-07 16:07:19 INFO (MainThread) [homeassistant.loader] Loaded zwave from homeassistant.components.zwave
    Jan 07 16:07:19 raspberrypi hass[30555]: 2019-01-07 16:07:19 INFO (MainThread) [homeassistant.setup] Setting up zwave

    Если вы это увидели, то поздравляю, двигаемся дальше к добавлению устройств.

Добавление устройств

  1. Если устройство было приобретено с рук, то первым делом сбрасываем его. Для этого найдите в инструкции к устройство как это сделать.
  2. После этого открываем Home Assistant, т.е. переходим по адресу http://yourip:8123
  3. Переходим в Настройка -> Z-wave
  4. На всякий случай открываем в терминале лог для того, чтобы убедиться, что всё идет как надо
    $ sudo journalctl -f -u homeassistant@pi
  5. Вводим устройство в режим привязки (опять же смотрим в инструкцию)
  6. Сразу же после ввода в режим привязки нажимаем на кнопку «Add node» в интерфейсе Home Assistant. В этот момент в лог должно посыпаться масса сообщений о добавлении устройства.
  7. После этого можно перезайти на страницу Z-wave и найти его среди добавленных «нод».
  8. Иногда после добавления устройства отображаются некорректно, для этого советуем после проведения процесса добавления устройства перезагрузить Home Assistant. Команда дана выше.
  9. Home Assistant удобен тем, что позволяет видеть практически все характеристики и функции устройств (а иногда даже больше, допустим у того же Motion Sensor больше 10 различных характеристик разбитыми на раздельные устройства), а также позволяет настроить параметры такие как чувствительность, длительность срабатывания и т.д.

На этом можно сказать, что вы добавили свое первое устройство и готовы к покорению Z-wave мира.
Продолжение следует…

Часть 0. Почему Home Assistant?
Часть 1. Установка Home Assistant
Часть 2. Настройка Z-wave
Часть 3. Настройка Zigbee
Часть 4. Установка Node-RED
Часть 5. HomeKit в Home Assistant через Node-RED

Author

Наш главный гайд-мастер. Инструкции и обзоры его конёк. Иногда перебарщивает с личным мнением.