Продолжаем делать универсальный хаб для умного дома на основе 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.
Для этого нам понадобится:
- 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 и далее инструкция будет дана исходя из его использования. - Какое-нибудь устройство Z-wave, поддерживаемое OpenZwave (проще всего начать с FIBARO — можно сказать все устройства FIBARO поддерживаются OpenZwave). Здесь можно посмотреть на список поддерживаемых устройств. Для примера будем использовать «глазик от фибаро»: Motion Sensor
- Ну и конечно установленный Home Assistant с желанием немного посидеть за консолью и текстовым редактором 🙂
- Про наличие настроенного Raspberry я молчу.
Настройка UZB-стика
- Выключаем Raspberry
- Втыкаем стик в свободный порт
- Включаем Raspberry и дожидаемся включения
- Ищем порт, к которому подключен стик. Для этого вбиваем в консоль
$ 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. - Если в выдаче вышло несколько похожих портов как у меня, то значит у вас какой-то из USB портов занят еще чем-то, в таком случае пытаемся определить наш z-wave стик.
Для этого вбиваем по очереди подобную команду, меняя порт$ udevadm info /dev/ttyACM1
В выведенной информации вы должны найти упоминание Sigma Designs — именно эти ребята отвечают за технологию Z-wave
- В зависимости от того, где вы купили стик, вам необходимо понять на какой частоте работает стик и на какой частоте вы будете покупать ваши устройства. Если стик куплен в Росии, а устройства вы покупаете в Европе (все-таки выгоднее делать именно так), то скорее всего стик работает в RU частоте, а европейские устройства в EU. Изменить частоту устройств возможности нет, а вот изменить частоту работы стика — есть. Как это сделать описано в инструкции к стику по ссылке. Но проще всего использовать подготовленный скрипт с сайта и запустить его.
- Скачиваем скрипт
$ wget https://z-wave.me/download/changezwf.sh
- Запускаем скрипт
$ 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
- В первую очередь я советую для редактирования конфигурационных файлов Home Assistant воспользоваться каким-нибудь специализированным ПО (наиболее удачным считаю Visual Studio Code)
- После этого подсоединяемся к нашей малинке и находим там папку с конфигами (это папка .homeassistant, которая лежит в вашей «хомовой», в большинстве случаев это будет /home/pi/.homeassistant)
- Там находим основной конфигурационный файл configuration.yaml
- В этом файле добавляем (неважно куда, главное соблюдать пробелы)
zwave: usb_path: /dev/ttyACM1
, где usb_path является тем самым портом, который мы нашли в прошлой главе настройки
- Перезагружаем 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
Если вы это увидели, то поздравляю, двигаемся дальше к добавлению устройств.
Добавление устройств
- Если устройство было приобретено с рук, то первым делом сбрасываем его. Для этого найдите в инструкции к устройство как это сделать.
- После этого открываем Home Assistant, т.е. переходим по адресу http://yourip:8123
- Переходим в Настройка -> Z-wave
- На всякий случай открываем в терминале лог для того, чтобы убедиться, что всё идет как надо
$ sudo journalctl -f -u homeassistant@pi
- Вводим устройство в режим привязки (опять же смотрим в инструкцию)
- Сразу же после ввода в режим привязки нажимаем на кнопку «Add node» в интерфейсе Home Assistant. В этот момент в лог должно посыпаться масса сообщений о добавлении устройства.
- После этого можно перезайти на страницу Z-wave и найти его среди добавленных «нод».
- Иногда после добавления устройства отображаются некорректно, для этого советуем после проведения процесса добавления устройства перезагрузить Home Assistant. Команда дана выше.
- 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