fiberhome: fix ver sinal
Signed-off-by: Rodrigo Bertoldo de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
1 parent
41a8d1b6c5
commit
d037dc2f86
2 files changed
+123
-14
No files matched your search
@@ -0,0 +1,87 @@
|
||||
/**
|
||||
* Teste para validar a correção do RX Power das ONUs FiberHome
|
||||
*
|
||||
* Problema: Bot mostrava -23.02 dBm, mas UNM2000 mostrava -20.22 dBm
|
||||
* Causa: O bot estava usando RxPower (sinal na OLT) ao invés de PRxPower (sinal na ONU)
|
||||
* Solução: Extrair PRxPower (coluna 12) do comando LST-OMDDM
|
||||
*/
|
||||
|
||||
// Simular resposta do comando LST-OMDDM conforme o manual
|
||||
const respostaSimulada = `
|
||||
FH_10.78.20.120 2024-02-10 14:30:00
|
||||
M CTAG COMPLD
|
||||
total_blocks=1
|
||||
block_number=1
|
||||
block_records=1
|
||||
|
||||
List of Optical Power Info
|
||||
----------------------------------------------------------
|
||||
ONUID RxPower RxPowerR TxPower TxPowerR CurrTxBias CurrTxBiasR Temperature TemperatureR Voltage VoltageR PTxPower PRxPower
|
||||
5 -23.02 Normal 1.76 Normal 15.80 Normal 62.37 Normal 3.40 Normal 1.85 -20.22
|
||||
-----------------------------------------------------------
|
||||
`;
|
||||
|
||||
console.log('🧪 Teste de Extração do RX Power Correto\n');
|
||||
console.log('=' .repeat(60));
|
||||
|
||||
// Processar resposta
|
||||
const linhasTabela = respostaSimulada.split('\n').filter(linha =>
|
||||
linha.includes('\t') &&
|
||||
!linha.includes('ONUID\tRxPower') && // header
|
||||
linha.match(/[+-]?\d+[,.]?\d*/) // linha com dados
|
||||
);
|
||||
|
||||
if (linhasTabela.length > 0) {
|
||||
const campos = linhasTabela[0].split('\t');
|
||||
|
||||
console.log(`\n📊 Total de campos extraídos: ${campos.length}`);
|
||||
console.log('\nCampos encontrados:');
|
||||
campos.forEach((campo, idx) => {
|
||||
console.log(` [${idx}]: "${campo}"`);
|
||||
});
|
||||
|
||||
// Extrair valores conforme manual TL1
|
||||
const onuId = campos[0]?.trim();
|
||||
const rxPowerOlt = campos[1]?.replace(',', '.').trim(); // Sinal ONU → OLT (recebido pela OLT)
|
||||
const rxPowerStatus = campos[2]?.trim();
|
||||
const txPowerOlt = campos[3]?.replace(',', '.').trim(); // Sinal OLT → ONU (transmitido pela OLT)
|
||||
const ptxPower = campos[11]?.replace(',', '.').trim(); // Sinal ONU → OLT (transmitido pela ONU)
|
||||
const prxPower = campos[12]?.replace(',', '.').trim(); // Sinal OLT → ONU (recebido pela ONU) ⭐
|
||||
|
||||
console.log('\n' + '='.repeat(60));
|
||||
console.log('📡 VALORES EXTRAÍDOS:');
|
||||
console.log('='.repeat(60));
|
||||
console.log(`ONU ID: ${onuId}`);
|
||||
console.log(`\n🔴 ANTIGO (INCORRETO):`);
|
||||
console.log(` RxPower (OLT recebe): ${rxPowerOlt} dBm - Status: ${rxPowerStatus}`);
|
||||
console.log(` TxPower (OLT envia): ${txPowerOlt} dBm`);
|
||||
|
||||
console.log(`\n🟢 NOVO (CORRETO):`);
|
||||
console.log(` PRxPower (ONU recebe): ${prxPower} dBm ⭐ <- Mostrado no UNM2000`);
|
||||
console.log(` PTxPower (ONU envia): ${ptxPower} dBm`);
|
||||
|
||||
console.log('\n' + '='.repeat(60));
|
||||
console.log('✅ RESULTADO ESPERADO:');
|
||||
console.log('='.repeat(60));
|
||||
console.log(`Bot deve mostrar: 📡 RX Power: ${prxPower} dBm`);
|
||||
console.log(`UNM2000 mostra: 📡 RX Power: -20.22 dBm`);
|
||||
console.log(`\n${prxPower === '-20.22' ? '✅ VALORES COMPATÍVEIS!' : '❌ VALORES DIFERENTES'}`);
|
||||
|
||||
} else {
|
||||
console.log('❌ Nenhuma linha de dados encontrada');
|
||||
}
|
||||
|
||||
console.log('\n' + '='.repeat(60));
|
||||
console.log('📖 REFERÊNCIA DO MANUAL:');
|
||||
console.log('='.repeat(60));
|
||||
console.log('Comando: LST-OMDDM');
|
||||
console.log('Formato de saída:');
|
||||
console.log(' ONUID RxPower RxPowerR TxPower TxPowerR CurrTxBias CurrTxBiasR');
|
||||
console.log(' Temperature TemperatureR Voltage VoltageR PTxPower PRxPower');
|
||||
console.log('');
|
||||
console.log('Campos importantes:');
|
||||
console.log(' - RxPower: Potência recebida pela OLT (ONU → OLT)');
|
||||
console.log(' - PRxPower: Potência recebida pela ONU (OLT → ONU) ⭐');
|
||||
console.log(' - TxPower: Potência transmitida pela OLT (OLT → ONU)');
|
||||
console.log(' - PTxPower: Potência transmitida pela ONU (ONU → OLT)');
|
||||
console.log('='.repeat(60));
|
||||
Reference in new issue
Block a user