88 lines
2.1 KiB
Markdown
88 lines
2.1 KiB
Markdown
# CURRENT-STATE
|
|
|
|
## Estado funcional general
|
|
|
|
La vertical ha quedado funcional a nivel técnico para:
|
|
|
|
- recibir y decodificar uplinks del `LSN50 + XKC`
|
|
- persistir histórico y último valor en PostgreSQL
|
|
- mostrar histórico y batería
|
|
- mantener una semántica robusta para el usuario
|
|
- exponer una UI de control
|
|
- guardar configuración por sensor
|
|
- forzar estados
|
|
- operar en modo AUTO mediante scheduler
|
|
- auditar downlinks
|
|
|
|
## Estado de los componentes principales
|
|
|
|
### Persistencia
|
|
Tablas de control definidas:
|
|
- `mv_control.drain_schedule`
|
|
- `mv_control.drain_downlink_audit`
|
|
- `mv_control.asset_device_map`
|
|
|
|
Tablas de datos visibles:
|
|
- `mv_hot.drain_readings`
|
|
- `mv_hot.drain_latest`
|
|
|
|
### Backend
|
|
Componentes principales:
|
|
- `drain_control_api`
|
|
- `drain_control_scheduler`
|
|
- `drain01_norm`
|
|
- `drain01_pg`
|
|
|
|
### Infraestructura base
|
|
- `mv_postgres_hot`
|
|
- `mv_mosquitto`
|
|
- `cs_chirpstack`
|
|
|
|
### UI
|
|
La UI quedó operativa con:
|
|
- selector de sensor
|
|
- carga dinámica de configuración
|
|
- hora inicio
|
|
- hora fin
|
|
- TDC activo
|
|
- 5VT activo
|
|
- TDC reposo
|
|
- 5VT reposo
|
|
- token bearer
|
|
- botones:
|
|
- Cargar sensores
|
|
- Cargar configuración
|
|
- Guardar
|
|
- Forzar activo
|
|
- Forzar reposo
|
|
- Volver a auto
|
|
|
|
## Decisiones técnicas consolidadas
|
|
|
|
- control separado de la telemetría
|
|
- Grafana no manda downlinks directamente
|
|
- backend publicado en `192.168.40.100:8088:8088`
|
|
- dashboard del cliente en OVH
|
|
- semántica visible al usuario por encima del dato bruto
|
|
- diseño multi-sensor por `asset`
|
|
|
|
## Perfil de operación conocido
|
|
|
|
Valores documentados como base operativa:
|
|
|
|
- `TDC activo = 15 o 10`, según ajustes finales
|
|
- `5VT activo = 2000`
|
|
- `TDC reposo = 3600 o el valor que se decida`
|
|
- `5VT reposo = 0`
|
|
|
|
## Semántica operativa consolidada
|
|
|
|
- en `ACTIVE`, la lectura es válida
|
|
- en `SLEEP + 5VT=0`, la lectura no se interpreta como drenaje
|
|
- en reposo sin alimentación, la semántica correcta es `NO_SAMPLE`
|
|
|
|
## Pendientes
|
|
|
|
- rematar paneles definitivos y/o iframe final detrás del frontal público
|
|
- cerrar tenant final por cliente cuando aplique
|
|
- confirmar si existe ya un cliente productivo real o solo validación técnica avanzada |