JetHome

Материал из pNp Wiki
Перейти к: навигация, поиск

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
nano /etc/systemd/system/homeassistant.service
[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
  • Включаем автозапуск и запускаем демона.
systemctl enable --now homeassistant

Обновление Home Assistant (HA)

  • Останавливаем демона
systemctl stop homeassistant
  • Входим под учёткой homeassistant и переходим в домашнию директорию
su -s /bin/bash homeassistant
cd /opt/homeassistant
  • Обновляем
source bin/activate
pip3 install --upgrade homeassistant

Выходим из-под учётки homeassistant

exit
  • Запускаем демона
systemctl start 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 dialout zigbee2mqtt 
  • Запускаем шелл под пользователем 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
nano  /etc/systemd/system/zigbee2mqtt.service
[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
  • Включаем автозапуск и запускаем демона.
 systemctl enable --now zigbee2mqtt

Обновление Zigbee2MQTT (Z2M)

  • Останавливаем демона
systemctl stop zigbee2mqtt
  • Входим под учёткой zigbee2mqtt и переходим в домашнею директорию
su -s /bin/bash zigbee2mqtt
cd /opt/zigbee2mqtt
  • Делаем резервную копию
cp -R data data-backup
  • Обновляем репозиторий
git checkout HEAD -- npm-shrinkwrap.json
git pull
  • Собираем
npm ci
  • Восстанавливаем данные
cp -R data-backup/* data
  • Удаляем бэкап
rm -R data-backup/
  • Выходим из-под учётки zigbee2mqtt
exit
  • Запускаем демона
systemctl start zigbee2mqtt