[RESOLU] Instabilité Zigbee : marche, marche plus, marche

Edit : C’était la clé SONOFF HS. Avec la nouvelle clé, plus de problème.

Bonjour,

J’ai un problème récurrent depuis que je suis passé sur Ha il y a environs 10 mois.
De temps en temps et de façon inexpliquée, je perds la connexion Zigbee.
Cela peut fonctionner des semaines voir des mois, mais parfois seulement quelques heures…

L’ensemble de mes capteurs sur ce protocole devient alors « unavailable »

Zigbee2MQTT se déactive :

image

La clé est toujours présente suivant Ha :

En SSH Ha, le clé est bien présente :

image

Sur proxmox, la clé est aussi présente :

Voici ma configuration Z2M :


data_path: /config/zigbee2mqtt
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: "-d -d"
  log: false
mqtt:
  server: mqtt://core-mosquitto:1883
  user: mqtt-user
  password: xxxxxxxxxx
serial:
  port: /dev/ttyACM0
  adapter: ezsp
zigbee_herdsman_debug: true

Lorsque je relance le module Z2M, voici ce que j’obtiens :

[16:43:44] INFO: Preparing to start...
[16:43:44] INFO: Socat not enabled
[16:43:44] INFO: Zigbee Herdsman debug logging enabled
[16:43:45] INFO: Starting Zigbee2MQTT...
Zigbee2MQTT:debug 2023-08-28 16:43:46: Loaded state from file /config/zigbee2mqtt/state.json
Zigbee2MQTT:info  2023-08-28 16:43:46: Logging to console and directory: '/config/zigbee2mqtt/log/2023-08-28.16-43-46' filename: log.txt
Zigbee2MQTT:debug 2023-08-28 16:43:46: Removing old log directory '/config/zigbee2mqtt/log/2023-08-28.16-40-36'
Zigbee2MQTT:info  2023-08-28 16:43:46: Starting Zigbee2MQTT version 1.32.2 (commit #unknown)
Zigbee2MQTT:info  2023-08-28 16:43:46: Starting zigbee-herdsman (0.17.2)
Zigbee2MQTT:debug 2023-08-28 16:43:46: Using zigbee-herdsman with settings: '{"adapter":{"concurrent":null,"delay":null,"disableLED":false},"backupPath":"/config/zigbee2mqtt/coordinator_backup.json","databaseBackupPath":"/config/zigbee2mqtt/database.db.backup","databasePath":"/config/zigbee2mqtt/database.db","network":{"channelList":[11],"extendedPanID":[221,221,221,221,221,221,221,221],"networkKey":"HIDDEN","panID":6754},"serialPort":{"adapter":"ezsp","path":"/dev/ttyACM0"}}'
2023-08-28T14:43:46.608Z zigbee-herdsman:adapter Failed to validate path: 'Error: spawn udevadm ENOENT'
2023-08-28T14:43:46.609Z zigbee-herdsman:controller:log Starting with options '{"network":{"networkKeyDistribute":false,"networkKey":[1,3,5,7,9,11,13,15,0,2,4,6,8,10,12,13],"panID":6754,"extendedPanID":[221,221,221,221,221,221,221,221],"channelList":[11]},"serialPort":{"path":"/dev/ttyACM0","adapter":"ezsp"},"databasePath":"/config/zigbee2mqtt/database.db","databaseBackupPath":"/config/zigbee2mqtt/database.db.backup","backupPath":"/config/zigbee2mqtt/coordinator_backup.json","adapter":{"disableLED":false,"concurrent":null,"delay":null}}'
2023-08-28T14:43:46.610Z zigbee-herdsman:adapter:ezsp:uart Opening SerialPort with {"path":"/dev/ttyACM0","baudRate":115200,"rtscts":false,"autoOpen":false}
2023-08-28T14:43:46.619Z zigbee-herdsman:adapter:ezsp:uart Serialport opened
2023-08-28T14:43:46.619Z zigbee-herdsman:adapter:ezsp:uart Uart reseting
2023-08-28T14:43:46.620Z zigbee-herdsman:adapter:ezsp:uart --> Write reset
2023-08-28T14:43:46.621Z zigbee-herdsman:adapter:ezsp:uart --> [1ac038bc7e]
2023-08-28T14:43:46.621Z zigbee-herdsman:adapter:ezsp:uart -?- waiting reset
2023-08-28T14:43:56.624Z zigbee-herdsman:adapter:ezsp:uart --> Error: Error: {"sequence":-1} after 10000ms
2023-08-28T14:43:56.625Z zigbee-herdsman:adapter:ezsp:driv Reset connection. Try 0
2023-08-28T14:43:56.625Z zigbee-herdsman:adapter:ezsp:driv Stop driver
2023-08-28T14:43:56.625Z zigbee-herdsman:adapter:ezsp:ezsp Stop ezsp
2023-08-28T14:43:56.625Z zigbee-herdsman:adapter:ezsp:ezsp Close ezsp
2023-08-28T14:43:56.625Z zigbee-herdsman:adapter:ezsp:driv Close driver
Error: Reset error: Error: {"sequence":-1} after 10000ms
    at /app/node_modules/zigbee-herdsman/src/adapter/ezsp/driver/uart.ts:299:23
    at Queue.executeNext (/app/node_modules/zigbee-herdsman/src/utils/queue.ts:32:32)

Je spoile la résolution de mon problème jusqu’ici…
=> Déconnecter/Reconnecter physiquement la clé et relancer l’host !
Chose totalement absurde lorsqu’on souhaite faire une domotique 100% disponible… :face_with_symbols_over_mouth:

=======================================================
**Voici la longue liste de chose que j’ai déjà réalisé, resté sans effet

  1. Mettre dans la configuration Z2M server: mqtt://192.168.1.10:1883
  2. Mettre dans la configuration Z2M server: mqtt://core-mosquitto:1883
  3. Mettre dans la configuration Z2M server: mqtt://192.168.1.10
  4. Mettre dans la configuration Z2M server: mqtt://core-mosquitto
  5. Mettre dans la configuration Z2M port: /dev/ttyACM0
  6. Mettre dans la configuration Z2M port: /dev/ttyACM0 /dev/serial/by-id/usb-1a86_USB_Single_Serial_54DD002997-if00
  7. Mettre dans la configuration adapter: ezsp comme j’ai une clé SONOFF DONGLE-E
  8. Acheter une clé SONOFF DONGLE-P ne pas mettre du coup ezsp et renseigner le port USB0
  9. Être sur que l’addon Zigbee de base ne s’est pas installé en douce dans le cas 7 et 8
  10. Refaire une autre VM et tester séparément chaque clé
  11. Changer de port sur la machine Optiplex pour la clé, ne pas utliser de rallonge
  12. Acheter un hub auto-alimenté à 45€
  13. Sous Proxmox connecter l’usb par ID
  14. Sous Proxmox connecter l’usb par le passthrough
  15. Mettre à jour proxmox PVE7 → 8
  16. Sous Proxmox 8 activer le partage Ressource Mapping
  17. Mettre à jour le BIOS de l’optiplex Dell 3090
  18. Flasher les clés SONOFF avec les derniers firmwares pour les 2 clés (DONGLE-E et la P)
  19. Du coup refaire les cas de 1 à 15…
  20. Attendre encore un plantage puis venir sur Hacf expliquer ce problème!

Si vous avez une piste…même la moins pertinente je suis preneur :man_shrugging:
En attendant, je vais déco/reco ma clé encore une fois et relancer l’host :fu:

Ma configuration


version core-2023.7.3
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.4
os_name Linux
os_version 6.1.45
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.32.1
Stage running
Available Repositories 1274
Downloaded Repositories 8
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 10.5
update_channel stable
supervisor_version supervisor-2023.08.1
agent_version 1.5.1
docker_version 23.0.6
disk_total 62.3 GB
disk_used 17.0 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons File editor (5.6.0), Let’s Encrypt (4.12.9), Mosquitto broker (6.2.1), Zigbee2MQTT (1.32.2-1), Terminal & SSH (9.7.1), ESPHome (2023.7.1), Z-Wave JS (0.1.87), SQLite Web (3.9.2)
Dashboards
dashboards 3
resources 7
views 12
mode storage
Recorder
oldest_recorder_run 6 février 2023 à 10:35
current_recorder_run 28 août 2023 à 07:33
estimated_db_size 7345.05 MiB
database_engine sqlite
database_version 3.41.2

Salut,

C’est une clé combeII ?
Si oui, c’est typiquement un conflit avec autre chose qui utilise la clé en même temps : ZHA ou Deconz …

Salut Pulpy

C’est 1 seule clé SONOFF testée à la fois.
Une fois une SONOFF DONGLE-E, puis une fois une DONGLE-P
Les 4 ports usb testés
1 hub usb auto-alimenté testé
Le 2 clés ont été MAJ côté firmware et testés séparément

Donc pour moi ça reste un souci avec zha

Ok mais je n’ai jamais eu zha

Voilà déco / reco physiquement la clé (SONOFF DONGLE-E) + reboot de l’host
Et ça repart pour un moment (2 heures ou 2 semaines ou bien 2 mois…). Aléatoire :man_shrugging:

Regarde aussi dans les intégrations masquées.
Quand tu débranches la clé, elle n’est plus utilisée par l’autre processus… Et comme Z2m démarre en premier, il prends la clé.
Il y a plein d’exemples sur le forum

Tu voudrais dire que ZHA viendrait s’installer sans que je le demande au bout de plusieurs semaines utilisation et profiterait pour « piquer » la place de Z2M ?

Non, ZHA n’est pas un coucou, apparemment ce n’est pas installé chez toi.

Nouveau plantage ce matin et je ne suis pas chez moi pour déco/reco la clé physiquement.
Pourtant la clé SONOFF est bien visible par HA.

[07:47:53] INFO: Preparing to start...
[07:47:53] INFO: Socat not enabled
[07:47:53] INFO: Zigbee Herdsman debug logging enabled
[07:47:53] INFO: Starting Zigbee2MQTT...
Zigbee2MQTT:debug 2023-08-29 07:47:55: Loaded state from file /config/zigbee2mqtt/state.json
Zigbee2MQTT:info  2023-08-29 07:47:55: Logging to console and directory: '/config/zigbee2mqtt/log/2023-08-29.07-47-55' filename: log.txt
Zigbee2MQTT:debug 2023-08-29 07:47:55: Removing old log directory '/config/zigbee2mqtt/log/2023-08-28.20-48-37'
Zigbee2MQTT:info  2023-08-29 07:47:55: Starting Zigbee2MQTT version 1.32.2 (commit #unknown)
Zigbee2MQTT:info  2023-08-29 07:47:55: Starting zigbee-herdsman (0.17.2)
Zigbee2MQTT:debug 2023-08-29 07:47:55: Using zigbee-herdsman with settings: '{"adapter":{"concurrent":null,"delay":null,"disableLED":false},"backupPath":"/config/zigbee2mqtt/coordinator_backup.json","databaseBackupPath":"/config/zigbee2mqtt/database.db.backup","databasePath":"/config/zigbee2mqtt/database.db","network":{"channelList":[11],"extendedPanID":[221,221,221,221,221,221,221,221],"networkKey":"HIDDEN","panID":6754},"serialPort":{"adapter":"ezsp","path":"/dev/ttyACM0"}}'
2023-08-29T05:47:55.174Z zigbee-herdsman:adapter Failed to validate path: 'Error: spawn udevadm ENOENT'
2023-08-29T05:47:55.175Z zigbee-herdsman:controller:log Starting with options '{"network":{"networkKeyDistribute":false,"networkKey":[1,3,5,7,9,11,13,15,0,2,4,6,8,10,12,13],"panID":6754,"extendedPanID":[221,221,221,221,221,221,221,221],"channelList":[11]},"serialPort":{"path":"/dev/ttyACM0","adapter":"ezsp"},"databasePath":"/config/zigbee2mqtt/database.db","databaseBackupPath":"/config/zigbee2mqtt/database.db.backup","backupPath":"/config/zigbee2mqtt/coordinator_backup.json","adapter":{"disableLED":false,"concurrent":null,"delay":null}}'
2023-08-29T05:47:55.176Z zigbee-herdsman:adapter:ezsp:uart Opening SerialPort with {"path":"/dev/ttyACM0","baudRate":115200,"rtscts":false,"autoOpen":false}
2023-08-29T05:47:55.185Z zigbee-herdsman:adapter:ezsp:uart Serialport opened
2023-08-29T05:47:55.185Z zigbee-herdsman:adapter:ezsp:uart Uart reseting
2023-08-29T05:47:55.185Z zigbee-herdsman:adapter:ezsp:uart --> Write reset
2023-08-29T05:47:55.186Z zigbee-herdsman:adapter:ezsp:uart --> [1ac038bc7e]
2023-08-29T05:47:55.187Z zigbee-herdsman:adapter:ezsp:uart -?- waiting reset
2023-08-29T05:48:05.187Z zigbee-herdsman:adapter:ezsp:uart --> Error: Error: {"sequence":-1} after 10000ms
2023-08-29T05:48:05.188Z zigbee-herdsman:adapter:ezsp:driv Reset connection. Try 0
2023-08-29T05:48:05.188Z zigbee-herdsman:adapter:ezsp:driv Stop driver
2023-08-29T05:48:05.188Z zigbee-herdsman:adapter:ezsp:ezsp Stop ezsp
2023-08-29T05:48:05.188Z zigbee-herdsman:adapter:ezsp:ezsp Close ezsp
2023-08-29T05:48:05.189Z zigbee-herdsman:adapter:ezsp:driv Close driver
Error: Reset error: Error: {"sequence":-1} after 10000ms
    at /app/node_modules/zigbee-herdsman/src/adapter/ezsp/driver/uart.ts:299:23
    at Queue.executeNext (/app/node_modules/zigbee-herdsman/src/utils/queue.ts:32:32)

A vérifier, mais vous êtes pas le seul : What could be wrong? cant get it working... · Koenkk/zigbee2mqtt · Discussion #17497 · GitHub

1 « J'aime »

Autre idée à réaliser, si déjà vous êtes sous Promox, sortir l’addon Z2M de la VM HA, et le mettre en tant que LXC sur Proxmox. Sur ce formidable site vous trouverez le nécessaire pour faire un déploiement rapide de Z2M

2 « J'aime »

et j’ai trouvé aussi ça : Z2m problems - #12 by vapuskin - Zigbee - Home Assistant Community

1 « J'aime »

Oui je pense tenter cette solution. Voir même dans le mettre sur une autre machine.
Car depuis le début, la seule chose que je n’ai pas changé, c’est la machine hôte elle-même.

Un peu fatigué mais comment faire la connexion avec Z2M sur une autre machine et Ha ? Cela se fait via le broker ?

c’est à cette ligne là qu’il faudra changer simplement, en remplaçant core-mosquitto vers l’@IP qui « héberge » le service MQTT (addon HA ou LXC à part entière). En l’occurence et ça semble être entre autre votre VM HA; donc l’adresse IP (ou le nom DNS) de cette VM (=192.168.1.10)

Attention sur la conbee II et zigbee2mqtt il faut vigiler le firmware de la clé
J’ai eu des déboires il y a quelques semaines mois que j’avais partagé ici.

Il est clairement indiqué dans la doc le firmware à avoir pour ne pas avoir de soucis de stabilité

D’après la doc Z2M, au niveau de l’adapter settings, il faut mieux privilégier le chemin commençant par /dev/serial/by-id/ que /dev/tty

J’ai 2 SONOFF (E-P)

Oui j’ai testé les 2 pour le même résultat.

Je vais faire un 20éme test pour éliminer la piste de l’usb faiblard de mon Optiplex.
Depuis un PC portable cette fois avec un proxmox fraichement installé,
Et y faire tourner HA avec Z2M inclus.

Sur Z2M, je supprimerai également de la conf la partie adapter qui semble être optionnelle

Désolé j’ai cru voir conbee

Lors de mes essais sur la SONOFF P j’ai eu ques des instabilités en juillet et je suis revenu assez vite à la conbee beaucoup plus stable et fiable dans mon environnement