Zigbee как это работает?

Мой скрипт установки:
(строчки выдернул из бОльшего скрипта, надеюсь ничего не забыл)
Устанавливается стабильно.

SELFDIR=$(pwd)
ZIGBEE_DIR=/opt/zigbee2mqtt

curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs git make g++ gcc
git clone https://github.com/contactless/zigbee2mqtt "$ZIGBEE_DIR"
chown -R root:root "$ZIGBEE_DIR"
npm install --prefix "$ZIGBEE_DIR"

cp "$SELFDIR/zigbee/wb-hardware.conf" /etc/
service wb-hwconf-manager restart

cp "$SELFDIR/zigbee/zigbee2mqtt.service" /lib/systemd/system/
mkdir -p "$ZIGBEE_DIR/data/"
cp "$SELFDIR/zigbee/configuration.yaml" "$ZIGBEE_DIR/data/"

systemctl daemon-reload && systemctl enable zigbee2mqtt && service zigbee2mqtt start

Сопутствующие файлы здесь.

Обратите внимание, что ваш wb-hardware.conf перезапишется моим, если у вас модифициованный конфиг, внесите изменения вручную.

Советую использовать папку /mnt/data/root/zigbee2mqtt

root@wb:/mnt/data/root/zigbee2mqtt# npm start

> zigbee2mqtt@1.2.1 start /mnt/data/root/zigbee2mqtt

> node index.js

zigbee2mqtt:info 12/5/2019, 7:31:09 PM Logging to directory: ‘/mnt/data/root/z igbee2mqtt/data/log/2019-12-05.19-31-08’

zigbee2mqtt:info 12/5/2019, 7:31:12 PM Starting zigbee2mqtt version 1.2.1 (com mit #a78cbfb)

zigbee2mqtt:info 12/5/2019, 7:31:12 PM Starting zigbee-shepherd

zigbee2mqtt:info 12/5/2019, 7:31:14 PM Error while starting zigbee-shepherd, a ttempting to fix… (takes 60 seconds)

zigbee2mqtt:info 12/5/2019, 7:32:14 PM Starting zigbee-shepherd

zigbee2mqtt:error 12/5/2019, 7:32:16 PM Error while starting zigbee-shepherd!

zigbee2mqtt:error 12/5/2019, 7:32:16 PM Press the reset button on the stick (t he one closest to the USB) and start again

zigbee2mqtt:error 12/5/2019, 7:32:16 PM Failed to start

{“message”:“request timeout”,“stack”:“Error: request timeout\n at CcZ np.<anonymous> (/mnt/data/root/zigbee2mqtt/node_modules/cc-znp/lib/ccznp.js:261: 22)\n at Object.onceWrapper (events.js:286:20)\n at CcZnp.emit (events.js: 198:13)\n at Timeout.<anonymous> (/mnt/data/root/zigbee2mqtt/node_modules/cc- znp/lib/ccznp.js:240:18)\n at ontimeout (timers.js:436:11)\n at tryOnTimeo ut (timers.js:300:5)\n at listOnTimeout (timers.js:263:5)\n at Timer.proce ssTimers (timers.js:223:10)”}

zigbee2mqtt:error 12/5/2019, 7:32:16 PM Exiting…

npm ERR! code ELIFECYCLE

npm ERR! errno 1

npm ERR! zigbee2mqtt@1.2.1 start: node index.js

npm ERR! Exit status 1

npm ERR!

npm ERR! Failed at the zigbee2mqtt@1.2.1 start script.

npm ERR! This is probably not a problem with npm. There is likely additional log

npm ERR! A complete log of this run can be found in:

npm ERR! /root/.npm/_logs/2019-12-05T19_32_47_271Z-debug.log

содержимое лог-файла

0 info it worked if it ends with ok

1 verbose cli [ ‘/usr/bin/node’, ‘/usr/bin/npm’, ‘start’ ]

2 info using npm@6.11.3

3 info using node@v10.17.0

4 verbose run-script [ ‘prestart’, ‘start’, ‘poststart’ ]

5 info lifecycle zigbee2mqtt@1.2.1~prestart: zigbee2mqtt@1.2.1

6 info lifecycle zigbee2mqtt@1.2.1~start: zigbee2mqtt@1.2.1

7 verbose lifecycle zigbee2mqtt@1.2.1~start: unsafe-perm in lifecycle true

8 verbose lifecycle zigbee2mqtt@1.2.1~start: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/mnt/data/root/zigbee2mqtt/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

9 verbose lifecycle zigbee2mqtt@1.2.1~start: CWD: /mnt/data/root/zigbee2mqtt

10 silly lifecycle zigbee2mqtt@1.2.1~start: Args: [ ‘-c’, ‘node index.js’ ]

11 silly lifecycle zigbee2mqtt@1.2.1~start: Returned: code: 1 signal: null

12 info lifecycle zigbee2mqtt@1.2.1~start: Failed to exec start script

13 verbose stack Error: zigbee2mqtt@1.2.1 start: node index.js

13 verbose stack Exit status 1

13 verbose stack at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)

13 verbose stack at EventEmitter.emit (events.js:198:13)

13 verbose stack at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)

13 verbose stack at ChildProcess.emit (events.js:198:13)

13 verbose stack at maybeClose (internal/child_process.js:982:16)

13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)

14 verbose pkgid zigbee2mqtt@1.2.1

15 verbose cwd /mnt/data/root/zigbee2mqtt

16 verbose Linux 4.9.22-wb6

17 verbose argv “/usr/bin/node” “/usr/bin/npm” “start”

18 verbose node v10.17.0

19 verbose npm v6.11.3

20 error code ELIFECYCLE

21 error errno 1

22 error zigbee2mqtt@1.2.1 start: node index.js

22 error Exit status 1

23 error Failed at the zigbee2mqtt@1.2.1 start script.

23 error This is probably not a problem with npm. There is likely additional logging output above.

24 verbose exit [ 1, true ]

А в файле /mnt/data/root/zigbee2mqtt/data какой указан serial: port: (https://wirenboard.com/wiki/index.php/ZigBee_Support#.D0.9A.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D1.8F)?

root@wb:/mnt/data/root/zigbee2mqtt# npm start

> zigbee2mqtt@1.2.1 start /mnt/data/root/zigbee2mqtt

> node index.js

zigbee2mqtt:info 12/8/2019, 6:17:24 PM Logging to directory: ‘/mnt/data/root/z igbee2mqtt/data/log/2019-12-08.18-17-23’

zigbee2mqtt:info 12/8/2019, 6:17:31 PM Starting zigbee2mqtt version 1.2.1 (com mit #a78cbfb)

zigbee2mqtt:info 12/8/2019, 6:17:31 PM Starting zigbee-shepherd

zigbee2mqtt:info 12/8/2019, 6:17:34 PM Error while starting zigbee-shepherd, a ttempting to fix… (takes 60 seconds)

zigbee2mqtt:info 12/8/2019, 6:18:34 PM Starting zigbee-shepherd

zigbee2mqtt:error 12/8/2019, 6:18:35 PM Error while starting zigbee-shepherd!

zigbee2mqtt:error 12/8/2019, 6:18:35 PM Press the reset button on the stick (t he one closest to the USB) and start again

zigbee2mqtt:error 12/8/2019, 6:18:35 PM Failed to start

{“message”:“request timeout”,“stack”:“Error: request timeout\n at CcZ np.<anonymous> (/mnt/data/root/zigbee2mqtt/node_modules/cc-znp/lib/ccznp.js:261: 22)\n at Object.onceWrapper (events.js:286:20)\n at CcZnp.emit (events.js: 198:13)\n at Timeout.<anonymous> (/mnt/data/root/zigbee2mqtt/node_modules/cc- znp/lib/ccznp.js:240:18)\n at ontimeout (timers.js:436:11)\n at tryOnTimeo ut (timers.js:300:5)\n at listOnTimeout (timers.js:263:5)\n at Timer.proce ssTimers (timers.js:223:10)”}

zigbee2mqtt:error 12/8/2019, 6:18:35 PM Exiting…

npm ERR! code ELIFECYCLE

npm ERR! errno 1

npm ERR! zigbee2mqtt@1.2.1 start: node index.js

npm ERR! Exit status 1

npm ERR!

npm ERR! Failed at the zigbee2mqtt@1.2.1 start script.

npm ERR! This is probably not a problem with npm. There is likely additional log ging output above.

npm ERR! A complete log of this run can be found in:

npm ERR! /root/.npm/_logs/2019-12-08T18_19_06_663Z-debug.log

Почему не может запуститься zigbee-shepherd?

ЧТо ему мешает? ЧТо это такое?

В конфиге serial указан в соответствие с слотом 3 serial /dev/ttyMOD3

а физически в каком слоте стоит?

Убедитесь, что в файле configuration.yaml у Вас есть параметры:

advanced:
  # Если вы используете CC2530. (удалите этот параметр, если используете USB стик CC2531)
  rtscts: false

  # штамп времени
  last_seen: epoch

Как это указанно в инструкции.

Да, спасибо. Перекинул. Работает, только в zigbee2mqtt.service нужно так же поправить путь. Автогенерируемый файл не делал, так как путь обычно не меняется.

1 лайк

Спасибо помогло!
Отсутствовала строчка
rtscts: false

1 лайк

Предыдущую проблему решили.
Теперь новая проблема, не удается подключить устройства zigbee
При попытке подключения нового устройства возникает ошибка. Содержимое лог файла:
log

12/18/2019, 9:06:14 PM - info: Logging to directory: ‘/mnt/data/root/zigbee2mqtt/data/log/2019-12-18.21-06-14’

12/18/2019, 9:06:17 PM - info: Starting zigbee2mqtt version 1.2.1 (commit #a78cbfb)

12/18/2019, 9:06:17 PM - info: Starting zigbee-shepherd

12/18/2019, 9:06:21 PM - info: zigbee-shepherd started

12/18/2019, 9:06:21 PM - info: Coordinator firmware version: ‘undefined’

12/18/2019, 9:06:21 PM - info: Currently 0 devices are joined:

12/18/2019, 9:06:21 PM - warn: permit_join set to true in configuration.yaml.

12/18/2019, 9:06:21 PM - warn: Allowing new devices to join.

12/18/2019, 9:06:21 PM - warn: Set permit_join to false once you joined all devices.

12/18/2019, 9:06:21 PM - info: Zigbee: allowing new devices to join.

12/18/2019, 9:06:21 PM - info: Connecting to MQTT server at mqtt://localhost

12/18/2019, 9:06:22 PM - info: zigbee-shepherd ready

12/18/2019, 9:06:22 PM - info: Connected to MQTT server

12/18/2019, 9:06:41 PM - error: Cannot get the Node Descriptor of the Device: 0x00158d000222f51a (Error: Timed out after 10000 ms)

Видим, что подключение нового устройства разрешено но следующим шагом запрещено!
Соответственно устройство невозможно подключить.
В закладке History мы видим:
png
Помогите разобраться

Какое устройство подключаете?
Я погуглил сообщение об ошибке, и проблема кажется известной, её должна решать правильная последовательность нажатий для подключения: https://github.com/Koenkk/zigbee2mqtt/issues/1779#issuecomment-515774316

Это “нормально”. У меня такая же ситуация с датчиками температуры Xiaomi. Нужно держать кнопку, пока девайс не войдет в режим сопряжения, а после этого жать на кнопку каждую секунду в течении 20ти секунд. Но даже если это не поможет, но в конфиге новый девайс появился, просто перезапустите zigbee2mqtt.
Так же я наблюдаю обрывы некоторых датчиков, если permit_join установить в false.

У меня похожая проблема. Помогите разобраться. Плата zigbee вставлена в 3 слот.
Произведены настройки по инструкции. Но в девайсах не появилась.


Что и где посмотреть?
Очень нужна помощь.

По какой именно инструкции Вы настраивали? Из основной ветки zigbee2mqtt или по инструкции с Wiki?

https://wirenboard.com/wiki/index.php?title=ZigBee_Support#.D0.9F.D1.80.D0.BE.D1.88.D0.B8.D0.B2.D0.BA.D0.B0

По первому скриншоту - вы двумя командами ранее запустили zigbee2mqtt через systemd, а затем пытаетесь его запустить повторно вручную. Так ничего не заработает. Так же Вы указали base_topic отличный от стандартного. В него что-нибудь приходит при запуске сервиса zigbee2mqtt?

Ветка zigbee2mqtt с wiki достаточно сильно устарела. Я рекомендую установить программу из основной ветки инструкция есть на сайте zigbee2mqtt.io В этом случае все сообщения будут слаться в стандартные топики zigbee2mqtt. Сейчас в процессе разработки программа-конвертер, которая будет пересылать данные из zigbee2mqtt в нашу конвенцию.

Здравствуйте, подскажите, есть какие-то сроки о выходе конвертера? установил со страницы в wiki и какая-та хрень приходит.

Про какой конвертор спрашиваете?

С какой страницы, что делаете, что ожидаете увидеть и что видите?

над моим сообщением цитата: “Сейчас в процессе разработки программа-конвертер, которая будет пересылать данные из zigbee2mqtt в нашу конвенцию.”
это к проблеме модификации оригинальной прошивки zigbee2mqtt, которая описана в ветке zigbee2mqtt с wiki

делал по инструкции для зигби модуля
zigbee2mqtt запускается и находит устройства, но подключившись с mqtt серверу их там не видно. при этом на странице Devices в прописанных устройствах есть сообщение которое было получино в неизвестное мне время и ни как не изменяется

Готовится к релизу. Уже тестируется.