Z2M / SLZB-06M - retour d'erreur Z2M

Bonjour à tous,
j’aurais besoin de vos lumières sur une erreur qui apparait en permanence lorsque je fais un « npm start » dans la console de mon container LXC Zigbee2MQTT.
J’ai également un container LXC pour MQTT Mosquitto (systemctl status mosquitto → OK).
J’utilise une clé SMLIGHT la SLZB-06M Ethernet en PoE (Core et Zigbee dernières mises à jour OK).
Tout fonctionne correctement mais j’ai ça qui apparait :

[2025-03-15 17:42:50] error:    zh:ember:uart:ash: Received unexpected reset from adapter, with reason=RESET_SOFTWARE.
[2025-03-15 17:42:50] error:    zh:ember:uart:ash: ASH disconnected: ASH_ERROR_NCP_RESET | Adapter status: ASH_NCP_FATAL_ERROR
[2025-03-15 17:42:50] error:    zh:ember:uart:ash: Error while parsing received frame, status=HOST_FATAL_ERROR.
[2025-03-15 17:42:50] error:    zh:ember: Adapter fatal error: HOST_FATAL_ERROR

et à la fin

[2025-03-15 17:42:50] error:    z2m: Adapter disconnected, stopping

qui indique que le service est stoppé alors que tout reste fonctionnel (systemctl status zigbee2mqtt.service ----> OK)

J’ai testé Z2M en local dans Jeedom (qui tourne sur une VM sous Proxmox) et idem.

D’après vous ?

Ci-dessous le code complet :

Zigbee2MQTT LXC Container 🌐 Provided by: community-scripts ORG | GitHub: https://github.com/community-scripts/ProxmoxVE 

🖥️   OS: Debian GNU/Linux - Version: 12 
🏠   Hostname: zigbee2mqtt 
💡   IP Address: 192.168.0.51 
 
root@zigbee2mqtt:~# cd /opt/zigbee2mqtt && npm start 

> zigbee2mqtt@2.1.3 Start 
> node index.js 
Starting Zigbee2MQTT without watchdog. 

[2025-03-15 17:42:44] info: z2m: Logging to console, file (filename: log.log) 
[2025-03-15 17:42:44] info: z2m: Starting Zigbee2MQTT version 2.1.3 (commit #unknown) 
[2025-03-15 17:42:44] info: z2m: Starting zigbee-herdsman (3.2.7) 
[2025-03-15 17:42:44] info: zh:ember: Using default stack config. 
[2025-03-15 17:42:44] info: zh:ember: ======== Ember Adapter Starting ========  
[2025-03-15 17:42:44] info: zh:ember:ezsp: ======== EZSP starting ========  
[2025-03-15 17:42:44] info: zh:ember:uart:ash: ======== ASH Adapter reset ========  
[2025-03-15 17:42:44] info: zh:ember:uart:ash: Socket ready  
[2025-03-15 17:42:44] info: zh:ember:uart:ash: ======== ASH starting ========  
[2025-03-15 17:42:47] info: zh:ember:uart:ash: ======== ASH connected ========  
[2025-03-15 17:42:47] info: zh:ember:uart:ash: ======== ASH started ========  
[2025-03-15 17:42:47] info: zh:ember:ezsp: ======== EZSP started ======== 
[2025-03-15 17:42:47] info: zh:ember: Adapter EZSP protocol version (14) lower than Host. Switched. 
[2025-03-15 17:42:47] info: zh:ember: Adapter version info: {"ezsp":14,"revision":"8.0.2 [GA]","build":397,"major":8,"minor":0,"patch":2,"special":0,"type":170} 
[2025-03-15 17:42:47] info: zh:ember: [STACK STATUS] Network up. 
[2025-03-15 17:42:47] info: zh:ember: [INIT TC] Adapter network matches config. 
[2025-03-15 17:42:47] info: zh:ember: [CONCENTRATOR] Started source route discovery. 1246ms until next broadcast. 
[2025-03-15 17:42:47] info: z2m: zigbee-herdsman started (resumed) 
[2025-03-15 17:42:47] info: z2m: Coordinator firmware version: '{"meta":{"build":397,"ezsp":14,"major":8,"minor":0,"patch":2,"revision":"8.0.2 [GA]","special":0,"type":170},"type":"EmberZNet"}'  
[2025-03-15 17:42:47] info: z2m: Currently 0 devices are joined.  
[2025-03-15 17:42:47] info: z2m: Connecting to MQTT server at mqtt://192.168.0.73:1883  
[2025-03-15 17:42:47] info: z2m: Connected to MQTT server  
[2025-03-15 17:42:47] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"online"}'  
[2025-03-15 17:42:47] info: z2m: Started frontend on port 9440 
[2025-03-15 17:42:47] info: z2m: Zigbee2MQTT started!  
[2025-03-15 17:42:50] warning: zh:ember:uart:ash: Frame(s) in progress cancelled in [1ac1020b0a527e]  
[2025-03-15 17:42:50] error: zh:ember:uart:ash: Received unexpected reset from adapter, with reason=RESET_SOFTWARE.  
[2025-03-15 17:42:50] error: zh:ember:uart:ash: ASH disconnected: ASH_ERROR_NCP_RESET | Adapter status: ASH_NCP_FATAL_ERROR  
[2025-03-15 17:42:50] error: zh:ember:uart:ash: Error while parsing received frame, status=HOST_FATAL_ERROR.  
[2025-03-15 17:42:50] error: zh:ember: Adapter fatal error: HOST_FATAL_ERROR  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: ASH COUNTERS since last clear: 
[2025-03-15 17:42:50] info: zh:ember:uart:ash: Total frames: RX=37, TX=71  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: Cancelled : RX=1, TX=0 
[2025-03-15 17:42:50] info: zh:ember:uart:ash: DATA frames : RX=35, TX=34  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: DATA bytes : RX=407, TX=343  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: Retry frames: RX=0, TX=0  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: ACK frames : RX=0, TX=36 
[2025-03-15 17:42:50] info: zh:ember:uart:ash: NAK frames : RX=0, TX=0  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: nRdy frames : RX=0, TX=0  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: CRC errors : RX=0 
[2025-03-15 17:42:50] info: zh:ember:uart:ash: Comm errors : RX=0  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: Length < minimum: RX=0 
[2025-03-15 17:42:50] info: zh:ember:uart:ash: Length > maximum: RX=0  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: Bad controls : RX=0  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: Bad lengths : RX=0  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: Bad ACK numbers : RX=0  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: Out of buffers : RX=0  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: Retry dupes : RX=0  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: Out of sequence : RX=0  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: ACK timeouts : RX=0  
[2025-03-15 17:42:50] info: zh:ember:uart:ash: ======== ASH stopped ========  
[2025-03-15 17:42:50] info: zh:ember:ezsp: ======== EZSP stopped ======== 
[2025-03-15 17:42:50] info: zh:ember: ======== Ember Adapter Stopped ========  
[2025-03-15 17:42:50] error: z2m: Adapter disconnected, stopping  
[2025-03-15 17:42:50] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"offline"}'  
[2025-03-15 17:42:50] info: z2m: Disconnecting from MQTT server  
[2025-03-15 17:42:50] info: z2m: Stopping zigbee-herdsman...  
[2025-03-15 17:42:50] info: z2m: Stopped zigbee-herdsman  
[2025-03-15 17:42:50] info: z2m: Stopped Zigbee2MQTT  
root@zigbee2mqtt:/opt/zigbee2mqtt#

Informations Jeedom

Core : 4.4.19 (master) VM sous Proxmox
DNS Jeedom : oui

C’est pas très clair. Ces erreurs apparaissent où?

  • y a un rapport avec plugin-z2m utilisé comme tag? (Excepté que le plugin est utilisé); car si zigbee2mqtt a été installé par vos soins du coup c’est plus lié à ce plugin
  • quel rapport avec plugin-alexa dans la description?

Oups je ne sais pas pourquoi il y avait une info Plugin Alexa :thinking:
Du coup j’ai retiré.

Sinon je n’ai peut être pas posté au bon endroit…

J’ai installé Z2M dans un container LXC via un script tout comme MQTT.
Tout fonctionne correctement même avec ces infos « error » qui apparaissent.
Ce qui est bizarre c’est que cela indique que zigbee2mqtt est stoppé alors que ce n’est pas le cas .

Pour le plugin jeeZigbee, que celui-ci utilise Z2M en mode local ou distant (LXC) cette info error est tjrs présente quand je lance la commande « npm start » dans le shell du LCX Z2M.

Bonjour

les 2 programmes mqtt et zigbee2mqtt doivent être lancés automatiquement en daemon (service) au démarrage de chaque VM. Si les scripts utilisés sont bien écrits c’est comme cela que cela doit être, c’est à dire que les scripts ont du les installer en temps que « service » Si vous voulez agir sur ces services vous devez utiliser les commandes du systemd. C’est a dire:

  • Pour arrêter le service
    systemctl stop nom_du_service

  • Pour démarrer le service
    systemctl start nom_du_service

  • Pour vérifier l’état du service
    systemctl status nom_du_service

  • Pour lancer le service au démarrage de la VM
    systemctl enable nom_du_service

Ces 4 commandes sont le minimum à connaitre.

Si vous lancez manuellement les programmes individuellement par exemple avec npm start
vous allez générer des erreurs si les services sont déjà lancés.

Je déconseille fortement d’utiliser des scripts que l’on trouve sur internet, cela parait effectivement plus simple au première abord. Mais en cas de problème ou d’erreur on est perdu.
En plus un script est fonctionnel à un instant donné avec des versions logiciel définies.
Installer les programmes suivant les procédures des concepteurs est très formateur et permet de comprendre les phases d’installation et de test. Souvent elles suivent les étapes suivantes:

  • Mise à jour du système
  • Installation des prérequis et dépendances
  • Installation du logiciel
  • Installation du logiciel en tant que service
  • définition des autorisations
  • test du logiciel

Puis le paramétrage final est à réaliser par l’utilisateur : exemple paramétrage de l’adaptateur zigbee pour zigbee2mqtt en suivant la documentation.

Pour moi, utiliser un script c’est appuyer sur un bouton sans savoir ce qu’il va se passer. C’est un avis personnel.

Cordialement

1 « J'aime »

Bonjour,

il me semble qu’il aurait plutôt été utile de préciser : firmware SLZB-06M zigbee Revision 20250220 (SDK 8.0.2).

akenad :slight_smile:

1 « J'aime »

en effet j’aurais dû préciser :

  • Version actuelle du micrologiciel SLZB: v2.8.2.dev3
  • Coordinateur Zigbee en version 20250220

Vous avez surement raison mais ayant récemment basculé en virtualisation pour mon Jeedom de prod je voulais tester l’externalisation de mqtt et z2m sans devoir y passer des heures car je ne suis pas complétement aguerri sur ces systèmes :worried:

Je vais essayer de trouver un tuto (simple) pour créer moi même un containeur LXC…
Merci pour le retour d’expérience :slight_smile:

Pour info le script utilisé était le suivant :

#!/usr/bin/env bash

# Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.zigbee2mqtt.io/

source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os

msg_info "Installing Dependencies"
$STD apt-get install -y \
  curl \
  sudo \
  mc \
  git \
  make \
  g++ \
  gcc \
  ca-certificates \
  gnupg
msg_ok "Installed Dependencies"

msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"

msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"

msg_info "Installing pnpm"
$STD npm install -g pnpm
msg_ok "Installed pnpm"

msg_info "Setting up Zigbee2MQTT"
cd /opt
RELEASE=$(curl -s https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
wget -q "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip"
unzip -q ${RELEASE}.zip
mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt
cd /opt/zigbee2mqtt/data
mv configuration.example.yaml configuration.yaml
cd /opt/zigbee2mqtt
$STD pnpm install --no-frozen-lockfile
$STD pnpm build
msg_ok "Installed Zigbee2MQTT"

msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/zigbee2mqtt.service
[Unit]
Description=zigbee2mqtt
After=network.target
[Service]
Environment=NODE_ENV=production
ExecStart=/usr/bin/pnpm start
WorkingDirectory=/opt/zigbee2mqtt
StandardOutput=inherit
StandardError=inherit
Restart=always
User=root
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now zigbee2mqtt.service
msg_ok "Created Service"

motd_ssh
customize

msg_info "Cleaning up"
rm -rf /opt/${RELEASE}.zip
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

et quand je fais un : systemctl status zigbee2mqtt

root@zigbee2mqtt:/opt/zigbee2mqtt# systemctl status zigbee2mqtt
● zigbee2mqtt.service - zigbee2mqtt
     Loaded: loaded (/etc/systemd/system/zigbee2mqtt.service; enabled; preset: enabled)
     Active: active (running) since Sun 2025-03-16 18:24:07 CET; 2min 55s ago
   Main PID: 1229 (node)
      Tasks: 23 (limit: 18977)
     Memory: 92.2M
        CPU: 1.852s
     CGroup: /system.slice/zigbee2mqtt.service
             ├─1229 node /usr/bin/pnpm start
             ├─1241 sh -c "node index.js"
             └─1242 node index.js

Mar 16 18:24:10 zigbee2mqtt pnpm[1242]: [2025-03-16 18:24:10] info:         z2m: zigbee-herdsman started (resumed)
Mar 16 18:24:10 zigbee2mqtt pnpm[1242]: [2025-03-16 18:24:10] info:         z2m: Coordinator firmware version: '{"meta":{"bui>
Mar 16 18:24:10 zigbee2mqtt pnpm[1242]: [2025-03-16 18:24:10] info:         z2m: 0x842712fffe7bdd07 (0x842712fffe7bdd07): SNZ>
Mar 16 18:24:10 zigbee2mqtt pnpm[1242]: [2025-03-16 18:24:10] info:         z2m: Currently 1 devices are joined.
Mar 16 18:24:10 zigbee2mqtt pnpm[1242]: [2025-03-16 18:24:10] info:         z2m: Connecting to MQTT server at mqtt://192.168.>
Mar 16 18:24:10 zigbee2mqtt pnpm[1242]: [2025-03-16 18:24:10] info:         z2m: Connected to MQTT server
Mar 16 18:24:10 zigbee2mqtt pnpm[1242]: [2025-03-16 18:24:10] info:         z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge>
Mar 16 18:24:10 zigbee2mqtt pnpm[1242]: [2025-03-16 18:24:10] info:         z2m: Started frontend on port 9440
Mar 16 18:24:10 zigbee2mqtt pnpm[1242]: [2025-03-16 18:24:10] info:         z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x8427>
Mar 16 18:24:10 zigb
1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.