JetHome — различия между версиями
Материал из pNp Wiki
Suser (обсуждение | вклад) (→Установка и настрройка Mosquitto) |
Suser (обсуждение | вклад) (→Установка и настройка Zigbee2MQTT (Z2M)) |
||
(не показано 12 промежуточных версий этого же участника) | |||
Строка 17: | Строка 17: | ||
adduser --group --system --home /opt/homeassistant homeassistant | adduser --group --system --home /opt/homeassistant homeassistant | ||
* Добавляем его в группу dialout для возможности работы с RS-485 или zigbee | * Добавляем его в группу dialout для возможности работы с RS-485 или zigbee | ||
− | usermod -a -G homeassistant | + | 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 | * Создаём unit файл для автозапуcка HA | ||
− | + | ||
+ | nano /etc/systemd/system/homeassistant.service | ||
+ | |||
+ | [Unit] | ||
Description=Home Assistant | Description=Home Assistant | ||
After=network-online.target | After=network-online.target | ||
− | + | ||
[Service] | [Service] | ||
Type=simple | Type=simple | ||
User=homeassistant | User=homeassistant | ||
ExecStart=/opt/homeassistant/bin/hass -c "/opt/homeassistant/.homeassistant" | ExecStart=/opt/homeassistant/bin/hass -c "/opt/homeassistant/.homeassistant" | ||
− | + | ||
[Install] | [Install] | ||
− | WantedBy=multi-user.target | + | WantedBy=multi-user.target |
* Включаем автозапуск и запускаем демона. | * Включаем автозапуск и запускаем демона. | ||
systemctl enable --now homeassistant | 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) === | === Установка и настройка Zigbee2MQTT (Z2M) === | ||
Строка 41: | Строка 71: | ||
adduser --group --system --home /opt/zigbee2mqtt zigbee2mqtt | adduser --group --system --home /opt/zigbee2mqtt zigbee2mqtt | ||
* Добавляем его в группу dialout для возможности работы с zigbee | * Добавляем его в группу dialout для возможности работы с zigbee | ||
− | usermod -a -G zigbee2mqtt | + | usermod -a -G dialout zigbee2mqtt |
− | * Запускаем шелл под пользователем zigbee2mqtt и переходим в | + | * Запускаем шелл под пользователем zigbee2mqtt и переходим в домашнею директорию |
su -s /bin/bash zigbee2mqtt | su -s /bin/bash zigbee2mqtt | ||
cd /opt/zigbee2mqtt | cd /opt/zigbee2mqtt | ||
* Клонируем репозиоторий zigbee2mqtt в /opt/zigbee2mqtt | * Клонируем репозиоторий zigbee2mqtt в /opt/zigbee2mqtt | ||
git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt | git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt | ||
− | * | + | * Устанавливаем зависимости nodejs |
npm ci --production | npm ci --production | ||
* Правим конфиг Z2M | * Правим конфиг 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 выход) | * запускаем в консоли (ctrl+c выход) | ||
Строка 80: | Строка 110: | ||
* Создаём unit файл для автозапуcка HA | * Создаём 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 | 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 |
Текущая версия на 11:02, 13 марта 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
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