JetHome
Материал из pNp Wiki
Версия от 17:36, 14 февраля 2021; Suser (обсуждение | вклад) (→Установка и настройка Zigbee2MQTT (Z2M))
Содержание
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