Modules NodOn SIN-4-FP-21 : commandes fil pilote qui restent bloquées sous JeeZigbee (EZSP / Zigbee2MQTT)

Bonjour,

Je rencontre un problème récurrent avec mes modules NodOn SIN-4-FP-21 : au bout d’un certain temps, les commandes fil pilote (Confort / Éco / Off, etc.) ne répondent plus.

Généralement, un redémarrage du démon Zigbee2MQTT suffit à résoudre le problème, mais celui-ci réapparaît régulièrement.

Je n’ai pas de log particulier côté z2m, en revanche je constate des erreurs dans le log z2md Je ne sais pas si celles-ci sont directement liées au problème:

0754|[2025-12-13 15:54:43] e[31merrore[39m: 	zh:ezsp:ezsp: Frame changeSourceRouteHandler parsing error: RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: Attempt to access memory outside buffer bounds
0755|[2025-12-13 15:54:43] e[31merrore[39m: 	zh:ezsp:ezsp: Unparsed frame 0xc4. Skipped

Concrètement :

  • la valeur pilot_wire_mode reste sur le mode précédent,
  • le radiateur ne change pas d’état physiquement (par exemple, il continue de chauffer en Confort),
  • le problème apparaît de manière aléatoire sur l’un de mes 7 modules (ce n’est pas toujours le même),
  • et ce quelle que soit la version du firmware des modules.

Résumé de la configuration :

  • Jeedom Luna 4G
  • Jeedom 4.5
  • Intégration des NodOn SIN-4-FP-21 via JeeZigbee
  • Contrôleur Zigbee : EZSP
  • Version de Zigbee2MQTT : 2.2.0
    (versions également testées : 1.42.0, 2.6.3)

Firmwares NodOn SIN-4-FP-21 testés :

  • 3.0.0-1.4.4
  • 3.12.0-1.4.4
  • 3.12.0-3.1.1

Si certains parmi vous une configuration fonctionnelle, je souhaiterais savoir:

  • La version de zigbee2mqtt que vous utilisez.
  • Le contrôleur zigbee
  • Et éventuellement savoir si la version du firmware des nodon a un impact sur le problème…

Merci d’avance pour votre aide,
Bien cordialement,
Louis.

Bonsoir

Déjà, pourquoi ne pas mettre zigbee2mqtt à jour vers 2.6.3.
Les versions 2.7.0 et sup peuvent être problématiques.

C’est possible, mieux vaut tourner sur une version plus récente quand un module a un comportement bizarre.

Antoine

1 « J'aime »

Bonjour,
j’ai exactement la même chose avec les modules Leroy Merlin (copier/coller des Nodon).
Personne n’a trouvé d’explication.
J’ai mis en place un watchdog qui redémarre le démon Z2M si un radiateur n’a pas suivi une commande (déclenché à chaque changement du plugin Thermostat).
J’avais jusqu’à 15 redémarrage par jour.
Depuis que le contrôleur Zigbee de ma Luna a rendu l’âme, j’ai une clée Sonoff et ça semble un peu meilleur (mais j’ai toujours 1 ou 2 blocages par jour).

1 « J'aime »

Merci beaucoup pour votre réponse, je serais curieux de voir le code PHP pour le watchdog(notamment pour relancer la commande lorsqu’elle n’est pas passé une première fois).

Bonjour,
en fait, je ne fais rien!
Le plugin thermostat est déjà prévu pour lancer les commandes toutes les 5 minutes.
Tu peux le voir dans les paramètres avancés:

Le problème est que les modules se bloquent et ne répondent plus aux commandes.
Le plugin continu d’essayer mais se retrouve impuissant.

Le scénario est déclenché sur un changement de puissance du thermostat (pas du radiateur).
Je pars du principe que si la puissance du thermostat change, on a peut-être demandé un changement d’état des radiateurs.
J’ai un seul scénario pour tous les thermostats mais on peut choisir de faire un scénario par thermostat.

J’attend 2 minutes pour laisser une chance aux radiateurs de répondre, ensuite je défini un FLAG à 0 et je prépare un message qui sera envoyé par SMS si le FLAG passe à 1.
Après je fais une série de test pour savoir qui a déclenché le scénario.
Puis je test si la puissance du thermostat est !=0 et que le radiateur n’est pas en confort ou en éco c’est que quelque chose cloche.
Puis un test inverse: si la puissance du thermostat est ==0 mais qu’il n’est pas en HG, etc…

Quand j’ai testé tout le monde, si j’ai trouvé un défaut, le FLAG est passé à 1, j’envoie le SMS et je redémarre le démon

Par exemple:
A 9h25, le thermostat est passé à 0% (l’aire grise) mais le radiateur a continué à consommer de la puissance (en rose).
2 minutes après, il y a un trou: mon scénario a lancé un redémarrage du démon.
Un peu après 9h30, le plugin thermostat a renvoyé l’ordre d’arrêt et cette fois le radiateur a réagit.
image

J’ai fait le ménage dans les canaux Wifi et Zigbee, ça n’a pas amélioré la réception.
J’avais plus de 10 bugs par jour avec le risque de rester à fond ou éteint pendant des heures.
Ce scénario m’a permis de limiter le temps de freeze d’un module à maximum 5 minutes.

Et comme je l’écrivais dans le message précédent, l’utilisation d’une clé Sonoff à la place du contrôleur de la Luna a vraiment réduit les blocages ce qui me fait dire que ce n’est pas uniquement de la faute des modules (attention: le passage à la clé a permis de mettre Z2m de 1.42.0 à 2.7.0 ça a peut-être joué aussi).

Si tu n’utilises pas le plugin Thermostat, j’avais essayé une parade: faire un scénario par radiateur et par mode.
Par exemple:
radiateur1_HG
radiateur1_Confort
etc…
Et tu t’en sers comme des virtuels: au lieu de lancer une commande au radiateur, tu lances le scénario radaiteur1_xx.
Les scénarios sont tous similaires: quand tu le lances, il essaye de mettre le radiateur dans le mode demandé, si ça marche pas, il redémarre le démon et il ré-essaye x fois si besoin.