Статья

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

Оглавление

Cтатья 1 (установка)
Cтатья 2 (базовая настройка)
Cтатья 3 (добавляем устройства)
Cтатья 4 (интеграция с HomeKit)
Статья 5 (автоматизации)Статья 6 (GUI)Статья 7 (Z-Wave)
Статья 8 (MQTT)Статья 9 (HTTPS, SSL)

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

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

Я буду использовать первый из этого списка (огромное спасибо пользователю @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. На этом пока все! Увидимся в следующих статьях! Жду вашу конструктивную критику в комментариях и нашем телеграм чате.


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

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

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


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

В последнем обновлении Home Assistant
0.83.2 добавили Fibaro 

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

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'

Есть ли решение?

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

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

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

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

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

Добрый день, вопрос: при попытке добавить устройство или протестировать сеть, при вызове любой функции пишет: не удалось вызвать службу .....  service not found. Что я сделал не так?

А есть ли опыт с этим же замком но по zigbee ???

Опыта с замком непосредственно версии zigbee нет. Когда я покупал Danalock V3, мне настойчиво советовали брать версию на z-wave, что я и сделал. Работает идеально. Но пишут, что можно и zigbee версию подключить через mqtt: https://www.zigbee2mqtt.io/devices/V3-BTZB.html">https://www.zigbee2mqtt.io/dev...

а как насчет двух z wave стиков на разных частотах?


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

Устройства


Danalock

Danalock V3 Smart Lock

(7 отзывов)

Z-WAVE.ME

RaZberry

(1 отзыв)

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