Удаленный ZigBee, добавление устройств в основной хаб

23 августа 2021, 07:05

В одной из предыдущих статей мы научились устанавливать Home Assistantсо всеми его необходимыми компонентами, на контроллеры JetHome. Позже я рассказал о том, как установить HomeBridge и ZigBee2MQTT

Теперь я решил добавить ума и своему гаражу, добавив в него Zigbee устройства. До этого у меня в гараже использовалась только одна ESP, с большим количеством сенсоров и реле.

Обдумав все, в голове созрел небольшой план. Установить контроллер JetHome H1 в гараж, для подключения датчика CO и брелков от Heiman, для управления реле и охраной. Гараж у меня находится неподалеку, но это абсолютно не имеет значения, общаться хабы все равно будут через интернет, посредством VPN туннеля. В качестве родительского контроллера в квартире, как вы уже догадались, я использовал JetHome D1. Итак мы получаем два и более контроллера, основной - со всем необходим софтом Home Assistant, MQTT брокер, ZigBee2MQTT... и дочерние, в моем случае - контроллер в гараже с Zigbee2MQTT.

А теперь давайте обо всем по порядку. 

Построение сети 

Первое, что необходимом сделать - это построить туннель между гаражом и квартирой. Так как основной роутер у меня дома микротик, проще всего реализовать туннель будет именно на микротиках. Роутер для гаража был выбран Mikrotik haP lite - дешевый и достаточно производительный, его функционала будет достаточно для всех моих потребностей. 

Как создать VPN туннель - я описывать не буду, в интернете на эту тему есть огромное количество статей. Все они плюс-минус одинаковые. Скажу лишь, что я использовал протокол связи SSPT для построения туннеля - это протокол именно микротовый, поэтому мой выбор пал именно на него. Но можно также использовать и любой другой, процесс построения при этом будет аналогичен. 

Также хочу обратить внимание, что для построения туннеля понадобится выделенный статический IP-адрес в любой из точек. 

Установка ZigBee2MQTT на контроллер JetHome 

Сеть построена, теперь давайте приступим к настройке самого контроллера для гаража. Устанавливаем чистую систему raspbian, подключаемся по SSH и устанавливаем Zigbee2MQTT. Процесс установки уже был описан в одной из моих предыдущих статей. Если вы ее не читали, опишу более подробно весь процесс тут.

Устанавливаем nodejs: 

#Добавляем репозиторий
sudo curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -

#Устанавливаем nodejs
sudo apt-get install -y nodejs git make g   gcc

# Проверяем как все установилось
node --version
npm --version

# Клонируем репозиторий Zigbee2MQTT
sudo git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt

# Для контроллера JetHome
sudo chown -R root:root /opt/zigbee2mqtt
# Для контроллера Raspberry pi
# sudo chown -R pi:pi /opt/zigbee2mqtt

# Установка зависимостей
cd /opt/zigbee2mqtt
npm ci --production

Настройка ZigBee2MQTT 

Перед запуском Zigbee2MQTT, необходимо отредактировать configuration.yamlфайл. Этот файл содержит конфигурацию, которая используется компонентом Zigbee2MQTT.

Открываем файл конфигурации и приводим к следующему виду. Для этого выполняем команду: 

nano /opt/zigbee2mqtt/data/configuration.yaml

Базовый конфиг для контроллера JetHome.

homeassistant: true
permit_join: false
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://ip адрес брокера:1883'
serial:
  port: /dev/ttyAML2
advanced:
  homeassistant_legacy_entity_attributes: false
  legacy_api: false
device_options:
  legacy: false
frontend:
  port: 8080
  host: 0.0.0.0
  auth_token: your-secret-token

где:

ip адрес брокера - это ip нашей основной машины с установленным MQTT брокером.

Добавляем в автозагрузку, для этого редактируем следующий файл: 

sudo nano /etc/systemd/system/zigbee2mqtt.service

Вставляем следующие строки:

[Unit]
Description=zigbee2mqtt
After=network.target

[Service]
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/zigbee2mqtt
StandardOutput=inherit
# Or use StandardOutput=null if you don't want Zigbee2MQTT messages filling syslog, for more options see systemd.exec(5)
StandardError=inherit
Restart=always
User=pi

[Install]
WantedBy=multi-user.target

Сохраняем - "Ctrl O", закрываем - "Ctrl X". Запускаем Zigbee2MQTT. При желании можно посмотреть статус. 

# Старт Zigbee2MQTT
sudo systemctl start zigbee2mqtt

# Статус
systemctl status zigbee2mqtt.service

Все полезности по обновлению можно также посмотреть в моей предыдущей статье

Настройка 

В принципе, все настройки мы произвели при помощи конфига, но если вам необходимо внести какие-либо правки, это не обязательно делать через консоль. Открываем http://ip_адрес_контроллера:8080 и попадаем в web-интерфейс нашего контроллера, в Меню -> Настройки можем внести все необходимые изменения.

1600x_image.png?1629642443

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

Процесс добавления ZigBee устройства аналогичен как основному хабу, так и тому, что мы только что настроили. Поэтому заострять свое внимание не вижу смысла. Если вы cделали все правильно, после сопряжения устройства с дочерним контроллером, оно автоматически появиться в Настройки -> Интеграции -> MQTT нашего основного хаба.

1600x_image.png?1629642145

Итог

В данном случае мы получили готовый кейс, когда Home Assistant, MQTT брокер установлены в квартире, а клиентский Zigbee2MQTT - в гараже. Все устройства, добавленные на любой из контроллеров, будут автоматически добавляться в единую систему. 

Данный метод отлично подойдет, если вы хотите автоматизировать удаленное строение, например, гараж, дачу, дом родителей и др. При этом, все устройства будут контролироваться на одном хабе. 

1600x_image.png?1600714040

Где купить?

Данный продукт был предоставлен на обзор нашими друзьями - магазином https://JHome.ru. Для всех читателей портала Sprut.ai в магазине действует промокод SPRUT, на скидку 3%. Напоминаю, что полный перечень партнёрских магазинов со скидками можно найти на этой странице.


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @SprutAI

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Владимир Федоришин (Ua_aid)

    Позанудсивую немного)

    Протокол туннелирования трафика "SSTP" и придумали его Microsoft 

  2. (powerstop)
    (powerstop) месяц назад
    Вопрос: Можно ли 2 mqtt сервера на одном Home assistant? (не использую вещей типа SLS шлюзов.) Например Дом+Дача.
К списку статей

Устройства в материале

Датчик окиси углерода (CO) Heiman

Производитель: Heiman
Заказать на:

Карманный четырехклавишный пульт Heiman

Производитель: Heiman
Заказать на:

JetHome JetHub H1

Производитель: JetHome
Заказать на:

JetHome JetHub D1

Производитель: JetHome
Заказать на:

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

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

LifeControl

+7 495 240-81-01
Промокод:
sprut15
Размер скидки:
15%
На весь ассортимент Lifecontrol

Тематические чаты

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

17 декабря 2019, 17:49
Универсальный привод для автоматического удаленного открытия окон с простой интеграцией в умные дома.
20 октября 2018, 22:57
Теоретические основы протокола MQTT и описание того, как он работает и для чего используется
30 августа 2019, 07:28
Несколько нетривиальных способов использования датчика открытия окон/дверей от Xiaomi/Aqara.
24 августа 2018, 12:18
Пошаговая установка HomeAssistant
15 ноября 2018, 09:42
Способы автоматизации механических ворот
27 августа 2018, 10:14
Интегрируем ХА в HomeKit
03 октября 2018, 22:03
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.
18 февраля 2020, 17:06
В данной статье описывается сборка слаботочного эл. щита на базе Wiren Board 6, а так же силового щита для небольшой квартиры.
29 октября 2019, 07:59
Умный домофон на базе nodeMCU с прошивкой ESPHome.
01 ноября 2018, 09:27
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации