Wiren BoardDocumentation
Documentation · Français

Problèmes connus du WB-LED

révision 90980

ERRMRGBW-D04 : les valeurs Hue ne changent pas dans MQTT pendant le changement continu de couleur du ruban RGB

Appareils concernés

WB-MRGBW-D et WB-LED depuis la version 3.4.1.

Description

En mode RGB + W, le changement continu de couleur RGB ne génère volontairement pas d’événements du registre Hue. Hue change très fréquemment et générerait un trafic excessif sur le bus. Les appareils dont l’adresse est supérieure à celle du WB-LED ou du WB-MRGBW-D risqueraient alors de ne pas être interrogés.

Solution de contournement

Modifiez le modèle d’appareil : dans la section du registre RGB Strip Hue (adresse 2014), réglez le paramètre sporadic sur false.

Résolution

Mettez à jour le contrôleur Wiren Board vers wb-2407 ou ultérieur. Si wb-2407 est déjà installé, mettez ses paquets à jour. Cette mise à jour désactive les événements du registre Hue.

Depuis le micrologiciel 3.8.0, les événements Hue sont de nouveau générés pendant le changement continu de couleur : un délai limite leur fréquence pendant l’ajustement automatique de teinte pour éviter de surcharger le bus. Dans les modèles WB-LED et WB-MRGBW-D à partir de wb-mqtt-serial 2.255.0, RGB Strip Hue (adresse 2014) utilise de nouveau le mode sporadic. Le contournement manuel n’est plus nécessaire.

ERRMRGBW-D05 : les actions à la mise sous tension et en mode de sécurité fonctionnent incorrectement

Appareils concernés

WB-MRGBW-D et WB-LED avec les micrologiciels 3.5.0 à 3.5.2 inclus.

Description

Dans les modes de fonctionnement suivants :

  • tout mode avec un ruban CCT
  • RGB+W

les actions à la mise sous tension et en mode de sécurité fonctionnent incorrectement.

Le modèle wb-mqtt-serial comporte également des libellés incorrects pour les actions à la mise sous tension : interprétez No action comme Switch off et Switch off comme Restore previous state.

Résolution

Corrigé dans le micrologiciel 3.5.3 et wb-mqtt-serial v2.157.1. Mettez à jour le micrologiciel de l’appareil et le logiciel du contrôleur.

ERRMRGBW-D06 : les registres de configuration des actions par type d’appui fonctionnent incorrectement

Appareils concernés

WB-MRGBW-D et WB-LED avec les micrologiciels 3.5.0 à 3.5.2 inclus.

Description

Les registres de configuration des actions aux adresses 768–819 et 832–883 fonctionnent incorrectement.

Solution de contournement

Utilisez les registres 1000–1063 pour configurer les actions.

Résolution

Aucune correction n’est prévue. Les registres défectueux ont été supprimés à partir du micrologiciel 3.5.3.

ERRMRGBW-D07 : les registres de niveau de canal reviennent aux valeurs par défaut à la mise sous tension du variateur

Appareils concernés

WB-MRGBW-D et WB-LED avec les micrologiciels 3.5.0 à 3.5.2 inclus.

Description

Un bogue du micrologiciel chargeait les niveaux de canaux par défaut à la mise sous tension plutôt que les valeurs présentes à la coupure.

Résolution

Corrigé dans le micrologiciel 3.5.3. Mettez à jour le micrologiciel de l’appareil.

ERRMRGBW-D08 : les actions d’entrée fonctionnent toujours en mode de sécurité, quels que soient les paramètres

Appareils concernés

WB-MRGBW-D et WB-LED avec les micrologiciels 3.5.0 à 3.5.2 inclus.

Description

Un bogue du micrologiciel fait fonctionner systématiquement les actions d’entrée des boutons-poussoirs ou interrupteurs en mode de sécurité, quel que soit le paramètre Input control in safe mode.

Résolution

Corrigé dans le micrologiciel 3.5.3. Mettez à jour le micrologiciel de l’appareil.

ERRMODBUS001 : l’appareil répond à l’adresse 0xFD

Appareils concernés

WB-MRGBW-D et WB-LED avec un micrologiciel antérieur à 3.4.4.

Description

Les appareils Fast Modbus peuvent perturber des appareils tiers du même bus si ceux-ci utilisent des commandes spéciales commençant par 0xFD.

Cause et détails

Fast Modbus réserve 0xFD aux commandes spéciales en diffusion. Si une requête tierce commence par 0xFD mais utilise une commande extérieure à Fast Modbus, les appareils Wiren Board concernés répondent MODBUS_ERR_ILLEGAL_FUNCTION, perturbant l’autre échange. Le pilote du bus traite à tort le paquet comme du trafic Modbus ordinaire.

Solution de contournement

Évitez de partager un bus entre les appareils Wiren Board concernés et des appareils tiers.

Résolution

Corrigé dans le micrologiciel 3.4.4.


ERRMODBUS002 : réponse incorrecte à la commande de détection 0x46

Appareils concernés

WB-MRGBW-D et WB-LED avec un micrologiciel antérieur à 3.4.2.

Description

Fast Modbus utilisait initialement la fonction 0x60, remplacée ensuite par 0x46 parce que 0x60 se trouvait dans une plage réservée. La rétrocompatibilité conservait les deux codes de requête, mais l’appareil répondait toujours avec 0x60. La correction fait répondre avec la même fonction que celle de la requête : 0x46 ou 0x60.

Mesure corrective

Mettez à jour le micrologiciel vers 3.4.2.

Résolution

Corrigé dans le micrologiciel 3.4.2.


ERRMODBUS003 : comportement inattendu lors de l’écriture de valeurs invalides dans certains registres

Appareils concernés

WB-MRGBW-D et WB-LED avec un micrologiciel antérieur à 3.5.3.

Description

Lorsque des valeurs dans la plage [256 ... 65535] sont écrites dans certains registres, les 8 bits de poids fort sont supprimés et le micrologiciel reçoit la valeur modulo 256. Par exemple, écrire 257 a le même effet qu’écrire 1.

Le registre d’adresse de l’appareil (128) fait partie des registres concernés.

Tous les registres fonctionnent comme prévu dans leurs plages documentées. Le problème survient lors de l’écriture de valeurs invalides supérieures à 255.

Mesure corrective

Mettez à jour le micrologiciel vers 3.5.3.

Résolution

Corrigé dans le micrologiciel 3.5.3.


ERRMODBUS004 : réponses incorrectes à champs de bits

Appareils concernés

WB-MRGBW-D et WB-LED avec un micrologiciel antérieur à 3.4.2.

Description

Les réponses contenant des champs de bits, notamment les lectures de bobines/entrées discrètes et la gestion des événements, pouvaient contenir des bits de poids fort incorrects.

Mesure corrective

Mettez à jour le micrologiciel vers 3.4.2.

Résolution

Corrigé dans le micrologiciel 3.4.2.


ERRMODBUS005 : lecture incorrecte de différents registres de bobines dans une même requête

Appareils concernés

WB-MRGBW-D et WB-LED avec un micrologiciel antérieur à 3.4.4.

Description

La lecture de plusieurs registres de bobines différents à des adresses consécutives dans une même requête renvoyait des valeurs incorrectes ; par exemple 2 et 3 dans WB-MSW/WB-MWAC, ou 3 et 4 dans WB-LED.

Mesure corrective

Mettez à jour le micrologiciel vers 3.4.4.

Résolution

Corrigé dans le micrologiciel 3.4.4.


ERRMODBUS006 : réponses aux requêtes avec parité incorrecte

Appareils concernés

WB-MRGBW-D et WB-LED avec un micrologiciel antérieur à 3.5.1.

Description

L’appareil répondait aux requêtes avec parité incorrecte au lieu de les ignorer.

Mesure corrective

Mettez à jour le micrologiciel vers 3.5.1.

Résolution

Corrigé dans le micrologiciel 3.5.1.


ERRMODBUS007 : perte d’événements lorsque deux appareils émettent simultanément sur un même bus

Appareils concernés

WB-MRGBW-D et WB-LED avec un micrologiciel antérieur à 3.8.0.

Description

Lorsque deux appareils d’un même bus ont simultanément des événements en attente, l’un d’eux peut transmettre un paquet d’événements incomplet.

Cause et détails

Dans Fast Modbus, le maître demande les événements. Tous les appareils ayant des événements en attente participent à l’arbitrage ; le gagnant répond et les autres attendent la requête suivante.

Un événement généré attend sa transmission. Après que l’appareil a placé sa trame sur le bus, l’événement est marqué comme envoyé. Le prochain acquittement du maître destiné à cet appareil retire les événements envoyés de sa file. C’est le mécanisme normal d’acquittement.

Le défaut marquait les événements comme envoyés trop tôt, dès la réception de la requête d’événements, avant la fin de l’arbitrage. Si l’appareil gagnait l’arbitrage, le fonctionnement était normal. S’il le perdait, aucun paquet n’était transmis, mais ses événements étaient déjà marqués comme envoyés. Un acquittement ultérieur destiné à cet appareil acquittait aussi ces événements non envoyés, les retirant de la file avant qu’ils n’atteignent le maître.

La valeur dans l’interface web n’est pas mise à jour et aucun message MQTT n’est publié, alors que les registres de l’appareil restent corrects. La notification de changement est perdue.

Par exemple, si des entrées de deux modules à relais du même bus se ferment simultanément, un module peut se mettre à jour correctement dans l’interface web tandis que l’autre perd certains événements et apparaît encore dans son état précédent malgré la commutation physique.

Solution de contournement

Désactivez temporairement le fonctionnement par événements pour les registres concernés en réglant sporadic sur false dans le modèle d’appareil. Les registres seront alors interrogés à l’intervalle configuré.

Résolution

Corrigé dans le micrologiciel 3.8.0.


ERRMODBUS008 : comportement inattendu avec de longues trames de requête

Appareils concernés

WB-MRGBW-D et WB-LED avec un micrologiciel antérieur à 3.8.1.

Description

La réception d’une trame de plus de 265 octets, longueur maximale d’une trame Fast Modbus, peut bloquer et redémarrer l’appareil ; les paramètres peuvent aussi être perdus dans certains cas.

Cause et détails

L’algorithme de réception ne gérait pas les requêtes invalides trop longues, provoquant un débordement de tampon et une corruption de la mémoire adjacente. L’appareil se bloque et le chien de garde le redémarre. Des trames très longues, au-delà d’environ 500 octets, peuvent aussi corrompre les paramètres, provoquant un redémarrage avec les paramètres de communication par défaut : 9600 8N2, adresse 1.

Solution de contournement

  • N’envoyez pas de requêtes dépassant les limites de Modbus RTU ou Fast Modbus (265 octets pour Fast Modbus).
  • Ne raccordez pas l’appareil à un bus transportant du trafic autre que Modbus ou des messages de plus de 265 octets.

Résolution

Corrigé dans le micrologiciel 3.8.1.


ERRMODBUS009 : comportement inattendu lors de lectures près de l’adresse 0xFFFF en mode de lecture continue

Appareils concernés

WB-MRGBW-D et WB-LED avec un micrologiciel antérieur à 3.8.1.

Description

Lorsque le mode de lecture continue est activé, une plage de lecture atteignant ou franchissant l’adresse 0xFFFF peut bloquer et redémarrer l’appareil.

Cause et détails

L’algorithme de lecture continue ne gérait pas le débordement du compteur d’adresses de registres sur 16 bits. La lecture de 0xFFFF faisait reboucler le compteur et provoquait une boucle infinie, suivie d’une réinitialisation par le chien de garde.

Solution de contournement

Lorsque le mode de lecture continue est activé, ne lisez pas de plage comprenant 0xFFFF. Les appareils Wiren Board n’ont aucun registre implémenté à cette adresse.

Résolution

Corrigé dans le micrologiciel 3.8.1.


ERRMODBUS010 : validation incorrecte des requêtes et traitement incorrect des requêtes invalides

Appareils concernés

WB-MRGBW-D et WB-LED avec un micrologiciel antérieur à 3.8.1.

Description

L’appareil peut accepter ou mal traiter des requêtes dont la syntaxe est invalide, renvoyer un code d’exception incorrect ou imposer une limite incorrecte de nombre de registres.

Cause et détails

L’algorithme de validation gère incorrectement les cas suivants :

1) Les requêtes de lecture de zéro registre réussissent avec une réponse vide contenant uniquement un en-tête et un CRC. Modbus exige l’exception 0x03 (ILLEGAL_DATA_VALUE).

2) Une limite unique de 125 registres est appliquée à toutes les fonctions de lecture/écriture ; son dépassement renvoie 0x02 (ILLEGAL_DATA_ADDRESS). Modbus spécifie au contraire des limites de 2000 bits pour les lectures de bits, de 125 registres pour les lectures d’entrée/de maintien, de 1968 bobines pour les écritures multiples de bobines et de 123 registres de maintien pour les écritures multiples de registres. Le dépassement de la limite applicable devrait renvoyer 0x03 (ILLEGAL_DATA_VALUE).

3) Byte Count n’est pas validé pour les écritures multiples (0x0F et 0x10). Une différence entre Byte Count et le nombre de registres devrait renvoyer 0x03 (ILLEGAL_DATA_VALUE).

4) Les écritures d’une bobine ne valident pas la valeur et utilisent le bit de poids fort de la valeur de requête. Modbus n’autorise que 0x0000 et 0xFF00 ; toutes les autres valeurs devraient renvoyer 0x03 (ILLEGAL_DATA_VALUE).

5) Les requêtes de structure invalide avec un CRC valide, comme les requêtes trop longues, sont traitées normalement. Ces requêtes mal formées devraient au contraire être ignorées.

6) Des trames de structure valide mais trop longues, de 257–265 octets, sont traitées. Les trames Modbus standard de plus de 256 octets sont invalides et devraient être ignorées.


Solution de contournement

N’envoyez que des requêtes de structure correcte conformes à la spécification Modbus.

Résolution

Corrigé dans le micrologiciel 3.8.1.


ERRMODBUS011 : traitement incorrect des requêtes invalides de configuration d’événements Fast Modbus

Appareils concernés

WB-MRGBW-D et WB-LED avec un micrologiciel antérieur à 3.8.1.

Description

Une commande de configuration d’événements (EVENT_CTRL, cmd=0x46, sub_cmd=0x18) comportant des champs de longueur invalides peut configurer incorrectement les notifications d’événements et produire une réponse de longueur imprévisible.

Cause et détails

Le gestionnaire de configuration d’événements Fast Modbus ne validait pas les champs de taille et de longueur des blocs de données internes. Des longueurs invalides peuvent l’amener à traiter des données au-delà de la trame reçue, avec pour conséquences :

1) Des paramètres incorrects de notification d’événements, notamment des changements spontanés de priorités ou de masques d’événements.

2) Une réponse de configuration d’événements de longueur imprévisible.

Solution de contournement

N’envoyez que des commandes Fast Modbus valides et conformes à sa spécification.

Résolution

Corrigé dans le micrologiciel 3.8.1.


ERRMODBUS012 : l’appareil cesse de transmettre des événements Fast Modbus

Appareils concernés

WB-MRGBW-D et WB-LED avec un micrologiciel antérieur à 3.9.2.

Description

L’appareil cesse d’envoyer des événements Fast Modbus et signale continuellement qu’il n’y a aucun événement (sub_cmd=0x12) en réponse aux requêtes d’événements (cmd=0x46, sub_cmd=0x10). Les commandes de l’interface web se figent alors que les registres de l’appareil continuent de changer.

Plus une valeur avec événements activés change souvent, plus le problème survient tôt. Lors d’essais avec un anti-rebond de 1 ms, la transmission d’événements s’est arrêtée après 23 minutes à 200 impulsions d’entrée par seconde et après plusieurs heures à 100 impulsions par seconde. Le problème peut aussi survenir avec des changements peu fréquents, mais c’est beaucoup moins probable. Le pilote ne journalise aucune erreur, car l’appareil indique valablement qu’aucun événement n’est en attente.

Pour le diagnostic, lisez directement le registre sans événements, par exemple le compteur d’impulsions d’entrée :

modbus_client_rpc -mrtu -pnone -s2 /dev/ttyRS485-1 -b115200 -a1 -r32 -t0x03

Si le registre augmente mais que la commande de l’interface web reste inchangée, ce problème est présent.

Cause et détails

Le compteur d’événements non envoyés est partagé entre un gestionnaire d’interruptions et la boucle principale sans synchronisation correcte. Une interruption pendant une opération de lecture-modification-écriture de la boucle principale peut faire perdre un incrément du compteur. Cet incrément ne peut pas être récupéré, car il n’a lieu qu’à la première insertion d’un événement dans la file. L’appareil croit alors n’avoir rien à envoyer malgré les événements en attente.

Cet état persiste jusqu’au redémarrage de l’appareil. Un autre événement peut temporairement vider la file accumulée et mettre à jour la commande une fois, mais l’incohérence réapparaît immédiatement. Une installation sans autres changements semble donc figée.

La probabilité augmente avec la fréquence des événements et la charge du bus, car les accès simultanés deviennent plus probables.

Solution de contournement

Redémarrer l’appareil rétablit les événements jusqu’à la réapparition du problème. Redémarrer le contrôleur ou relancer wb-mqtt-serial n’aide pas : l’état est conservé dans l’appareil, et reconfigurer les événements ne le réinitialise pas.

Réduisez la probabilité en augmentant le temps d’anti-rebond des entrées ou en désactivant les événements pour les registres qui changent souvent. Jusqu’à la mise à jour du micrologiciel, lisez les valeurs directement dans les registres.

Résolution

Corrigé dans le micrologiciel 3.9.2.


ERRLED0001 : aucune action d’appui court configurée pour les entrées 1–3

Appareils concernés

Tous les WB-LED v1.3A, v1.3A/T, v1.3C, v1.3H, v1.3I, v1.3I/1, v1.3I/2, v1.3J/1, v1.3J/1A, v1.3J/2, v1.3J/2A, v1.3K, v1.3L, v1.3M, v1.3M/1, V1.4A, V1.4A/1, v1.4A/2, v1.4B, v1.4B/1, v1.4C, v1.5A, v1.5A/1, v1.5A/2, v1.5A/3, v1.5B, v1.5B/1, v1.5B/2, v4.3M

Description

Une erreur du test de fabrication a empêché le rétablissement des paramètres par défaut après le test. Les appareils sont sortis de production avec des paramètres incorrects :

  • Action d’appui court de l’entrée 1 : Disabled au lieu de Toggle RGB
  • Action d’appui court de l’entrée 2 : Disabled au lieu de Increase RGB strip hue (HSV-H, with wraparound)
  • Action d’appui court de l’entrée 3 : Disabled au lieu de Toggle channel 4

Solution de contournement

  • Utilisez l’interface web du contrôleur et le modèle d’appareil pour régler les valeurs correspondantes
  • Écrivez manuellement 0x3009 dans le registre 0x1000, 0x900e dans 0x1001 et 0x3003 dans 0x1002

Résolution

Corrigé dans le lot v1.5B/3

ERRLED0002 : inversion de phase incorrecte en mode 4W

Appareils concernés

Tous les appareils WB-LED avec les micrologiciels 3.5.0 à 3.6.0 inclus.

Concerne le mode 4W, avec tous les canaux raccordés en parallèle.

Description

Pour répartir uniformément la charge de l’alimentation, les paires de canaux 1–2 et 3–4 fonctionnent en opposition de phase, sauf en mode 4W.

Un bogue du micrologiciel chargeait incorrectement le paramètre d’inversion de phase depuis la mémoire non volatile au démarrage. Les paires de canaux 1–2 et 3–4 fonctionnaient donc toujours en opposition de phase, même en mode 4W avec tous les canaux en parallèle. Cela pouvait déclencher la protection contre les surintensités. L’inversion de phase fonctionne correctement après un passage en mode 4W, jusqu’au redémarrage suivant.

Solution de contournement

  • solution recommandée : mettre à jour le micrologiciel vers 3.6.1 ou ultérieur
  • après redémarrage, passer dans un autre mode puis revenir à 4W

Résolution

Corrigé dans le micrologiciel 3.6.1.

ERRLED0003 : rétablissement incorrect après déclenchement sur surintensité pour les canaux en parallèle

Appareils concernés

Tous les appareils WB-LED avec un micrologiciel jusqu’à 3.6.0 inclus.

Concerne les modes de variateur 2W+W+W, W+W+2W, 2W+2W, CCT+2W, 2W+CCT et 4W.

Description

Un bogue du micrologiciel active les canaux un par un après un déclenchement de protection contre les surintensités, même lorsque le mode de fonctionnement exige des canaux en parallèle. Cela peut dépasser la limite de courant d’un canal individuel et déclencher à nouveau la protection.

Solution de contournement

Mettez à jour le micrologiciel vers 3.6.1 ou ultérieur.

Résolution

Corrigé dans le micrologiciel 3.6.1. Les canaux en parallèle s’activent simultanément.

ERRLED0004 : le variateur ne peut pas fonctionner à pleine charge avec des canaux en parallèle

Appareils concernés

Tous les appareils WB-LED avec un micrologiciel jusqu’à 3.6.0 inclus.

Concerne les modes de variateur 2W+W+W, W+W+2W, 2W+2W, CCT+2W, 2W+CCT et 4W.

Description

Un bogue du micrologiciel mettait à jour les valeurs PWM de manière asynchrone, permettant à un canal en parallèle de s’activer avant les autres. Le courant traversait alors un seul transistor jusqu’à l’activation des autres transistors en parallèle, déclenchant la protection matérielle contre les surintensités.

Solution de contournement

Mettez à jour le micrologiciel vers 3.6.1 ou ultérieur.

Résolution

Corrigé dans le micrologiciel 3.6.1. La PWM est appliquée de façon synchrone aux canaux en parallèle.

ERRLED0005 : la puissance totale des canaux de ruban CCT n’est pas normalisée

Appareils concernés

WB-LED et WB-MRGBW-D avec un micrologiciel jusqu’à 3.6.1 inclus

Concerne les modes de variateur CCT+W+W, CCT+2W, W+W+CCT, 2W+CCT et CCT+CCT.

Description

L’algorithme de mélange CCT ne maintient pas une puissance totale constante. La puissance augmente à mesure que la température de couleur approche du milieu de la plage et atteint son maximum à 50%, lorsque les deux canaux fonctionnent à pleine luminosité.

Solution de contournement

Mettez à jour le micrologiciel vers 3.7.0 ou ultérieur. Activez CCT strip power normalization.

Résolution

Corrigé dans le micrologiciel 3.7.0