diagnostico: fix ethernet e Rx Power
Signed-off-by: Rodrigo Bertoldo de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
1 parent
1a9769a2d7
commit
2bd91007c1
2 files changed
+14
-11
No files matched your search
+1
-1
@@ -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`;
|
||||
|
||||
|
||||
+13
-10
@@ -716,23 +716,25 @@ 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 do ponto de vista da OLT:
|
||||
// RxPower = sinal que OLT RECEBE da ONU (= TX da ONU, uplink)
|
||||
// TxPower = sinal que OLT TRANSMITE para a ONU (= RX da ONU, downlink)
|
||||
// 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}`);
|
||||
console.log(`[TL1-DIAG] OMDDM oltRxRaw(=ONU_TX)=${oltRxRaw} oltTxRaw(=ONU_RX)=${oltTxRaw}`);
|
||||
|
||||
const COMP_RX = 2.7;
|
||||
const COMP_TX = -2.7;
|
||||
const COMP = 2.7;
|
||||
|
||||
// OLT RxPower → é o TX da ONU (uplink)
|
||||
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}`);
|
||||
resultado.txPower = `${(parseFloat(oltRxRaw) + COMP).toFixed(2)} dBm`;
|
||||
console.log(`[TL1-DIAG] ✅ TxPower ONU: ${oltRxRaw} → ${resultado.txPower}`);
|
||||
}
|
||||
// OLT TxPower → é o RX da ONU (downlink)
|
||||
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}`);
|
||||
resultado.rxPower = `${(parseFloat(oltTxRaw) + COMP).toFixed(2)} dBm`;
|
||||
console.log(`[TL1-DIAG] ✅ RxPower ONU: ${oltTxRaw} → ${resultado.rxPower}`);
|
||||
}
|
||||
} else {
|
||||
console.log('[TL1-DIAG] ⚠️ OMDDM: header encontrado mas nenhuma linha com número decimal após ele');
|
||||
@@ -745,9 +747,10 @@ class FiberhomeManager {
|
||||
console.log('[TL1-DIAG] ⚠️ OMDDM: header ONUID+RxPower não encontrado, tentando regex');
|
||||
const rxDireto = dados.match(/(-\d+\.\d+)/);
|
||||
if (rxDireto) {
|
||||
// Primeiro número negativo = OLT RxPower = TX da ONU
|
||||
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}`);
|
||||
console.log(`[TL1-DIAG] TxPower ONU via regex → ${resultado.txPower}`);
|
||||
} else {
|
||||
console.log('[TL1-DIAG] ⚠️ OMDDM: regex também falhou, rxPower permanece N/A');
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user