udvnl

 
<<< Назад

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

Обсуждение (1) (1)

Смотрите так же:
21.06.2024 Послеустановочные заметки
21.05.2024 RHVoice установка, проверка и прочее
03.11.2023 Пару мыслей о совместном применении SIP телефонии и систем «Умного Дома», а также немного об организации независимого от Internet канала связи с УД.
14.10.2023 Контроль SystemD и инструмент работы с системными логами через веб браузер
10.10.2023 Установка SIP сервера FreeSWITCH 1.10.10 на Raspberry Pi OS Lite (Debian11)
03.01.2023 Установка MajorDoMo с помощью скрипта от SergeJey на Raspberry Pi
09.12.2022 Где Телефон?
30.05.2022 Вариант установки Majordomo на Windows 10 с использованием пакета XAMPP. Немного о переносе и создании тестовой копии системы с Raspberry PI на Windows
09.03.2022 Небольшие заметки по подключению и использованию сервиса CONNECT
27.02.2022 Zigbee2mqtt, немного о стиках CC2531 и Sonoff USB Zigbee 3.0 Dongle Plus (сравнение, подключение, тестирование).
23.09.2021 Второй раз в первый класс. Часть 1: начало работы c базовым образом для RPi.
31.12.2020 Возможность создания канала управления через телефонные сети для системы домашней автоматизации.
06.07.2020 Чтение файлов из образа img Операционной системы. Возможность записи образа на меньшую по размеру SD карту памяти
19.06.2020 Raspberry Pi: немного о резервном копировании и актуальной копии системы
07.05.2020 Установка VoIP сервера FreeSWITCH с частичной интеграцией в систему MajorDoMo
28.04.2020 Установка базового образа MajorDoMo на Raspberry Pi. Начало первые шаги.
07.10.2019 Возможность создания видео звонков у MajorDoMo (RPI +WebCam)
11.09.2019 Создание голосового оповещения MajorDoMo
21.08.2019 Установка USB аудиокарты и настройка звука в Raspberry Pi
04.04.2019 Сертификация в Z-Wave
11.03.2019 RPI Monitor полезное ПО для Raspberry PI и Orange Pi
04.02.2019 Тестирование пропускной способности канала Ethernet (Wi-Fi) с помощью утилиты IPerf
23.12.2018 Пошаговая инструкция с картинками по установки MajorDoMo на Raspberry Pi 3 с помощью скрипта от Immortal
20.10.2018 Установка Freeswitch 1.8.2 на Debian 9 (Raspbian Stretch) на базовый образ системы «Умного дома» MajorDomo
14.08.2018 Создание беспроводного «умного дома». На основе технологии Linux, Z-Wave и ПО MajorDoMo. Включение первого устройства Z-Wave и первые шаги по автоматизации
08.07.2018 Создание беспроводного «умного дома». На основе технологии Linux, Z-Wave и ПО MajorDoMo. Включение контроллера RaZberry и первые шаги по Z-Wave
29.06.2018 Пошаговая инструкция по установке образа Majordomo на Raspberry Pi
21.06.2018 Удаленное наблюдение за близкими, но к сожалению, больными людьми.

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

На форуме: udvnl