Home Assistant, статья 7 (Z-Wave)

1 нояб. 2018 г.

Железная часть

Home Assistant (далее HA) использует пакет open-zwave для работы со стиками и платами, это хорошо для нас тем, что не нужно покупать лицензию на собственное ПО для стика, но накладывает ограничения на список поддерживаемого оборудования. Полный список работающих стиков/плат сейчас выглядит так:

  • Aeotec Z-Stick Series 5
  • Everspring USB stick - Gen 5
  • Sigma Designs UZB stick
  • Vision USB stick - Gen5
  • Zooz Z-Wave Plus S2 stick ZST10
  • ZWave.me Razberry Board
  • ZWave.me UZB1 stick
Я буду использовать первый из этого списка (огромное спасибо пользователю @Burzui из нашего телеграмм чата за эту возможность). Для начала нам надо найти путь до нашего устройства, как это лучше сделать - подключаемся к малине по ssh и выполняем следующую команду:

ls -l /dev/

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

Программная часть

Для установки системы Open-zwave необходимо на малину поставить несколько пакетов. Подключаемся к малине по ssh и делаем следующее:

sudo apt-get install libudev-dev libpython3.6-dev python3.6-dev

После этого открываем конфиг HA любым удобным для вас способом, об одном из самых удобных я рассказывал тут. Дописываем в конец файла следующие строки:

zwave:
  usb_path: /dev/ttyUSB0

где во второй строчке /dev/ttyUSB0 это путь до вашего стика, в вашем случае он будет следующим: /dev/ваше_устройство_из_пункта_выше. Далее сохраняем конфиг, проверяем его на правильность и перезапускаем HA. Если вы все сделали правильно в веб морде в настройках вы увидите новый пункт:

Подготовка замка

Теперь разберемся как добавлять новые устройства z-wave на примере замка Danalock V3. Для начала у замка надо обновить ПО, что бы избежать всякого рода проблем с добавлением, но сделать это надо не через официальное приложение, а через режим DFU. Как это сделать можно почитать на официальном сайте тут, я вам в вкратце расскажу как это сделать. Инструкция будет актуальна для iOS устройств:

  1. Ставим это приложение
  2. Открываем эту ссылку в сафари
  3. После открытия ссылки и скачивания файла выбираем открыть в программе "nRF Toolbox"
  4. Вытаскиваем из замка любую батарейку, зажимаем скрепкой кнопку на замке, вставляем батарейку и ждем пока замок замигает фиолетовым
  5. В приложении nRF Toolbox нажимаем кнопку "Select Device" и выбираем в найденных устройство "dfuDanaDevice"
  6. Ждем пока не завершится процесс обновления
  7. Сбрасываем настройки замка 10 кратным нажатием скрепки на кнопку.
Все, можно приступать к добавлению Danalock в наш HA

Еще немного магии

Так как замок у нас по сути устройство защищенное, просто так его добавить не получится, для своей сети z-wave надо добавить так называемый ключ. Он будет служить неким паролем как в сетях WiFi. Подключаемся к нашей малине по ssh еще раз и вводим следующую команду: 

cat /dev/urandom | tr -dc '0-9A-F' | fold -w 32 | head -n 1 | sed -e 's/\(..\)/0x\1, /g' -e 's/, $//'

Тем самым мы сгенерируем себе ключ для z-wave сети. Прописать его необходимо вот тут в конфиге HA:

zwave:
  usb_path: /dev/ttyUSB0
  network_key: "0xE2, 0x0C, 0x60, 0x62, 0xCE, 0x0A, 0x88, 0x7D, 0x37, 0xE8, 0x4A, 0x34, 0xB4, 0x78, 0x8E, 0x4B"

Огромная просьба, не копируйте этот ключ! Используйте тот, который вы получили сами! Этот ключ я написал для примера. Сохраняем конфигурированиям еще раз, проверяем на правильность и перезагружаем HA

Добавляем замок

Теперь, когда все подготовительные действия закончены приступим к добавлению замка. Подносим замок на расстояние не более метра к стику z-wave, в HA заходим в настройках в новый пункт Z-Wave:

Жмем там кнопку Add node secure:

И жмем скрепкой кнопку на самом замке один раз. После этого необходимо подождать 5-10 минут, что бы замок и HA установили связь и обменялись необходимыми данными. Если вы хотите посмотреть процесс соединения более подробно, можно подключиться к малине по ssh и ввести следующую команду:

tail -f /home/homeassistant/.homeassistant/OZW_Log.txt

она будет построчно выводить вам логи open-zwave. Для прерывания необходимо нажать ctrl c. Спустя 5-10 минут можно проверить, что все получилось, зайдя в раздел "состояния" в инструментах разработчика в веб морде HA. Напоминаю это вторая слева иконка. Мотаем список в самый низ - должно появиться такое устройство со следующим статусом:

А чуть выше будет виден и сам наш замок, которым можно управлять:

Все! После этих манипуляций можно открыть официальное приложение замка на телефоне и откалибровать его состояния открытия и закрытия и управлять им через HA для вас не составит никакого труда! Я вывел его например в Ловеласе в виджет безопасности:

- type: glance
  title: Безопасность
  entities:
    - binary_sensor.door_window_sensor_158d0001a9c200
    - lock.polycontrol_danalock_v3_btze_locked_2

Другие девайсы с z-wave добавляются ровно так же, только надо нажимать кнопку add node вместо add node secure. На этом пока все! Увидимся в следующих статьях! Жду вашу конструктивную критику в комментариях и нашем телеграм чате.


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

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

  1. Алексей Новосельцев (novo)
    Алексей Новосельцев (novo) 6 месяцев назад

    Спасибо за статью! 👍 Читаешь твои статьи и это оказывается так просто организовать УД в любой квартире или доме, ограничивается только фантазией.

    Ещё бы ZigBee спрутстик подключить к Home Assistant, чтобы избавиться от МиХаба и оставить его как ночник или как беспроводной звонок ;)

  2. Denis Peregudov (riddlerden)
    Denis Peregudov (riddlerden) отредактировано 6 месяцев назад

    Для меня было и есть большее разочарование, что HA не поддреживает интеграцию с контроллерами Fibaro, так как у меня весь Z-Wave базируется на нем... Есть только поддержка контроллеров Vera и Wink (это кстате можно добавить в статью, как альтернатива Z-Wave стикам и платам для тех, у кого как раз, возможно, уже есть эти контроллеры)

    Статья отличная.

  3. Григорий Абрамов (grishmanCH)

    Вот эта команда:

    sudo apt-get install libudev-dev libpython3.6-dev python3.6-dev
    Выдает такие ошибки:

    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package libpython3.6-dev
    E: Couldn't find any package by glob 'libpython3.6-dev'
    E: Couldn't find any package by regex 'libpython3.6-dev'
    E: Unable to locate package python3.6-dev
    E: Couldn't find any package by glob 'python3.6-dev'
    E: Couldn't find any package by regex 'python3.6-dev'

    Есть ли решение?
    • Антон Смирнов (NoneCat)
      Антон Смирнов (NoneCat) 3 месяца назад

      Скорее всего, у тебя малина с другой версией питона, выполни команду:

      dpkg -l | grep python3.[0-9]

      В выводе будет текущая версия python, у меня на моей малине стоит python3.5 и в терминале я выполняю команду:

      sudo apt-get install libudev-dev libpython3.5-dev python3.5-dev

      Еще можно собрать python3.6 из исходников, но это уже совсем другая история ...

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

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

Vesternet

Промокод:
Sprut
Размер скидки:
5%
Всё Z-WAVE, кроме контроллеров

z-neco.com

+7 905 830-02-94
Промокод:
sprutai
Размер скидки:
22%

Z-Wave.ru

+7 495 204-27-80
Промокод:
Sprutai
Размер скидки:
15%
Указать в комментариях к заказу

УЮТНЫЙ ДОМ

+7 495 797-21-74
Промокод:
SPRUT
Размер скидки:
5%

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

15 нояб. 2018 г.
Способы автоматизации механических ворот
15 июн. 2018 г.
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
27 авг. 2018 г.
Интегрируем ХА в HomeKit
24 авг. 2018 г.
Пошаговая установка HomeAssistant
1 нояб. 2018 г.
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
25 нояб. 2018 г.
Умное зеркало добавляем модули Airplay и Google Calendar
3 окт. 2018 г.
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.
4 апр. 2019 г.
Расскажу о том за ~1 час перевезти УД с 2мя USB стиками с Raspberry PI на Synology NAS.
20 окт. 2018 г.
Теоретические основы протокола MQTT и описание того, как он работает и для чего используется
24 авг. 2018 г.
Краткий экскурс в настройку Home Assistant