Вперед, только вперед...

HomeAssistant + OrangePi One + GS SMH-ZW-I1

Add HACS

wget -O - https://get.hacs.xyz | bash -

из каталога конфигурации HA

 

ZigBee модуль прошит в координатор прошивкой Z-Stack_Home_1.2.

Устройство GS SMH-ZW-I1 включает в себя:
- ZigBee на CC2531
- WiFi на RTL8723BU (802.11 b/g/n 2.4 GHz)
- Bluetooth на RTL8723BU (2.1/3.0/4.0, BLE)

 

Источник: тут

В рамках данного блога я уже рассказывал про установку Home Assistant во FreeBSD.

Поехали

Первым делом установим все, что нам нужно:

sudo apt update sudo apt install python3-dev python3-pip python3-venv libffi-dev libssl-dev

Создадим пользователя homeassistant и одноименную группу:

sudo adduser --system homeassistant && addgroup homeassistant sudo adduser homeassistant dialout

Создадим директорию для установки и назначим ей права:

sudo mkdir /opt/homeassistant sudo chown homeassistant:homeassistant /opt/homeassistant

Авторизуемся под пользователем homeassistant для установки hass от его имени:

sudo su -s /bin/bash homeassistant

Устанавливаем виртуальное окружение Python:

cd /opt/homeassistant python3 -m venv /opt/homeassistant source bin/activate

Устанавливаем Home Assistant:

python3 -m pip install wheel pip3 install homeassistant

Создадим директорию для конфигов:

mkdir /opt/homeassistant/config

Под реальным пользователем создаем скрипт автозапуска :

sudo vi /etc/systemd/system/hass.service [Unit] Description=Home Assistant After=network.target [Service] Type=simple User=homeassistant ExecStart=/opt/homeassistant/bin/hass -c /opt/homeassistant/config --log-file /opt/homeassistant/hass.log [Install] WantedBy=multi-user.target

Передергиваем systemctl, включаем Home Assistant в автозагрузку:

sudo systemctl --system daemon-reload sudo systemctl enable hass && systemctl start hass

Проверим:

systemctl status hass ● hass.service - Home Assistant Loaded: loaded (/etc/systemd/system/hass.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2020-07-15 17:16:09 MSK; 35min ago Main PID: 3792120 (hass) Tasks: 18 (limit: 38326) Memory: 92.7M CGroup: /system.slice/hass.service └─3792120 /opt/homeassistant/bin/python3 /opt/homeassistant/bin/hass -c /opt/homeassistant/config --log-file /opt/homeassistant/hass.log

netstat -plant | grep 8123 tcp 0 0 0.0.0.0:8123 0.0.0.0:* LISTEN 3792120/python3

 

Из проверки видим, что сервис спешно запустился и ожидает нас на стандартном для hass порту — 8123.
Заходим браузером по адресу http://myipaddress:8123, заводим пользователя и пароль.

 

 

Источник - тут

Установка Zigbee2MQTT в Armbian

При работе с Home Assistant supervised или HassOS вместо описанного ниже способа установки желательно использовать аддон hassio-zigbee2mqtt

Данный вариант установки предназначен для установки сервиса zigbee2mqtt на компьютере или на контроллерах JetHub H1/D1.

Для работы zigbee2mqtt необходимо предварительно установить MQTT брокер, например mosquitto:

sudo apt install -y mosquitto mosquitto-clients

При установке MQTT брокер будет настроен на автоматический запуск и запущен. Проверить статус службы можно командой:

sudo systemctl status mosquitto.service

Установить дополнительные пакеты, необходимые для сборки zigbee2mqtt:

sudo apt-get install -y nodejs npm git make gcc g++

Скачать исходные тексты zigbee2mqtt:

sudo git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt sudo chown -R $USER:$USER /opt/zigbee2mqtt

Сборка:

cd /opt/zigbee2mqtt npm ci

Внести изменения в файл конфигурации:

nano /opt/zigbee2mqtt/data/configuration.yaml

Примерное содержимое файла конфигурации:

# Home Assistant integration (MQTT discovery) homeassistant: true # Allow new devices to join permit_join: false # MQTT settings mqtt: # MQTT base topic for Zigbee2MQTT MQTT messages base_topic: zigbee2mqtt # MQTT server URL server: 'mqtt://localhost' # Serial settings serial: # Location of CC2538 Zigbee module for JetHub H1 port: /dev/ttyAML2 # Optional: advanced settings advanced: # Optional: ZigBee channel (Note: changing requires re-pairing of all devices) channel: 15 # Optional: ZigBee pan ID pan_id: 0x1a62 # Optional: network encryption key, will improve security (Note: changing requires repairing of all devices) network_key: [1, 3, 5, 7, 9, 11, 13, 15, 0, 2, 4, 6, 8, 10, 12, 13] frontend: # Optional, default 8080 port: 8080 # Optional, default 0.0.0.0 host: 0.0.0.0

В примере приведено название порта для контроллера JetHub H1 (/dev/ttyAML2) для других контроллеров или USB-стиков название порта может быть другим (см. документацию к контроллеру).

Преведены значения pan_id и network_key, устанавливаемые по-умолчанию. Рекомендутся задать другие значения для этих параметров.

Запуск zigbee2mqtt:

cd /opt/zigbee2mqtt npm start

Для автоматического запуска zigbee2mqtt при запуске системы необходимо создать файл:

sudo 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=<USER> [Install] WantedBy=multi-user.target

Активировать и запустить сервис zigbee2mqtt:

sudo systemctl enable zigbee2mqtt.service sudo systemctl start zigbee2mqtt.service

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

sudo journalctl -u zigbee2mqtt.service -f

В файл конфигурации Home Assistant необходимо включить интеграцию MQTT. Это можно сделать двумя способами:

1. (Рекомендуется) В web-интерфейсе Home Assistant выбрать меню «Интеграции», нажать кнопку «Добавить» и выбрать из списка интеграцию «MQTT». На запрос параметров интеграции в строке «Адрес» указать «127.0.0.1».

2. В файл конфигурации Home Assistant добавить следующие параметры:

mqtt: discovery: true broker: localhost birth_message: topic: 'hass/status' payload: 'online' will_message: topic: 'hass/status' payload: 'offline'

Возможные проблемы

Отсутствуют права доступа к последовательному порту

Если во время запуска появляется ошибка:

Error: Error while opening serialport 'Error: Error: Permission denied, cannot open /dev/ttyAML2'

Необходимо включить пользователя, под которым производится запуск Zigbee2MQTT в группу dialout:

sudo gpasswd --add ${USER} dialout

После чего выйти из системы и заново зайти в нее под данным пользователем.

<< Вернуться на предыдущую страницу