Оглавление
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 для работы со стиками и платами, это хорошо для нас тем, что не нужно покупать лицензию на собственное ПО для стика, но накладывает ограничения на список поддерживаемого оборудования. Полный список работающих стиков/плат сейчас выглядит так:
- 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 устройств:
- Ставим это приложение
- Открываем эту ссылку в сафари
- После открытия ссылки и скачивания файла выбираем открыть в программе "nRF Toolbox"
- Вытаскиваем из замка любую батарейку, зажимаем скрепкой кнопку на замке, вставляем батарейку и ждем пока замок замигает фиолетовым
- В приложении nRF Toolbox нажимаем кнопку "Select Device" и выбираем в найденных устройство "dfuDanaDevice"
- Ждем пока не завершится процесс обновления
- Сбрасываем настройки замка 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
Вот эта команда:
Выдает такие ошибки: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'
Есть ли решение?
Скорее всего, у тебя малина с другой версией питона, выполни команду:
В выводе будет текущая версия python, у меня на моей малине стоит python3.5 и в терминале я выполняю команду:
Еще можно собрать python3.6 из исходников, но это уже совсем другая история ...
А есть ли опыт с этим же замком но по zigbee ???
Опыта с замком непосредственно версии zigbee нет. Когда я покупал Danalock V3, мне настойчиво советовали брать версию на z-wave, что я и сделал. Работает идеально. Но пишут, что можно и zigbee версию подключить через mqtt: https://www.zigbee2mqtt.io/devices/V3-BTZB.html">https://www.zigbee2mqtt.io/dev...
а как насчет двух z wave стиков на разных частотах?