Problemi noti di WB-LED
ERRMRGBW-D04: i valori Hue non cambiano in MQTT durante la variazione continua del colore della striscia RGB
Dispositivi interessati
WB-MRGBW-D e WB-LED dalla versione 3.4.1.
Descrizione
In modalità RGB + W, la variazione continua del colore RGB non genera intenzionalmente eventi del registro Hue. Hue cambia molto frequentemente e genererebbe un traffico eccessivo sul bus. I dispositivi con indirizzi superiori a quello di WB-LED o WB-MRGBW-D rischierebbero quindi di non essere interrogati.
Soluzione temporanea
Modificare il template del dispositivo: nella sezione del registro RGB Strip Hue (indirizzo 2014), impostare il parametro sporadic su false.
Risoluzione
Aggiornare il controllore Wiren Board alla release wb-2407 o successiva. Se wb-2407 è già installata, aggiornare i relativi pacchetti. Questo aggiornamento disabilita gli eventi del registro Hue.
Dal firmware 3.8.0, gli eventi Hue vengono nuovamente generati durante la variazione continua del colore: un ritardo limita la frequenza degli eventi durante la regolazione automatica della tonalità per evitare di sovraccaricare il bus. Nei template WB-LED e WB-MRGBW-D a partire da wb-mqtt-serial 2.255.0, RGB Strip Hue (indirizzo 2014) utilizza nuovamente la modalità sporadic. La soluzione temporanea manuale non è più necessaria.
ERRMRGBW-D05: le azioni all’accensione e in modalità sicura non funzionano correttamente
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware da 3.5.0 a 3.5.2 inclusi.
Descrizione
Nelle seguenti modalità di funzionamento:
- qualsiasi modalità con una striscia CCT
- RGB+W
le azioni all’accensione e in modalità sicura funzionano in modo errato.
Anche il template wb-mqtt-serial presenta etichette errate delle azioni all’accensione: leggere No action come Switch off e Switch off come Restore previous state.
Risoluzione
Corretto nel firmware 3.5.3 e in wb-mqtt-serial v2.157.1. Aggiornare il firmware del dispositivo e il software del controllore.
ERRMRGBW-D06: i registri di configurazione delle azioni per tipo di pressione funzionano in modo errato
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware da 3.5.0 a 3.5.2 inclusi.
Descrizione
I registri di configurazione delle azioni agli indirizzi 768–819 e 832–883 funzionano in modo errato.
Soluzione temporanea
Utilizzare i registri 1000–1063 per configurare le azioni.
Risoluzione
Non è prevista una correzione. I registri difettosi sono stati rimossi dal firmware a partire dalla versione 3.5.3.
ERRMRGBW-D07: i registri dei livelli dei canali tornano ai valori predefiniti all’accensione del dimmer
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware da 3.5.0 a 3.5.2 inclusi.
Descrizione
Un errore del firmware causava il caricamento dei valori predefiniti dei livelli dei canali all’accensione, anziché dei valori presenti allo spegnimento.
Risoluzione
Corretto nel firmware 3.5.3. Aggiornare il firmware del dispositivo.
ERRMRGBW-D08: le azioni degli ingressi funzionano sempre in modalità sicura, indipendentemente dalle impostazioni
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware da 3.5.0 a 3.5.2 inclusi.
Descrizione
Un errore del firmware fa sì che le azioni degli ingressi da pulsanti o interruttori funzionino sempre in modalità sicura, indipendentemente dall’impostazione Input control in safe mode.
Risoluzione
Corretto nel firmware 3.5.3. Aggiornare il firmware del dispositivo.
ERRMODBUS001: il dispositivo risponde all’indirizzo 0xFD
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware precedente a 3.4.4.
Descrizione
I dispositivi Fast Modbus possono interferire con dispositivi di terzi sullo stesso bus se questi utilizzano comandi speciali che iniziano con 0xFD.
Causa e dettagli
Fast Modbus riserva 0xFD ai comandi broadcast speciali. Se una richiesta di terzi inizia con 0xFD ma utilizza un comando estraneo a Fast Modbus, i dispositivi Wiren Board interessati rispondono con MODBUS_ERR_ILLEGAL_FUNCTION, disturbando l’altro scambio. Il driver del bus tratta erroneamente il pacchetto come normale traffico Modbus.
Soluzione temporanea
Evitare di condividere il bus tra i dispositivi Wiren Board interessati e i dispositivi di terzi.
Risoluzione
Corretto nel firmware 3.4.4.
ERRMODBUS002: risposta errata al comando di rilevamento 0x46
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware precedente a 3.4.2.
Descrizione
Fast Modbus utilizzava inizialmente la funzione 0x60, poi modificata in 0x46 perché 0x60 si trovava in un intervallo riservato. La compatibilità con le versioni precedenti manteneva entrambi i codici di richiesta, ma il dispositivo rispondeva sempre con 0x60. La correzione fa rispondere con la stessa funzione utilizzata nella richiesta: 0x46 oppure 0x60.
Rimedio
Aggiornare il firmware alla versione 3.4.2.
Risoluzione
Corretto nel firmware 3.4.2.
ERRMODBUS003: comportamento imprevisto quando vengono scritti valori non validi in alcuni registri
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware precedente a 3.5.3.
Descrizione
Quando valori nell’intervallo [256 ... 65535] vengono scritti in alcuni registri, gli 8 bit superiori vengono scartati e il firmware riceve il valore modulo 256. Ad esempio, scrivere 257 ha lo stesso effetto di scrivere 1.
Il registro dell’indirizzo del dispositivo (128) è uno di quelli interessati.
Tutti i registri funzionano come previsto entro i campi documentati. Il problema si verifica quando vengono scritti valori non validi superiori a 255.
Rimedio
Aggiornare il firmware alla versione 3.5.3.
Risoluzione
Corretto nel firmware 3.5.3.
ERRMODBUS004: risposte errate con campi di bit
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware precedente a 3.4.2.
Descrizione
Le risposte contenenti campi di bit, comprese le letture di coil/ingressi discreti e la gestione degli eventi, potevano contenere bit alti errati.
Rimedio
Aggiornare il firmware alla versione 3.4.2.
Risoluzione
Corretto nel firmware 3.4.2.
ERRMODBUS005: lettura errata di registri coil diversi in una sola richiesta
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware precedente a 3.4.4.
Descrizione
La lettura di più registri coil diversi a indirizzi consecutivi in una sola richiesta restituiva valori errati; tra gli esempi vi sono 2 e 3 in WB-MSW/WB-MWAC oppure 3 e 4 in WB-LED.
Rimedio
Aggiornare il firmware alla versione 3.4.4.
Risoluzione
Corretto nel firmware 3.4.4.
ERRMODBUS006: risposte a richieste con parità errata
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware precedente a 3.5.1.
Descrizione
Il dispositivo rispondeva alle richieste con parità errata anziché ignorarle.
Rimedio
Aggiornare il firmware alla versione 3.5.1.
Risoluzione
Corretto nel firmware 3.5.1.
ERRMODBUS007: perdita di eventi quando due dispositivi trasmettono contemporaneamente sullo stesso bus
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware precedente a 3.8.0.
Descrizione
Quando due dispositivi sullo stesso bus hanno contemporaneamente eventi in attesa, uno dei due può trasmettere un pacchetto di eventi incompleto.
Causa e dettagli
In Fast Modbus, il master richiede gli eventi. Tutti i dispositivi con eventi in attesa partecipano all’arbitraggio; il vincitore risponde, mentre gli altri attendono la richiesta successiva.
Un evento generato attende la trasmissione. Dopo che il dispositivo ha immesso il proprio frame sul bus, l’evento viene contrassegnato come inviato. La successiva conferma del master per quel dispositivo rimuove dalla coda gli eventi inviati. Questo è il normale meccanismo di conferma.
Il difetto contrassegnava gli eventi come inviati troppo presto, alla ricezione della richiesta di eventi, prima del termine dell’arbitraggio. Se il dispositivo vinceva l’arbitraggio, il funzionamento era normale. Se perdeva, non veniva trasmesso alcun pacchetto, ma gli eventi erano già contrassegnati come inviati. Una conferma successiva per quel dispositivo confermava anche questi eventi non inviati, rimuovendoli dalla coda prima che raggiungessero il master.
Il valore nell’interfaccia web non si aggiorna e non viene pubblicato alcun messaggio MQTT, anche se i registri del dispositivo rimangono corretti. La notifica di variazione va persa.
Ad esempio, se gli ingressi di due moduli relè sullo stesso bus si chiudono contemporaneamente, un modulo può aggiornarsi correttamente nell’interfaccia web mentre l’altro perde alcuni eventi e continua ad apparire nello stato precedente nonostante la commutazione fisica.
Soluzione temporanea
Disabilitare temporaneamente il funzionamento basato sugli eventi per i registri interessati, impostando sporadic su false nel template del dispositivo. I registri verranno quindi interrogati all’intervallo configurato.
Risoluzione
Corretto nel firmware 3.8.0.
ERRMODBUS008: comportamento imprevisto con frame di richiesta lunghi
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware precedente a 3.8.1.
Descrizione
La ricezione di un frame più lungo di 265 byte, lunghezza massima di un frame Fast Modbus, può bloccare e riavviare il dispositivo; in alcuni casi possono andare perse anche le impostazioni.
Causa e dettagli
L’algoritmo di ricezione non gestiva le richieste non valide di dimensioni eccessive, causando un overflow del buffer e la corruzione della memoria adiacente. Il dispositivo si blocca e il watchdog lo riavvia. Frame molto grandi, superiori a circa 500 byte, possono anche corrompere le impostazioni, causando un riavvio con i parametri di comunicazione predefiniti: 9600 8N2, indirizzo 1.
Soluzione temporanea
- Non inviare richieste che superano i limiti di Modbus RTU o Fast Modbus (265 byte per Fast Modbus).
- Non collegare il dispositivo a un bus che trasporta traffico non Modbus o messaggi più lunghi di 265 byte.
Risoluzione
Corretto nel firmware 3.8.1.
ERRMODBUS009: comportamento imprevisto durante la lettura vicino all’indirizzo 0xFFFF in modalità di lettura continua
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware precedente a 3.8.1.
Descrizione
Con la modalità di lettura continua abilitata, un intervallo di lettura che raggiunge o supera l’indirizzo 0xFFFF può bloccare e riavviare il dispositivo.
Causa e dettagli
L’algoritmo di lettura continua non gestiva l’overflow del contatore a 16 bit degli indirizzi dei registri. La lettura di 0xFFFF faceva tornare a zero il contatore e causava un ciclo infinito, seguito da un reset del watchdog.
Soluzione temporanea
Con la modalità di lettura continua abilitata, non leggere un intervallo che include 0xFFFF. I dispositivi Wiren Board non implementano alcun registro a tale indirizzo.
Risoluzione
Corretto nel firmware 3.8.1.
ERRMODBUS010: convalida errata delle richieste e gestione errata delle richieste non valide
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware precedente a 3.8.1.
Descrizione
Il dispositivo può accettare o gestire in modo errato richieste sintatticamente non valide, restituire un codice di eccezione errato oppure imporre un limite errato al numero di registri.
Causa e dettagli
L’algoritmo di convalida gestisce in modo errato questi casi:
1) Le richieste di lettura di zero registri riescono con una risposta senza dati contenente solo intestazione e CRC. Modbus richiede l’eccezione 0x03 (ILLEGAL_DATA_VALUE).
2) Un limite unico di 125 registri viene applicato a tutte le funzioni di lettura/scrittura; il superamento restituisce 0x02 (ILLEGAL_DATA_ADDRESS). Modbus specifica invece limiti di 2000 bit per le letture di bit, 125 registri per le letture di registri di ingresso/holding, 1968 coil per le scritture multiple di coil e 123 registri holding per le scritture multiple di registri. Il superamento del limite pertinente dovrebbe restituire 0x03 (ILLEGAL_DATA_VALUE).
3) Byte Count non viene convalidato per le scritture multiple (0x0F e 0x10). Una mancata corrispondenza tra Byte Count e numero di registri dovrebbe restituire 0x03 (ILLEGAL_DATA_VALUE).
4) Le scritture di una singola coil non convalidano il valore e utilizzano il bit più significativo del valore della richiesta. Modbus ammette solo 0x0000 e 0xFF00; tutti gli altri valori dovrebbero restituire 0x03 (ILLEGAL_DATA_VALUE).
5) Le richieste strutturalmente non valide con CRC valido, ad esempio richieste troppo lunghe, vengono elaborate normalmente. Tali richieste malformate dovrebbero invece essere ignorate.
6) Vengono elaborati frame strutturalmente validi ma sovradimensionati, da 257–265 byte. I frame Modbus standard più lunghi di 256 byte non sono validi e dovrebbero essere ignorati.
Soluzione temporanea
Inviare solo richieste strutturalmente corrette e conformi alle specifiche Modbus.
Risoluzione
Corretto nel firmware 3.8.1.
ERRMODBUS011: gestione errata delle richieste non valide di configurazione degli eventi Fast Modbus
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware precedente a 3.8.1.
Descrizione
Un comando di configurazione degli eventi (EVENT_CTRL, cmd=0x46, sub_cmd=0x18) con campi di lunghezza non validi può configurare in modo errato le notifiche degli eventi e produrre una risposta di lunghezza imprevedibile.
Causa e dettagli
Il gestore di configurazione degli eventi Fast Modbus non convalidava i campi della dimensione e della lunghezza dei blocchi dati interni. Lunghezze non valide possono portarlo a elaborare dati oltre il frame ricevuto, causando:
1) Impostazioni errate delle notifiche degli eventi, comprese variazioni spontanee delle priorità o delle maschere degli eventi.
2) Una risposta di configurazione degli eventi di lunghezza imprevedibile.
Soluzione temporanea
Inviare solo comandi Fast Modbus validi e conformi alle relative specifiche.
Risoluzione
Corretto nel firmware 3.8.1.
ERRMODBUS012: il dispositivo smette di trasmettere eventi Fast Modbus
Dispositivi interessati
WB-MRGBW-D e WB-LED con firmware precedente a 3.9.2.
Descrizione
Il dispositivo smette di inviare eventi Fast Modbus e segnala continuamente l’assenza di eventi (sub_cmd=0x12) in risposta alle richieste di eventi (cmd=0x46, sub_cmd=0x10). I comandi dell’interfaccia web rimangono fermi mentre i registri del dispositivo continuano a cambiare.
Quanto più frequentemente cambia un valore con eventi abilitati, tanto prima si verifica il problema. Durante le prove con antirimbalzo di 1 ms, la trasmissione degli eventi si è arrestata dopo 23 minuti a 200 impulsi di ingresso al secondo e dopo diverse ore a 100 impulsi al secondo. Il problema può verificarsi anche con variazioni poco frequenti, ma è molto meno probabile. Il driver non registra errori perché il dispositivo segnala validamente che non vi sono eventi in attesa.
Per la diagnosi, leggere direttamente il registro senza utilizzare gli eventi, ad esempio il contatore degli impulsi dell’ingresso:
modbus_client_rpc -mrtu -pnone -s2 /dev/ttyRS485-1 -b115200 -a1 -r32 -t0x03
Se il registro aumenta ma il comando nell’interfaccia web rimane invariato, questo problema è presente.
Causa e dettagli
Il contatore degli eventi non inviati è condiviso da un gestore di interrupt e dal ciclo principale senza una sincronizzazione corretta. Un interrupt durante un’operazione di lettura-modifica-scrittura nel ciclo principale può causare la perdita di un incremento del contatore. L’incremento non può essere recuperato perché avviene solo quando un evento entra per la prima volta nella coda. Il dispositivo ritiene quindi di non avere nulla da inviare nonostante gli eventi in coda.
La condizione persiste fino al riavvio del dispositivo. Un altro evento può temporaneamente svuotare la coda accumulata e aggiornare il comando una volta, ma la discrepanza ricompare immediatamente. Un’installazione senza altre variazioni appare quindi bloccata.
La probabilità aumenta con la frequenza degli eventi e il carico del bus, perché gli accessi concorrenti diventano più probabili.
Soluzione temporanea
Il riavvio del dispositivo ripristina gli eventi finché il problema non si ripresenta. Riavviare il controllore o riavviare wb-mqtt-serial non aiuta: lo stato è mantenuto nel dispositivo e la riconfigurazione degli eventi non lo azzera.
Ridurre la probabilità aumentando il tempo di antirimbalzo degli ingressi o disabilitando gli eventi per i registri che cambiano frequentemente. Finché il firmware non viene aggiornato, leggere i valori direttamente dai registri.
Risoluzione
Corretto nel firmware 3.9.2.
ERRLED0001: nessuna azione di pressione breve configurata per gli ingressi 1–3
Dispositivi interessati
Tutti i 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
Descrizione
Un errore nel collaudo di produzione impediva il ripristino delle impostazioni predefinite dopo il test. I dispositivi uscivano dalla produzione con parametri errati:
- Azione della pressione breve dell’ingresso 1: Disabled anziché Toggle RGB
- Azione della pressione breve dell’ingresso 2: Disabled anziché Increase RGB strip hue (HSV-H, with wraparound)
- Azione della pressione breve dell’ingresso 3: Disabled anziché Toggle channel 4
Soluzione temporanea
- Utilizzare l’interfaccia web del controllore e il template del dispositivo per impostare i valori corrispondenti
- Scrivere manualmente 0x3009 nel registro 0x1000, 0x900e in 0x1001 e 0x3003 in 0x1002
Risoluzione
Corretto nel lotto v1.5B/3
ERRLED0002: inversione di fase errata in modalità 4W
Dispositivi interessati
Tutti i dispositivi WB-LED con firmware da 3.5.0 a 3.6.0 inclusi.
Si applica alla modalità 4W, con tutti i canali collegati in parallelo.
Descrizione
Per distribuire uniformemente il carico dell’alimentatore, le coppie di canali 1–2 e 3–4 funzionano in opposizione di fase, tranne in modalità 4W.
Un errore del firmware caricava in modo errato dalla memoria non volatile l’impostazione di inversione di fase all’avvio. Le coppie di canali 1–2 e 3–4 funzionavano quindi sempre in opposizione di fase, anche in modalità 4W con tutti i canali in parallelo. Ciò poteva far intervenire la protezione contro le sovracorrenti. L’inversione di fase funziona correttamente dopo il passaggio alla modalità 4W fino al riavvio successivo.
Soluzione temporanea
- soluzione preferibile: aggiornare il firmware alla versione 3.6.1 o successiva
- dopo il riavvio, passare a un’altra modalità e poi tornare a 4W
Risoluzione
Corretto nel firmware 3.6.1.
ERRLED0003: ripristino errato dopo gli interventi per sovracorrente nei canali in parallelo
Dispositivi interessati
Tutti i dispositivi WB-LED con firmware fino a 3.6.0 inclusa.
Si applica alle modalità del dimmer 2W+W+W, W+W+2W, 2W+2W, CCT+2W, 2W+CCT e 4W.
Descrizione
Un errore del firmware accende i canali uno alla volta dopo l’intervento della protezione contro le sovracorrenti, anche quando la modalità di funzionamento richiede canali in parallelo. Questo può superare il limite di corrente di un singolo canale e far intervenire nuovamente la protezione.
Soluzione temporanea
Aggiornare il firmware alla versione 3.6.1 o successiva.
Risoluzione
Corretto nel firmware 3.6.1. I canali in parallelo si accendono contemporaneamente.
ERRLED0004: il dimmer non può funzionare a pieno carico con canali in parallelo
Dispositivi interessati
Tutti i dispositivi WB-LED con firmware fino a 3.6.0 inclusa.
Si applica alle modalità del dimmer 2W+W+W, W+W+2W, 2W+2W, CCT+2W, 2W+CCT e 4W.
Descrizione
Un errore del firmware aggiornava i valori PWM in modo asincrono, consentendo a un canale in parallelo di accendersi prima degli altri. La corrente scorreva quindi attraverso un solo transistor finché gli altri transistor in parallelo non si accendevano, facendo intervenire la protezione hardware contro le sovracorrenti.
Soluzione temporanea
Aggiornare il firmware alla versione 3.6.1 o successiva.
Risoluzione
Corretto nel firmware 3.6.1. Il PWM viene applicato in modo sincrono ai canali in parallelo.
ERRLED0005: la potenza totale dei canali della striscia CCT non è normalizzata
Dispositivi interessati
WB-LED e WB-MRGBW-D con firmware fino a 3.6.1 inclusa
Si applica alle modalità del dimmer CCT+W+W, CCT+2W, W+W+CCT, 2W+CCT e CCT+CCT.
Descrizione
L’algoritmo di miscelazione CCT non mantiene costante la potenza totale. La potenza aumenta quando la temperatura di colore si avvicina al centro del campo, raggiungendo il massimo al 50%, quando entrambi i canali funzionano alla massima luminosità.
Soluzione temporanea
Aggiornare il firmware alla versione 3.7.0 o successiva. Abilitare CCT strip power normalization.
Risoluzione
Corretto nel firmware 3.7.0