From 0aa2ff478a6c3aa97c467ccc030af4a234f39a9d Mon Sep 17 00:00:00 2001 From: Rodrigo Bertoldo de Sousa Martins Date: Tue, 10 Feb 2026 21:34:20 -0300 Subject: [PATCH] fiberhome: fix ver sinal Signed-off-by: Rodrigo Bertoldo de Sousa Martins --- src/fiberhome/manager.js | 33 ++++++++++----------------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/src/fiberhome/manager.js b/src/fiberhome/manager.js index 8b9310c..71074e8 100644 --- a/src/fiberhome/manager.js +++ b/src/fiberhome/manager.js @@ -401,25 +401,6 @@ class FiberhomeManager { this.executarComandoTL1(comandosDetalhados[2]) ]); - // LOG COMPLETO DO LST-OMDDM PARA DEBUG - FORÇAR CONSOLE OUTPUT - if (resultadoDDM.success && resultadoDDM.data) { - const separador = '='.repeat(80); - console.log('\n' + separador); - console.log('LST-OMDDM RESPOSTA COMPLETA'); - console.log(separador); - console.log('Comando: ' + comandosDetalhados[1]); - console.log('Resposta RAW:'); - console.log(resultadoDDM.data); - console.log(separador + '\n'); - - // Verificar se é resposta válida de DDM - if (!resultadoDDM.data.includes('RxPower') && !resultadoDDM.data.includes('Optical Power')) { - console.log('⚠️ ATENÇÃO: LST-OMDDM retornou formato inesperado!'); - console.log('⚠️ Resposta parece ser lista de ONUs ao invés de dados DDM'); - console.log('⚠️ Verifique se o comando está correto para esta versão do equipamento'); - } - } - // Adicionar dados coletados onuEncontrada.estadoGeral = resultadoEstado.success ? resultadoEstado.data : null; onuEncontrada.detalhes = resultadoDDM.success ? resultadoDDM.data : null; @@ -722,14 +703,20 @@ class FiberhomeManager { // TxPower = potência transmitida pela OLT - campo 3 const txPower = campos[3]?.replace(',', '.').trim(); + // Compensação observada entre UNM2000 e valores brutos TL1 + const COMPENSACAO_RX = 2.7; // RX: +2.7 dBm + const COMPENSACAO_TX = -2.7; // TX: -2.7 dBm + if (rxPower && rxPower !== '--' && !isNaN(parseFloat(rxPower))) { - resultado.rxPower = `${rxPower} dBm`; - this.logger.info(`✅ RX Power: ${rxPower} dBm`); + const rxCompensado = (parseFloat(rxPower) + COMPENSACAO_RX).toFixed(2); + resultado.rxPower = `${rxCompensado} dBm`; + this.logger.info(`✅ RX Power: ${rxPower} dBm (bruto) → ${rxCompensado} dBm (compensado +${COMPENSACAO_RX})`); } if (txPower && txPower !== '--' && !isNaN(parseFloat(txPower))) { - resultado.txPower = `${txPower} dBm`; - this.logger.info(`✅ TX Power: ${txPower} dBm`); + const txCompensado = (parseFloat(txPower) + COMPENSACAO_TX).toFixed(2); + resultado.txPower = `${txCompensado} dBm`; + this.logger.info(`✅ TX Power: ${txPower} dBm (bruto) → ${txCompensado} dBm (compensado ${COMPENSACAO_TX})`); } } }