BUGs (?) encontrados

Olá a todos,

Vou sumarizar aqui todos os BUGs que encontrei na plataforma

  1. Estava conseguindo adicionar mais de uma variável, mas por algum motivo parou.

  2. Não aparecer o botão para salvar em “Opções do payload”

  3. Em “Informações do dispositivo” aparecem variáveis para ABP mesmo estando configurando como OTAA

  4. Conversão do payload não funcionando de acordo com as configurações salvas

  5. Em algumas situações meu dispositivo desconectou sozinho e precisei excluir e criar um outro

  6. Downlink desativou sozinho em várias situações. Não conseguia ativar novamente

Conseguem me ajudar, por favor?

@Lucas @giulio

Atualização:

Quanto ao tópico 5, voltou a acontecer logo após a criação do tópico. No momento em que desliguei meu device apareceu dispositivo desconectado e não existe outra forma de conectar. Preciso excluir e criar tudo novamente.

Bom dia, grande parte doque reportou está relacionado ao dispositivo estar bloqueado.
Estou tentando entender oque está acontecendo no seu caso, eu fiz umas modificações aqui, queria que você conectasse o dispositivo (apenas uplink) e mandasse um uplink, então recarregar a página e ver se ainda consegue cadastrar váriaveis.

Eu vi todos os outros posts que criou, mas vou concentrar as respostas aqui pra ficar mais fácil pra gente

Obrigado pela resposta.
A intenção de sumarizar tudo aqui foi pra facilitar pra nós todos.

Ainda estou testando, mas parece que a questão do dispositivo desconectar parou. Fiz os uplinks que vc pediu, mas precisei excluir o device, espero que ainda consiga analisar o que precisava.

Consegue me auxiliar principalmente quanto ao tópico 4? Preciso enviar meus dados e mostra-los nos widgets, mas do jeito em que estão sendo decodificados não estou entendendo. Estou somente enviando AA01BB18 em hexadecimal, configurei o payload para hexadecimal e para decodificar em bae64, mas o resultado q obtenho em “dados decodificados” é totalmente diferente do que eu esperava.

Obrigado

@giulio @Lucas
Conseguem me auxiliar quanto ao tópico 4 principalmente, por favor?

Boa noite, amanhã de manhã eu vou ver o que pode estar acontecendo com o parse do payload

isso é a mesma coisa disso ?

Obrigado @Lucas

@giulio, sim. O tópico “conversão PAYLOAD” é o mesmo que “BUGs (?) encontrados”. Como foram surgindo vários bugs ao mesmo tempo, criei esse daqui pra resumir todos em somente um tópico

sei… vários bugs ao mesmo tempo…

nao entendi seu ponto, foi uma ironia?

Bom dia @gsantos123, eu tinha um script pra resolver um problema parecido, você pode usar esse script pra fazer o parser do seu payload.
Você pode cadastrar essa função em Libraries, e atribuir a função ao seu device na tela de devices na aba de payload habilitando o modo avançado


// const buffer = Buffer.from(payload.payload, 'base64').toString('hex');
const buffer = atob(payload.payload);
const hexSplitted = [...buffer]
  .map((b, i) => `${b}${i % 2 && i !== buffer.length - 1 ? ' ' : ''}`)
  .join('')
  .split(' ');

const variables = new Array(hexSplitted.length / 2)
  .fill(0)
  .map((_, i) => {
    const alias = hexSplitted[i * 2];
    const rawValue = hexSplitted.slice(i * 2 + 1, i * 2 + 2).join('');

    return {
      alias,
      value: Number(rawValue),
      ...getDescription(alias),
    };
  })
  .reduce(
    (acc, { alias, index, ...variable }) => ({
      ...acc,
      [index]: { ...variable },
    }),
    {}
  );

response = variables;

function getDescription(alias) {
  const description = {
    AA: {
      unit: 'V',
      index: 'U0',
      name: 'Tensão',
    },
    BB: {
      unit: 'A',
      index: 'U12',
      name: 'Corrente',
    },
  };
  return description[alias.toUpperCase()];
}

Olá @Lucas,

Fiz o que você comentou, porém estou recebendo o erro abaixo, ainda na aba libraries com um JSON de teste

Estou fazendo algo errado?

Bom dia @gsantos123, desculpa eu fiz o teste errado aqui, você só precisa trocar essa linha
const buffer = atob(payload.payload);
por essa
const buffer = atob(payload.params.payload);

Olá @Lucas,

Continua com erro, mas agora mudou o erro

Boa noite @gsantos123, esqueci de mais um detalhe, você precisa adiconar essa linha no começo do código payload = JSON.parse(payload);
Outro detalhe, o seu payload de teste tem um erro no JSON na linha 2
"type": "uplink[],

o que deveria ser essa campo type? Eu só copiei um json que recebo em “dados em tempo real” e colei. Todos estão com esse type = uplink

é exatamente isso mesmo, você deve ter digitado algo sem querer lá na hora de colar

Ah ok. Foi isso mesmo quanto ao type. O erro agora é o seguinte

Opa agora seu payload está vindo com um delimitador, deveria ser alias valor (“AA01BB24”)
image

Obrigado Lucas. Estava testando com delimitador pra ver se funcionava e depois esqueci de voltar para o payload sem delimitador.
Obrigado pelo suporte.

Vou testar se vou conseguir atrelar essas dados as variáveis/widgets