udvnl

 
<<< Back

Zigbee2mqtt 2025 (2.0) небольшое описание по установке

Небольшое описание и заметки по установке zigbee2mqtt 2.0 на свежеустановленную систему на Rapberry Pi 3B, на 2025-01-24.
Возможно будет несколько дополняться.

Обновляем операционную систему (RPOS Debian 12 lite):


sudo apt update && sudo apt full-upgrade -y && sudo reboot

Устанавливаем MajorDoMo согласно скрипту (пока без установки zigbee2mqtt).
Страница скрипта установки MajorDoMo
Вместе с MajorDoMo устанавливается и MQTT брокер Mosquitto (настраивать его в последующем нет необходимости, но он или другой брокер необходимы для работы zigbee2mqtt).
Переходим к установке zigbee2mqtt.

Установка Zigbee2mqtt

Стик CC2531 установлен в USB порт и определяется на порту как TTY0

ls -l /dev/serial/by-id
total 0
lrwxrwxrwx 1 root root 13 Jan 24 09:29 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B001CCC3E3E-if00 -> ../../ttyACM0

Установка по шагам с инструкции сайта разработчиков z2m
zigbee2mqtt.io
Все действия, если не указан sudo делал от пользователя pi, начинаю делать из домашней директории /home/pi

1) Установка node, node.js и зависимостей

sudo curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs git make g++ gcc libsystemd-dev

1.2 Установка pnpm (в доке указано от пользователя pi) – не сразу не получилось, установка от рута – не совсем правильный вариант, потом возможны проблемы.

npm install -g pnpm

Вывыливается куча ошибок (пример вывода):

npm install -g pnpm
npm error code EACCES
npm error syscall mkdir
npm error path /usr/lib/node_modules/pnpm
npm error errno -13
npm error Error: EACCES: permission denied, mkdir /usr/lib/node_modules/pnpm

npm error A complete log of this run can be found in: /home/pi/.npm/_logs/2025-01-24T06_39_18_455Z-debug-0.log

Исправление: пытаемся установить, чтоб не было ошибок и запуск корректно происходил именно от пользователя pi

1.2.1 В командной строке в домашнем каталоге создаю каталог для глобальных установок:

mkdir ~/.npm-global

1.1.2 Настроиваем npm для использования нового пути к каталогу:

npm config set prefix '~/.npm-global'

1.1.3 В открываем (если нет, то создаём) в домашней директории /home/pi (у меня уже создан) ~/.profile файл добавляю следующую строку в самом конце файла:

export PATH=~/.npm-global/bin:$PATH

1.1.4 В командной строке обновляю системные переменные:

source ~/.profile

1.1.5 Запускаем по новому установку pnpm

npm install -g pnpm

Сейчас прокатило без ошибок, вывод после установки:

added 1 package in 12s
1 package is looking for funding
run `npm fund` for details

Проверка и вывод версий (должны соответствовать оф инструкции):

node --version  # Should output V18.x, V20.x, V22.X
pnpm --version  # Should output 9.X

pi@majordomo:~ $ node --version
v20.18.2
pi@majordomo:~ $ pnpm --version
9.15.4

2 Создаём директорию для zigbee2mqtt, меняем права на неё, клонируем репозиторий и т.д (согласно оф инструкции).
!!!Внимание если не указан sudo – действия делаем от текщего пользователя pi

# Create a directory for zigbee2mqtt and set your user as owner of it
sudo mkdir /opt/zigbee2mqtt
sudo chown -R ${USER}: /opt/zigbee2mqtt
cd /opt/zigbee2mqtt

# Clone Zigbee2MQTT repository
git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt

# Install dependencies (as user "pi")
cd /opt/zigbee2mqtt
pnpm i --frozen-lockfile

# Build Zigbee2MQTT
pnpm run build

Собралось без ошибок
3.1 Копируем файл дефолтный конфигурации, (вариант со старым своим, который ранее пользовался приводит к миграции и у меня как то нестабильно мигрировалось – большая часть с ошибками, но иногда проскальзывал успех). Скопировал, но у себя ничего не менял (после первого запуска конфиг всё рано меняется, пример изменённого конфига).

cp /opt/zigbee2mqtt/data/configuration.example.yaml /opt/zigbee2mqtt/data/configuration.yaml
nano /opt/zigbee2mqtt/data/configuration.yaml

3.2 Даём права на папку zigbe2mqtt по принципу всё – всем (команда возможно лишняя, осталась после выполнения нескольких команда из под судо, но оставил её на всякий случай, не помешает)

sudo chmod -R 777 /opt/zigbee2mqtt 

4 первый запуск zigbee2mqtt

Если не в директории z2m, переходим в неё и производим первый запуск (обращаю внимание команда запуска несколько изменилась):

cd /opt/zigbee2mqtt
pnpm start

запускаем и ждем минут 2-5:
У меня всё время Малинка зависает, какое то время пингуется, потом пинг пропадает, делаю жесткий ребут по питанию,
После пергруза малинки опять заходим в директорию зигби

cd /opt/zigbee2mqtt/
nano /opt/zigbee2mqtt/data/configuration.yaml

смотрим файл конфигурации, он изменился.
Запускаем по новой из консоли.
И – удача, запуск произошёл успешно, можем зайти в веб интерфейс zigbee2mqtt по порту 8080, для пользования совместно с модулем HA Discovery можно в веб-интерфейсе в настройках влючить интеграцию с HA. Как обычно при сопряжении устройств (после обнаружения), вносятся изменения в конфигурационный файл.

5 настройка автозапуска (systemD)

В этой части, если всё ранее правильно сделано, то проблем у меня не возникло (хотя при первых попытках установки были и много), всё по инструкции:

# Create a systemctl configuration file for Zigbee2MQTT
sudo nano /etc/systemd/system/zigbee2mqtt.service

Содержимое файла сервиса:

[Unit]
Description=zigbee2mqtt
After=network.target

[Service]
Environment=NODE_ENV=production
Type=notify
ExecStart=/usr/bin/node index.js
WorkingDirectory=/opt/zigbee2mqtt
StandardOutput=inherit
# Or use StandardOutput=null if you don't want Zigbee2MQTT messages filling syslog, for more options see systemd.exec(5)
StandardError=inherit
WatchdogSec=10s
Restart=always
RestartSec=10s
User=pi

[Install]
WantedBy=multi-user.target
# Запуск Zigbee2MQTT
sudo systemctl start zigbee2mqtt

# Статус status
systemctl status zigbee2mqtt.service

Перечитываем сервиса в автозапуске и активируем автозапуск сервиса zigbee2mqtt

sudo systemctl daemon-reload
sudo systemctl enable zigbee2mqtt.service

Перегружаем, пользуемся ))

PS: Небольшие заметки по конфигурации zigbee2mqtt v 2.0
Настройка Home Assistant legacy action sensors - (поддержка старых действий action), включается в веб интерфейсе - настройки - интеграция с HA. Или ж в файле конфигураций секция HA. Там же второй параметр - включение эксперементальных (новых) функций. После установки эти параметры отсутствуют.
```homeassistant:
enabled: true
experimental_event_entities: true
legacy_action_sensor: true

Discuss (1) (1)

See also:
2024-06-21 Послеустановочные заметки
2024-05-21 RHVoice установка, проверка и прочее
2023-11-03 Пару мыслей о совместном применении SIP телефонии и систем «Умного Дома», а также немного об организации независимого от Internet канала связи с УД.
2023-10-14 Контроль SystemD и инструмент работы с системными логами через веб браузер
2023-10-10 Установка SIP сервера FreeSWITCH 1.10.10 на Raspberry Pi OS Lite (Debian11)
2023-01-03 Установка MajorDoMo с помощью скрипта от SergeJey на Raspberry Pi
2022-12-09 Где Телефон?
2022-05-30 Вариант установки Majordomo на Windows 10 с использованием пакета XAMPP. Немного о переносе и создании тестовой копии системы с Raspberry PI на Windows
2022-03-09 Небольшие заметки по подключению и использованию сервиса CONNECT
2022-02-27 Zigbee2mqtt, немного о стиках CC2531 и Sonoff USB Zigbee 3.0 Dongle Plus (сравнение, подключение, тестирование).
2021-09-23 Второй раз в первый класс. Часть 1: начало работы c базовым образом для RPi.
2020-12-31 Возможность создания канала управления через телефонные сети для системы домашней автоматизации.
2020-07-06 Чтение файлов из образа img Операционной системы. Возможность записи образа на меньшую по размеру SD карту памяти
2020-06-19 Raspberry Pi: немного о резервном копировании и актуальной копии системы
2020-05-07 Установка VoIP сервера FreeSWITCH с частичной интеграцией в систему MajorDoMo
2020-04-28 Установка базового образа MajorDoMo на Raspberry Pi. Начало первые шаги.
2019-10-07 Возможность создания видео звонков у MajorDoMo (RPI +WebCam)
2019-09-11 Создание голосового оповещения MajorDoMo
2019-08-21 Установка USB аудиокарты и настройка звука в Raspberry Pi
2019-04-04 Сертификация в Z-Wave
2019-03-11 RPI Monitor полезное ПО для Raspberry PI и Orange Pi
2019-02-04 Тестирование пропускной способности канала Ethernet (Wi-Fi) с помощью утилиты IPerf
2018-12-23 Пошаговая инструкция с картинками по установки MajorDoMo на Raspberry Pi 3 с помощью скрипта от Immortal
2018-10-20 Установка Freeswitch 1.8.2 на Debian 9 (Raspbian Stretch) на базовый образ системы «Умного дома» MajorDomo
2018-08-14 Создание беспроводного «умного дома». На основе технологии Linux, Z-Wave и ПО MajorDoMo. Включение первого устройства Z-Wave и первые шаги по автоматизации
2018-07-08 Создание беспроводного «умного дома». На основе технологии Linux, Z-Wave и ПО MajorDoMo. Включение контроллера RaZberry и первые шаги по Z-Wave
2018-06-29 Пошаговая инструкция по установке образа Majordomo на Raspberry Pi
2018-06-21 Удаленное наблюдение за близкими, но к сожалению, больными людьми.

Минск, Беларусь

На форуме: udvnl