Skip to main content

Lendo Estados e Histórico

O Portal mantem o estado atual de cada entidade em memória/Postgres e o histórico de mudanças em uma serie temporal (InfluxDB).

Estado atual de uma entidade

Resposta:

Estado de todas as entidades

Lista enriquecida (entidades + estados)

/v1/entities/states retorna metadados completos (nome, domínio, plataforma) já combinados com o estado. E o endpoint mais útil para listar tudo num dashboard de terceiros:
Entidades sem estado publicado retornam state: null. Isso e normal logo após a descoberta inicial — espere até o edge publicar o primeiro estado.

Listar entidades (sem estado)

Retorna a definição das entidades (sem o estado em si). Útil para descobrir IDs e domínios disponíveis.

Histórico

GET /v1/history consulta o InfluxDB pelos pontos de estado dentro de um intervalo:
Parâmetros (todos obrigatorios): Resposta agrupada por entidade:

Listar dispositivos

Diferente de entidades, dispositivos (device_registry) representam o objeto físico (uma lâmpada smart pode ter varios entities — luz, switch, sensor). Use:
Para ver as entidades de um dispositivo específico:

Padroes úteis

  • Polling de estado: a cada N segundos chame /v1/entities/states e compare. Funciona, mas e custoso. Para tempo real, prefira WebSocket.
  • Snapshot diario: chame /v1/history uma vez por dia para gerar relatórios.
  • Alertas: combine WebSocket (gatilho) + /v1/history (contexto recente) para mandar notificação quando um sensor passar de um limite.