Как запустить второй экземпляр zigbee2mqtt?

Добрый день!
Подскажите пожалуйста, как запустить второй экземпляр zigbee2mqtt на WB для работы со вторым сегментом сети Zigbee (на LAN координаторе ZigStar)? Чтобы был отдельный сегмент со своим топиком?

Добрый день.
Да, можно. Сделайте второй сервис, аналогичный zigbee2mqtt.
Естественно с другим значением WorkingDirectory.
Ну и в настройках самого z2m - используйте отличный от дефолтного топик.

Простите, но не подскажите, КАК сделать этот второй сервис. Я не понимаю что для этого надо?

Существует сервис, создаваемый пакетом zigbee2mqtt
Сервис в systemd описан как /lib/systemd/system/zigbee2mqtt.service
Следует создать еще один, поменяв в нем (как минимум) WorkingDirectory.
Собственно это вопрос совершенно неспецифичный для контроллера и требующий базовых знаний компьютера.

Спасибо, попробую

Второй сервис поднялся, zigbee2mqtt с MQTT брокером соединяется, но нет соединения с LAN координатором ZigStar по сети. + Я не вижу второй сервис среди устройств Wirenboard
Пробовал и штатный (установленный из репозитория WirenBoard) zigbee2mqtt и из репозитория Koenkk. Умеет ли zigbee2mqtt, установленные на WB понимать настройки для соединения по LAN? Эта конфигурация прекрасно работает из Home Assistant в этой же LAN.
Вот мой configuration.yaml для LAN координатора:

homeassistant: true
permit_join: false
mqtt:
  base_topic: zigbee2mqtt2_lan
  server: mqtt://192.168.1.123:1883
serial:
  port: tcp://192.168.1.88:6638
#   adapter: auto
advanced:
  last_seen: ISO_8601
  pan_id: 6755
  channel: 11
  network_key:
    - 1
    - 3
    - 5
    - 7
    - 9
    - 11
    - 13
    - 15
    - 0
    - 2
    - 4
    - 6
    - 8
    - 10
    - 12
    - 13
  homeassistant_legacy_entity_attributes: false
  legacy_api: false
  legacy_availability_payload: false
frontend:
  port: 8082
  host: 0.0.0.0
device_options:
  legacy: false
devices:
  - devices.yaml
groups:
  - groups.yaml
availability:
  active:
    timeout: 80
  passive:
    timeout: 180

root@wirenboard-A2NY5JNE:/mnt/data/root/z2ml# systemctl status z2mlan.service
● z2mlan.service - z2m-lan
     Loaded: loaded (/lib/systemd/system/z2mlan.service; disabled; vendor preset: enabled)
     Active: active (running) since Thu 2024-01-18 10:33:50 MSK; 3min 1s ago
   Main PID: 7747 (npm start)
      Tasks: 23 (limit: 4790)
     Memory: 82.8M
        CPU: 3min 12.992s
     CGroup: /system.slice/z2mlan.service
             ├─7747 npm start
             ├─7786 sh -c -- node index.js
             └─7787 node index.js

янв 18 10:36:10 wirenboard-A2NY5JNE npm[7787]: Zigbee2MQTT:info  2024-01-18 10:36:10: MQTT publish: topic 'homeassistant/select/0x54ef441000483e20/buzzer/confi>
янв 18 10:36:10 wirenboard-A2NY5JNE npm[7787]: Zigbee2MQTT:info  2024-01-18 10:36:10: MQTT publish: topic 'homeassistant/update/0x54ef441000320f7b/update/confi>
янв 18 10:36:10 wirenboard-A2NY5JNE npm[7787]: Zigbee2MQTT:info  2024-01-18 10:36:10: MQTT publish: topic 'homeassistant/update/0x54ef441000320e61/update/confi>
янв 18 10:36:10 wirenboard-A2NY5JNE npm[7787]: Zigbee2MQTT:info  2024-01-18 10:36:10: MQTT publish: topic 'homeassistant/update/0x54ef441000483ea6/update/confi>
янв 18 10:36:10 wirenboard-A2NY5JNE npm[7787]: Zigbee2MQTT:info  2024-01-18 10:36:10: MQTT publish: topic 'homeassistant/update/0x54ef441000483fc8/update/confi>
янв 18 10:36:10 wirenboard-A2NY5JNE npm[7787]: Zigbee2MQTT:info  2024-01-18 10:36:10: MQTT publish: topic 'homeassistant/update/0x54ef4410004833c2/update/confi>
янв 18 10:36:10 wirenboard-A2NY5JNE npm[7787]: Zigbee2MQTT:info  2024-01-18 10:36:10: MQTT publish: topic 'homeassistant/update/0x54ef441000483f55/update/confi>
янв 18 10:36:10 wirenboard-A2NY5JNE npm[7787]: Zigbee2MQTT:info  2024-01-18 10:36:10: MQTT publish: topic 'homeassistant/update/0x54ef44100048365d/update/confi>
янв 18 10:36:10 wirenboard-A2NY5JNE npm[7787]: Zigbee2MQTT:info  2024-01-18 10:36:10: MQTT publish: topic 'homeassistant/update/0x54ef4410004833a7/update/confi>
янв 18 10:36:10 wirenboard-A2NY5JNE npm[7787]: Zigbee2MQTT:info  2024-01-18 10:36:10: MQTT publish: topic 'homeassistant/update/0x54ef441000483e20/update/confi>


Что может быть не так?

А создан ли скрипт wb-zigbee2mqtt для работы с дополнительным топиком?

Да, работает.

Я не думаю что один координатор может одновременно работать с несколькими сервисами, поэтому целесообразно использовать только один.

Он не работает (естественно) с несколькими сервисами. При опробовании я отключаю аддон в Home Assistant и разрываю связь с zigbee2mqtt в Hassio. Основной вопрос - в какую сторону смотреть для понимания, почему нет связи между Wirenboard zigbee2mqtt в и LAN координатором. Настройки одинаковые в Hassio и Wirenboard. Но при этом Wirenboard zigbee2mqtt не соединяется с LAN координатором

А что пишет в свой лог сервис при запуске? Как правило - там достаточно подробно выводится.

info  2024-01-18 18:39:24: Logging to console and directory: '/mnt/data/root/z2m-lan/data/log/2024-01-18.18-39-23' filename: log.txt
info  2024-01-18 18:39:24: Starting Zigbee2MQTT version 1.35.1 (commit #3c962042)
info  2024-01-18 18:39:24: Starting zigbee-herdsman (0.30.0)
info  2024-01-18 18:39:28: zigbee-herdsman started (resumed)
info  2024-01-18 18:39:28: Coordinator firmware version: '{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20220301,"transportrev":2},"type":"zStack3x0"}'
info  2024-01-18 18:39:28: Currently 0 devices are joined:
info  2024-01-18 18:39:28: Zigbee: disabling joining new devices.
info  2024-01-18 18:39:28: Connecting to MQTT server at mqtt://localhost
info  2024-01-18 18:39:29: Connected to MQTT server
info  2024-01-18 18:39:29: MQTT publish: topic 'zigbee2mqtt2_lan/bridge/state', payload '{"state":"online"}'
info  2024-01-18 18:39:29: Started frontend on port 0.0.0.0:8082
info  2024-01-18 18:39:29: MQTT publish: topic 'homeassistant/binary_sensor/1221051039810110150109113116116509510897110_0x00124b0022812fb2/connection_state/config', payload '{"device":{"hw_version":"zStack3x0 20220301","identifiers":["zigbee2mqtt_bridge_0x00124b0022812fb2"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"1.35.1"},"device_class":"connectivity","entity_category":"diagnostic","name":"Connection state","object_id":"zigbee2mqtt_bridge_connection_state","origin":{"name":"Zigbee2MQTT","sw":"1.35.1","url":"https://www.zigbee2mqtt.io"},"payload_off":"offline","payload_on":"online","state_topic":"zigbee2mqtt2_lan/bridge/state","unique_id":"bridge_0x00124b0022812fb2_connection_state_zigbee2mqtt2_lan","value_template":"{{ value_json.state }}"}'
info  2024-01-18 18:39:29: MQTT publish: topic 'homeassistant/binary_sensor/1221051039810110150109113116116509510897110_0x00124b0022812fb2/restart_required/config', payload '{"availability":[{"topic":"zigbee2mqtt2_lan/bridge/state","value_template":"{{ value_json.state }}"}],"availability_mode":"all","device":{"hw_version":"zStack3x0 20220301","identifiers":["zigbee2mqtt_bridge_0x00124b0022812fb2"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"1.35.1"},"device_class":"problem","enabled_by_default":false,"entity_category":"diagnostic","name":"Restart required","object_id":"zigbee2mqtt_bridge_restart_required","origin":{"name":"Zigbee2MQTT","sw":"1.35.1","url":"https://www.zigbee2mqtt.io"},"payload_off":false,"payload_on":true,"state_topic":"zigbee2mqtt2_lan/bridge/info","unique_id":"bridge_0x00124b0022812fb2_restart_required_zigbee2mqtt2_lan","value_template":"{{ value_json.restart_required }}"}'
info  2024-01-18 18:39:29: MQTT publish: topic 'homeassistant/button/1221051039810110150109113116116509510897110_0x00124b0022812fb2/restart/config', payload '{"availability":[{"topic":"zigbee2mqtt2_lan/bridge/state","value_template":"{{ value_json.state }}"}],"availability_mode":"all","command_topic":"zigbee2mqtt2_lan/bridge/request/restart","device":{"hw_version":"zStack3x0 20220301","identifiers":["zigbee2mqtt_bridge_0x00124b0022812fb2"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"1.35.1"},"device_class":"restart","name":"Restart","object_id":"zigbee2mqtt_bridge_restart","origin":{"name":"Zigbee2MQTT","sw":"1.35.1","url":"https://www.zigbee2mqtt.io"},"payload_press":"","unique_id":"bridge_0x00124b0022812fb2_restart_zigbee2mqtt2_lan"}'
info  2024-01-18 18:39:29: MQTT publish: topic 'homeassistant/select/1221051039810110150109113116116509510897110_0x00124b0022812fb2/log_level/config', payload '{"availability":[{"topic":"zigbee2mqtt2_lan/bridge/state","value_template":"{{ value_json.state }}"}],"availability_mode":"all","command_template":"{\"options\": {\"advanced\": {\"log_level\": \"{{ value }}\" } } }","command_topic":"zigbee2mqtt2_lan/bridge/request/options","device":{"hw_version":"zStack3x0 20220301","identifiers":["zigbee2mqtt_bridge_0x00124b0022812fb2"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"1.35.1"},"entity_category":"config","name":"Log level","object_id":"zigbee2mqtt_bridge_log_level","options":["info","warn","error","debug"],"origin":{"name":"Zigbee2MQTT","sw":"1.35.1","url":"https://www.zigbee2mqtt.io"},"state_topic":"zigbee2mqtt2_lan/bridge/info","unique_id":"bridge_0x00124b0022812fb2_log_level_zigbee2mqtt2_lan","value_template":"{{ value_json.log_level | lower }}"}'
info  2024-01-18 18:39:29: MQTT publish: topic 'homeassistant/sensor/1221051039810110150109113116116509510897110_0x00124b0022812fb2/version/config', payload '{"availability":[{"topic":"zigbee2mqtt2_lan/bridge/state","value_template":"{{ value_json.state }}"}],"availability_mode":"all","device":{"hw_version":"zStack3x0 20220301","identifiers":["zigbee2mqtt_bridge_0x00124b0022812fb2"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"1.35.1"},"entity_category":"diagnostic","icon":"mdi:zigbee","name":"Version","object_id":"zigbee2mqtt_bridge_version","origin":{"name":"Zigbee2MQTT","sw":"1.35.1","url":"https://www.zigbee2mqtt.io"},"state_topic":"zigbee2mqtt2_lan/bridge/info","unique_id":"bridge_0x00124b0022812fb2_version_zigbee2mqtt2_lan","value_template":"{{ value_json.version }}"}'
info  2024-01-18 18:39:29: MQTT publish: topic 'homeassistant/sensor/1221051039810110150109113116116509510897110_0x00124b0022812fb2/coordinator_version/config', payload '{"availability":[{"topic":"zigbee2mqtt2_lan/bridge/state","value_template":"{{ value_json.state }}"}],"availability_mode":"all","device":{"hw_version":"zStack3x0 20220301","identifiers":["zigbee2mqtt_bridge_0x00124b0022812fb2"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"1.35.1"},"enabled_by_default":false,"entity_category":"diagnostic","icon":"mdi:chip","name":"Coordinator version","object_id":"zigbee2mqtt_bridge_coordinator_version","origin":{"name":"Zigbee2MQTT","sw":"1.35.1","url":"https://www.zigbee2mqtt.io"},"state_topic":"zigbee2mqtt2_lan/bridge/info","unique_id":"bridge_0x00124b0022812fb2_coordinator_version_zigbee2mqtt2_lan","value_template":"{{ value_json.coordinator.meta.revision }}"}'
info  2024-01-18 18:39:29: MQTT publish: topic 'homeassistant/sensor/1221051039810110150109113116116509510897110_0x00124b0022812fb2/network_map/config', payload '{"availability":[{"topic":"zigbee2mqtt2_lan/bridge/state","value_template":"{{ value_json.state }}"}],"availability_mode":"all","device":{"hw_version":"zStack3x0 20220301","identifiers":["zigbee2mqtt_bridge_0x00124b0022812fb2"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"1.35.1"},"enabled_by_default":false,"entity_category":"diagnostic","json_attributes_template":"{{ value_json.data.value | tojson }}","json_attributes_topic":"zigbee2mqtt2_lan/bridge/response/networkmap","name":"Network map","object_id":"zigbee2mqtt_bridge_network_map","origin":{"name":"Zigbee2MQTT","sw":"1.35.1","url":"https://www.zigbee2mqtt.io"},"state_topic":"zigbee2mqtt2_lan/bridge/response/networkmap","unique_id":"bridge_0x00124b0022812fb2_network_map_zigbee2mqtt2_lan","value_template":"{{ now().strftime('%Y-%m-%d %H:%M:%S') }}"}'
info  2024-01-18 18:39:29: MQTT publish: topic 'homeassistant/sensor/1221051039810110150109113116116509510897110_0x00124b0022812fb2/permit_join_timeout/config', payload '{"availability":[{"topic":"zigbee2mqtt2_lan/bridge/state","value_template":"{{ value_json.state }}"}],"availability_mode":"all","device":{"hw_version":"zStack3x0 20220301","identifiers":["zigbee2mqtt_bridge_0x00124b0022812fb2"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"1.35.1"},"device_class":"duration","entity_category":"diagnostic","name":"Permit join timeout","object_id":"zigbee2mqtt_bridge_permit_join_timeout","origin":{"name":"Zigbee2MQTT","sw":"1.35.1","url":"https://www.zigbee2mqtt.io"},"state_topic":"zigbee2mqtt2_lan/bridge/info","unique_id":"bridge_0x00124b0022812fb2_permit_join_timeout_zigbee2mqtt2_lan","unit_of_measurement":"s","value_template":"{{ iif(value_json.permit_join_timeout is defined, value_json.permit_join_timeout, None) }}"}'
info  2024-01-18 18:39:29: MQTT publish: topic 'homeassistant/switch/1221051039810110150109113116116509510897110_0x00124b0022812fb2/permit_join/config', payload '{"availability":[{"topic":"zigbee2mqtt2_lan/bridge/state","value_template":"{{ value_json.state }}"}],"availability_mode":"all","command_topic":"zigbee2mqtt2_lan/bridge/request/permit_join","device":{"hw_version":"zStack3x0 20220301","identifiers":["zigbee2mqtt_bridge_0x00124b0022812fb2"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"1.35.1"},"icon":"mdi:human-greeting-proximity","name":"Permit join","object_id":"zigbee2mqtt_bridge_permit_join","origin":{"name":"Zigbee2MQTT","sw":"1.35.1","url":"https://www.zigbee2mqtt.io"},"payload_off":"false","payload_on":"true","state_topic":"zigbee2mqtt2_lan/bridge/info","unique_id":"bridge_0x00124b0022812fb2_permit_join_zigbee2mqtt2_lan","value_template":"{{ value_json.permit_join | lower }}"}'
info  2024-01-18 18:39:29: MQTT publish: topic 'zigbee2mqtt2_lan/bridge/state', payload '{"state":"online"}'
info  2024-01-18 18:39:30: Zigbee2MQTT started!

1 лайк

Мой косяк - в названии топика залезла 2. Исправил, все работает

Да, отлично. А в чем же дело было? Я в конфигах не видел ошибок.