JetHome — различия между версиями

Материал из pNp Wiki
Перейти к: навигация, поиск
(Установка и настройка Home Assistant (HA))
(Установка и настройка Zigbee2MQTT (Z2M))
Строка 59: Строка 59:
 
   npm ci --production
 
   npm ci --production
 
* Правим конфиг Z2M
 
* Правим конфиг Z2M
  nano /opt/zigbee2mqtt/data/configuration.yaml
+
nano /opt/zigbee2mqtt/data/configuration.yaml
  
  # Home Assistant integration (MQTT discovery)
+
# Home Assistant integration (MQTT discovery)
  homeassistant: true  
+
homeassistant: true  
 +
 +
# allow new devices to join
 +
permit_join: true
 +
 +
# MQTT settings
 +
mqtt:
 +
  # MQTT base topic for zigbee2mqtt MQTT messages
 +
  base_topic: zigbee2mqtt
 +
  # MQTT server URL
 +
  server: 'mqtt://localhost'
 +
  # MQTT server authentication, uncomment if required:
 +
  # user: my_user
 +
  # password: my_password
 +
 +
# Serial settings
 +
serial:
 +
  # Location of CC2531 USB sniffer
 +
  port: /dev/ttyAML2
  
  # allow new devices to join
+
advanced:
  permit_join: true
+
  network_key: GENERATE
 
 
  # MQTT settings
 
  mqtt:
 
    # MQTT base topic for zigbee2mqtt MQTT messages
 
    base_topic: zigbee2mqtt
 
    # MQTT server URL
 
    server: 'mqtt://localhost'
 
    # MQTT server authentication, uncomment if required:
 
    # user: my_user
 
    # password: my_password
 
 
 
  # Serial settings
 
  serial:
 
    # Location of CC2531 USB sniffer
 
    port: /dev/ttyAML2
 
 
 
  advanced:
 
    network_key: GENERATE
 
  
 
* запускаем в консоли (ctrl+c выход)
 
* запускаем в консоли (ctrl+c выход)
Строка 103: Строка 103:
 
    
 
    
 
   [Install]
 
   [Install]
   WantedBy=multi-user.target
+
   WantedBy=multi-user.target'> /etc/systemd/system/zigbee2mqtt.service
  
 
* Включаем автозапуск и запускаем демона.
 
* Включаем автозапуск и запускаем демона.
 
   systemctl enable --now zigbee2mqtt
 
   systemctl enable --now zigbee2mqtt

Версия 17:35, 14 февраля 2021

Cмена hostname

 hostnamectl set-hostname ha.ipnp.su

Установка и настройка Mosquitto

  • Подключаем ppa репозиторий
 apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
  • Устанавливаем mosquitto
 apt update
 apt install mosquitto mosquitto-clients
  • Включаем автозапуск и запускаем демона
 systemctl enable --now mosquitto

Установка и настройка Home Assistant (HA)

  • Устанавливаем пакеты требуемые для HA
 apt -y  install python3-dev python3-pip python3-venv libffi-dev
  • Создаём пользователя от которо будет запускаться HA
adduser --group --system --home /opt/homeassistant homeassistant
  • Добавляем его в группу dialout для возможности работы с RS-485 или zigbee
usermod -a -G dialout homeassistant 
  • Производим установку
 su -s /bin/bash homeassistant
 cd /opt/homeassistant
 python3 -m venv .
 source bin/activate
 pip3 install wheel
 pip3 install homeassistant 
  • Запускаем из консоли (ctrl + c для закрытия)
 hass
  • Создаём unit файл для автозапуcка HA
echo '[Unit]
Description=Home Assistant
After=network-online.target
 
[Service]
Type=simple
User=homeassistant
ExecStart=/opt/homeassistant/bin/hass -c "/opt/homeassistant/.homeassistant"

[Install]
WantedBy=multi-user.target' > /usr/lib/systemd/system/homeassistant.service
  • Включаем автозапуск и запускаем демона.
systemctl enable --now homeassistant

Установка и настройка Zigbee2MQTT (Z2M)

  • Устанавливаем пакеты требуемые для Z2M
apt install -y nodejs npm git make g++ gcc
  • Создаём пользователя от которого будет запускаться Z2M
adduser --group --system --home /opt/zigbee2mqtt zigbee2mqtt
  • Добавляем его в группу dialout для возможности работы с zigbee
usermod -a -G zigbee2mqtt dialout
  • Запускаем шелл под пользователем zigbee2mqtt и переходим в домашнию дерикторию
su -s /bin/bash zigbee2mqtt
cd /opt/zigbee2mqtt
  • Клонируем репозиоторий zigbee2mqtt в /opt/zigbee2mqtt
git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
  • Устанавоиваем зависимости nodejs
 npm ci --production
  • Правим конфиг Z2M
nano /opt/zigbee2mqtt/data/configuration.yaml
# Home Assistant integration (MQTT discovery)
homeassistant: true 

# allow new devices to join
permit_join: true

# MQTT settings
mqtt:
  # MQTT base topic for zigbee2mqtt MQTT messages
  base_topic: zigbee2mqtt
  # MQTT server URL
  server: 'mqtt://localhost'
  # MQTT server authentication, uncomment if required:
  # user: my_user
  # password: my_password

# Serial settings
serial:
  # Location of CC2531 USB sniffer
  port: /dev/ttyAML2
advanced:
  network_key: GENERATE
  • запускаем в консоли (ctrl+c выход)
 npm start
  • Создаём unit файл для автозапуcка HA
 echo '[Unit]
 Description=zigbee2mqtt
 After=network.target
 
 [Service]
 ExecStart=/usr/bin/npm start
 WorkingDirectory=/opt/zigbee2mqtt
 StandardOutput=inherit
 StandardError=inherit
 Restart=always
 User=zigbee2mqtt
 
 [Install]
 WantedBy=multi-user.target'> /etc/systemd/system/zigbee2mqtt.service
  • Включаем автозапуск и запускаем демона.
 systemctl enable --now zigbee2mqtt