diff --git a/src/bot/handler.js b/src/bot/handler.js index 2388718..4c41d5e 100644 --- a/src/bot/handler.js +++ b/src/bot/handler.js @@ -2250,7 +2250,7 @@ Digite /help para ver todos os comandos disponíveis! message += `🔌 *Status:* ${resultado.online ? '🟢 Online' : '🔴 Offline'}\n\n`; message += `📊 *Informações do Sinal:*\n`; - message += `📡 *RX Power:* ${resultado.rxPower} _(uplink)_\n`; + message += `📡 *RX Power:* ${resultado.rxPower}\n`; message += `📤 *TX Power:* ${resultado.txPower}\n`; message += `📏 *Distância:* ${resultado.distance}\n\n`; diff --git a/src/fiberhome/manager.js b/src/fiberhome/manager.js index 13062f1..bf411e2 100644 --- a/src/fiberhome/manager.js +++ b/src/fiberhome/manager.js @@ -716,23 +716,23 @@ class FiberhomeManager { const txIdx = colIdx('TxPower'); console.log(`[TL1-DIAG] OMDDM rxIdx=${rxIdx} txIdx=${txIdx}`); - // Nota: no TL1 FiberHome, RxPower = sinal que a OLT recebe (= TX da ONU) - // TxPower = sinal que a OLT envia (= RX da ONU) + // LST-OMDDM reporta valores na perspectiva da ONU: + // RxPower = sinal que a ONU recebe (downlink, da OLT para a ONU) + // TxPower = sinal que a ONU transmite (uplink, da ONU para a OLT) // Posições fixas de fallback: ONUID=0, RxPower=1, TxPower=3 - const oltRxRaw = (rxIdx >= 0 ? valores[rxIdx] : valores[1])?.replace(',', '.'); - const oltTxRaw = (txIdx >= 0 ? valores[txIdx] : valores[3])?.replace(',', '.'); - console.log(`[TL1-DIAG] OMDDM oltRxRaw=${oltRxRaw} oltTxRaw=${oltTxRaw}`); + const rxRaw = (rxIdx >= 0 ? valores[rxIdx] : valores[1])?.replace(',', '.'); + const txRaw = (txIdx >= 0 ? valores[txIdx] : valores[3])?.replace(',', '.'); + console.log(`[TL1-DIAG] OMDDM rxRaw=${rxRaw} txRaw=${txRaw}`); - const COMP_RX = 2.7; - const COMP_TX = -2.7; + const COMP = 2.7; // compensação de calibração - if (oltRxRaw && oltRxRaw !== '--' && !isNaN(parseFloat(oltRxRaw))) { - resultado.txPower = `${(parseFloat(oltRxRaw) + COMP_RX).toFixed(2)} dBm`; - console.log(`[TL1-DIAG] ✅ TxPower ONU ← OLT RxPower ${oltRxRaw} → ${resultado.txPower}`); + if (rxRaw && rxRaw !== '--' && !isNaN(parseFloat(rxRaw))) { + resultado.rxPower = `${(parseFloat(rxRaw) + COMP).toFixed(2)} dBm`; + console.log(`[TL1-DIAG] ✅ RxPower ONU: ${rxRaw} → ${resultado.rxPower}`); } - if (oltTxRaw && oltTxRaw !== '--' && !isNaN(parseFloat(oltTxRaw))) { - resultado.rxPower = `${(parseFloat(oltTxRaw) + COMP_TX).toFixed(2)} dBm`; - console.log(`[TL1-DIAG] ✅ RxPower ONU ← OLT TxPower ${oltTxRaw} → ${resultado.rxPower}`); + if (txRaw && txRaw !== '--' && !isNaN(parseFloat(txRaw))) { + resultado.txPower = `${(parseFloat(txRaw) + COMP).toFixed(2)} dBm`; + console.log(`[TL1-DIAG] ✅ TxPower ONU: ${txRaw} → ${resultado.txPower}`); } } else { console.log('[TL1-DIAG] ⚠️ OMDDM: header encontrado mas nenhuma linha com número decimal após ele'); @@ -746,8 +746,8 @@ class FiberhomeManager { const rxDireto = dados.match(/(-\d+\.\d+)/); if (rxDireto) { const v = parseFloat(rxDireto[1]) + 2.7; - resultado.txPower = `${v.toFixed(2)} dBm`; - console.log(`[TL1-DIAG] TxPower ONU via regex último recurso → ${resultado.txPower}`); + resultado.rxPower = `${v.toFixed(2)} dBm`; + console.log(`[TL1-DIAG] RxPower ONU via regex último recurso → ${resultado.rxPower}`); } else { console.log('[TL1-DIAG] ⚠️ OMDDM: regex também falhou, rxPower permanece N/A'); }