Situação da unidade
———meta: null e só
limite_inferior/limite_superior (set point − tolerância inferior / + tolerância superior). Com a meta preenchida, a Intelup ignora a banda no gráfico e no Event Manager.Agendamento
—A execução agendada processa o dia civil de hoje (Brasília) e é idempotente: pode rodar várias vezes ao dia, nada duplica. Cada ponto do set point vira uma vigência que vale até 1 s antes do ponto seguinte; o último ponto vale a duração configurada. Com prune, vigências do período sem ponto correspondente são apagadas.
Conexão e credenciais
Origem é a instância onde o set point é lido. Destino (opcional) é onde os pontos são replicados e a meta é gravada; vazio = a meta é gravada de volta na própria origem. Os valores ficam guardados no banco e são exibidos nesta tela (ambiente de teste).
Metas (set point → meta com banda)
—Uma linha por par. Tag set point é lida na origem; tag pontos (opcional) recebe a cópia dos pontos no destino; tag meta recebe a faixa de operação com a banda. Tolerâncias em % (obrigatórias, > 0).
Unidades
—Usuários do portal
—Perfil admin acessa tudo; perfil operação vê apenas Execução (acompanha as execuções e as metas configuradas) e Ajuda. As senhas são guardadas com hash no banco.
Executar agora
A prévia lê a origem e mostra o que seria criado/atualizado/apagado sem gravar nada. Enviar replica os pontos e grava as vigências no destino (pede confirmação). Reexecutar o mesmo período não duplica nada.
Metas configuradas
—Execuções
—Clique numa execução para ver o detalhe por meta e o log completo.
Como funciona
O fluxo
- Lê o set point na origem:
GET /public/data_export/pointsda tag configurada (ex.:VAZ_CLARI_FAB_TOTAL_BME) no período. - Replica os pontos (opcional) no destino:
POST /public/data_entry/pointssó do que ainda não existe lá (mesmo timestamp e valor são pulados). - Calcula a banda: para cada ponto,
limite_inferior = valor × (1 − tol_inf%)elimite_superior = valor × (1 + tol_sup%). Ex.: 500 com 10 %/10 % → 450 e 550. - Grava a meta na tag de meta do destino: garante a faixa de operação vinculada (
operating-range+operating-range-tag) e cria/atualiza uma vigência por ponto (operating-range-validity), valendo do horário do ponto até 1 s antes do ponto seguinte. Sempremeta: null. - Verifica com
GET /public/data_export/goal?group-by=hour.
Por que a meta central não é enviada
Se o campo meta for preenchido, a Intelup não considera a banda nem no gráfico nem no Event Manager: a prévia recebe só value, desenha uma linha única e o evento abre ao cruzar a meta, ignorando os limites. Com meta nula e limites, devolve superior/inferior, desenha as duas linhas e abre evento só fora da banda (verificado em QA em 12/09/2026). Por isso as tolerâncias são obrigatórias e vigências antigas com meta preenchida são corrigidas com PUT {"meta": null}.
Regras da API respeitadas
- Autenticação por três headers:
token,codeeunit-code. metae limites não podem ir na mesma requisição (HTTP 400); o PUT é parcial, então vão em chamadas separadas.- A API recusa vigência sobreposta respondendo HTTP 200 sem id; por isso o prune apaga antes de criar e a vigência anterior é encurtada quando avança sobre o primeiro ponto do período.
data_inicio/data_fimsão gravados em UTC (a API guarda o texto verbatim e trata como UTC na exportação) — mesmo instante do ponto.- HTTP 500 intermitente é repetido até 3 vezes, exceto no envio de pontos (a API aceita timestamp repetido e a repetição duplicaria dados).
- Tags de meta/pontos precisam existir no destino; a faixa de operação é criada se não houver. Tag ausente é reportada e a meta é pulada (execução parcial).
Origem e destino
Cada unidade guarda as credenciais da origem (onde o set point é lido) e, opcionalmente, de um destino diferente (ex.: Lins → Demo para testes). Sem destino, a meta é gravada de volta na própria origem — o caso da operação real, em que o set point _BME e a tag medida estão na mesma instância. Use o botão Testar para conferir as credenciais e se as tags configuradas existem no cadastro.
Execuções e agendamento
- Prévia (dry-run) não grava nada; Enviar grava. Ambas ficam no histórico com contadores (pontos enviados, vigências criadas/atualizadas/iguais/apagadas/recusadas) e o log de cada chamada.
- O agendamento roda o dia civil de hoje (Brasília) — diariamente num horário ou a cada N minutos. Só uma execução por unidade de cada vez.
- Perfil operação acompanha as execuções e as metas; executar e configurar é do admin.
Linha de comando
Os scripts em scripts/ continuam funcionando com o .env (sync_goal.py, sync_daily.py, compare_goal.py, dump_goals.py) — mesma regra, sem o portal.