30-verticals/climate-drainage-ngs/ops/operacion-diaria.md

1.7 KiB

Operación diaria

Consultar estado actual

curl -s "http://192.168.40.100:8088/api/drain-window/current?tenant=tma4p1aego_lab&site=bench_gh01&product=climate&asset=drain-01"

Consultar auditoría

curl -s "http://192.168.40.100:8088/api/drain-window/audit?tenant=tma4p1aego_lab&site=bench_gh01&product=climate&asset=drain-01&limit=10"

Comprobar histórico reciente en PostgreSQL

SELECT
    ts,
    raw_drain_state,
    sample_valid,
    drain_state,
    control_state,
    semantic_state,
    battery_v
FROM mv_hot.drain_readings
WHERE tenant = 'tma4p1aego_lab'
  AND site = 'bench_gh01'
  AND product = 'climate'
  AND asset = 'drain-01'
ORDER BY ts DESC
LIMIT 20;

Entrar en PostgreSQL hot

docker exec -it mv_postgres_hot psql -U mv_hot_app -d mesavault_hot

Reiniciar drain-control

cd /srv/verticals/drain-control
docker-compose up -d --build

Reiniciar drain-lab

cd /srv/verticals/drain-lab
docker-compose up -d --build

Reiniciar plataforma base

cd /srv/platform
docker-compose up -d

UI local técnica

http://192.168.40.100:8088/ui

ChirpStack local

http://192.168.40.100:8080

Lecciones operativas importantes

  1. No mezclar control con visualización.
  2. No confiar en 127.0.0.1 si estás pensando en otro host.
  3. No publicar servicios internos en 0.0.0.0 si Tailscale está presente.
  4. No asumir que una entrada digital significa medición válida.
  5. ack no significa “he aplicado el cambio”; significa “he reconocido el downlink”.
  6. Si algo falla por JSON y funciona por HEX, normalmente el problema está en el codec o en la forma del payload.