Enviar medições pela API HTTP

Envie JSON do Node-RED, Home Assistant, de um gateway de CLP ou do seu próprio script para o FreeMaint Connect: formato, cabeçalhos, unidades e limites.

5 min de leitura
Imprimir esta seção

Qualquer sistema capaz de enviar uma requisição HTTP com corpo JSON pode alimentar o FreeMaint Connect: Node-RED, Home Assistant, um gateway que lê Modbus, um CLP ou um script seu. Crie uma conexão do tipo API HTTP (Node-RED, script…) para obter a URL e a chave de acesso.

A requisição

  • Método: POST, para a URL exibida quando você cria a conexão (ela termina em /connect/ingest/generic).
  • Cabeçalho Authorization: Bearer seguido da chave de acesso.
  • Cabeçalho Content-Type: application/json.
  • O FreeMaint responde 202 quando os dados são aceitos; eles ficam armazenados em poucos segundos.

O corpo

O corpo lista os dispositivos em items. Cada dispositivo tem um identificador (device), um nome de exibição opcional, um horário opcional (ts, ISO 8601) e seus pontos. Cada ponto tem uma key, um value e, de preferência, uma unit e uma quantity. A tela de criação mostra um exemplo completo que você pode copiar.

Campos de um ponto

key

O nome do canal nesse dispositivo, por exemplo power ou energy_total. A mesma key sempre cai no mesmo canal.

value

Um número.

unit

Por exemplo W, kWh, °C ou mm/s. Energia em Wh ou MWh é convertida para kWh, temperaturas para °C e velocidade de vibração para mm/s. Pressões em Pa, hPa, kPa, mbar, psi, inH2O, inWC ou mmH2O são convertidas para bar. Para ler um canal em outra unidade, escolha a Unidade de exibição no FreeMaint. A página do canal mostra a unidade da última leitura em “Unidade recebida”. Maiúsculas e minúsculas importam para mili e mega: mW e mWh são mili, MW e MWh são mega. Os nomes de unidades BACnet também são aceitos, em maiúsculas ou minúsculas: “PASCALS”, “inches-of-water”, “kilowatt-hours”…

quantity

A grandeza medida, por exemplo power, energy, temperature ou vibration_velocity. Ela permite ao FreeMaint escolher a unidade e o gráfico certos.

kind

CUMULATIVE para um contador que só aumenta (um total de energia, horas de funcionamento). O FreeMaint então calcula o consumo entre as leituras. Omita para um valor medido simples.

Limites

  • Até 500 dispositivos e 5.000 pontos por requisição.
  • Até 120 requisições por minuto por conexão; acima disso, o FreeMaint responde 429 e o seu sistema deve tentar de novo mais tarde.
  • Uma requisição malformada recebe uma resposta 400 que aponta o problema, para que um gateway mal configurado seja fácil de corrigir.
  • Cada novo canal conta para o limite de canais ativos do seu plano.

Dica

Configurações comuns: um fluxo Node-RED que lê um medidor de energia Modbus a cada minuto e envia os valores; uma automação do Home Assistant que repassa um sensor; um roteador Teltonika cujo recurso Data to Server envia as leituras.

Aviso

Mantenha a chave de acesso em sigilo: qualquer pessoa que a tenha pode enviar dados para esta conexão. Se ela puder ter vazado, gere uma nova chave e escolha Revogar agora.

Esta página foi útil?