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
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)
Histórico
GET /v1/history consulta o InfluxDB pelos pontos de estado dentro de um intervalo:
| Query | Formato | Descrição |
|---|---|---|
start | ISO 8601 | Início do intervalo |
end | ISO 8601 | Fim do intervalo |
entity_id | CSV | Um ou mais entity_id separados por virgula |
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:
Padroes úteis
- Polling de estado: a cada N segundos chame
/v1/entities/statese compare. Funciona, mas e custoso. Para tempo real, prefira WebSocket. - Snapshot diario: chame
/v1/historyuma 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.