docs: update UCEPSA Edge-OEE repository documentation

This commit is contained in:
Victor Fraile Garcia 2026-06-25 19:13:20 +02:00
parent 42dc050fc7
commit 1381733157
2 changed files with 100 additions and 40 deletions

View File

@ -1,51 +1,112 @@
# UCEPSA — MESAVAULT Edge-OEE # UCEPSA — MESAVAULT Edge-OEE
Stack Edge-OEE local para UCEPSA. Repositorio del piloto productivo MESAVAULT Edge-OEE en UCEPSA.
## Objetivo ## Estado actual
Capturar señales reales de máquina, registrar paros, calcular duración/coste y cruzar la realidad física con órdenes de trabajo de Odoo UCEPSA. El sistema está en estado de piloto productivo activo.
## Máquina inicial Incluye:
- Máquina: CORTADORA 01 - captura real de máquina mediante RevPi y nodos WISE;
- machine_id: CORT-01 - lectura energética mediante Eastron SDM630;
- asset: revpi_oee_node_01 - publicación MQTT de telemetría;
- Odoo Work Center code: CORT-01 - persistencia en PostgreSQL;
- integración con Odoo PROD mediante order_state;
- control automático de balizas;
- panel de operador para justificación de paros;
- dashboard Grafana con informe de paros, energía, estado máquina y capas de análisis.
## Componentes ## Máquinas incluidas
- Mosquitto local - CORT-00
- PostgreSQL MESAVAULT local - CORT-01
- Grafana - CORT-02
- Consola de paros
- MQTT sink
- Odoo workorders sync
## Entorno UCEPSA ## Servicios principales
- VM MESAVAULT: mv-edge-oee En servidor mv-edge-oee:
- IP: 17.126.1.70
- Odoo UCEPSA: 17.126.1.61
- DB Odoo test: ucepsa_test_jp
## Estructura - mv_ucepsa_mosquitto
- mv_ucepsa_postgres_hot
- mv_ucepsa_edge_oee_mqtt_pg_sink
- mv_ucepsa_odoo_order_state_publisher
- mv_ucepsa_odoo_order_state_pg_sink
- mv_ucepsa_operator_stop_console
- mv_ucepsa_grafana
- `services/`: servicios Python/Docker de MESAVAULT. En RevPi:
- `sql/`: migraciones, vistas y funciones PostgreSQL.
- `grafana/`: dashboards exportados. - mesavault-edge-oee-revpi
- `deploy/platform40-reference/`: configuración de referencia del laboratorio platform-40. - mesavault-beacon-controller
- `deploy/ucepsa-local/`: configuración objetivo para la VM local UCEPSA.
- `env-examples/`: plantillas de variables sin secretos. ## Integración Odoo
- `docs/`: documentación técnica y runbooks.
La integración con Odoo se realiza mediante un publicador externo:
tools/odoo_order_state_publisher.py
Este servicio consulta Odoo PROD y publica un mensaje MQTT retained por máquina:
vertical/ucepsa/ucepsa_onpremise/edge_oee/order_state/CORT-00
vertical/ucepsa/ucepsa_onpremise/edge_oee/order_state/CORT-01
vertical/ucepsa/ucepsa_onpremise/edge_oee/order_state/CORT-02
La regla validada es:
progress_count = 1 -> orden cargada correctamente
Validación real realizada:
CORT-00
WH/MO/00090
[6] BOLSA BD 22X30 TPTE
state = loaded
## Panel de operador
El panel de operador permite justificar paros detectados automáticamente.
Servicio:
mv_ucepsa_operator_stop_console
Acceso:
http://17.126.1.70:8088
Acceso por máquina:
http://17.126.1.70:8088/?machine_id=CORT-00
http://17.126.1.70:8088/?machine_id=CORT-01
http://17.126.1.70:8088/?machine_id=CORT-02
## Estructura del repositorio
services/ servicios Python/Docker
tools/ herramientas de sincronización, diagnóstico y publicación
sql/ migraciones, vistas y funciones PostgreSQL
grafana/ dashboards, scripts e import/export
deploy/ucepsa-local/ docker-compose y plantillas de entorno
revpi/ código y unidades systemd de RevPi
db/schema/ export de esquema PostgreSQL sin datos
docs/ documentación técnica y runbooks
env-examples/ ejemplos de variables sin secretos
## No versionar ## No versionar
- `.env` reales No deben versionarse:
- contraseñas
- backups - .env reales;
- dumps SQL - .env.local;
- filestore - contraseñas;
- datos PostgreSQL - tokens;
- certificados - claves privadas;
- claves privadas - dumps PostgreSQL con datos;
- volúmenes Docker;
- logs;
- backups comprimidos;
- datos de Grafana;
- datos de PostgreSQL.
Las credenciales deben mantenerse fuera del repositorio.

View File

@ -1,6 +1,6 @@
# Identidad # Identidad
TENANT=ucepsa TENANT=ucepsa
SITE=demo_edge_oee SITE=ucepsa_onpremise
VERTICAL=edge_oee VERTICAL=edge_oee
MACHINE_ID=CORT-01 MACHINE_ID=CORT-01
ASSET=revpi_oee_node_01 ASSET=revpi_oee_node_01
@ -24,11 +24,11 @@ POSTGRES_PASSWORD=__SET_IN_ENV_OR_VAULTWARDEN__
# Odoo UCEPSA # Odoo UCEPSA
#ODOO_URL=https://17.126.1.61 #ODOO_URL=https://17.126.1.61
ODOO_URL=http://17.126.1.61:8069 ODOO_URL=http://17.126.1.61:8069
ODOO_DB=ucepsa_test_jp ODOO_DB=ucepsa_prod
ODOO_USER=__SET_IN_ENV_OR_VAULTWARDEN__ ODOO_USER=__SET_IN_ENV_OR_VAULTWARDEN__
ODOO_PASSWORD=__SET_IN_ENV_OR_VAULTWARDEN__ ODOO_PASSWORD=__SET_IN_ENV_OR_VAULTWARDEN__
ODOO_WORKCENTER_CODE=CORT-01 ODOO_WORKCENTER_CODE=CORT-01
ODOO_INSTANCE=odoo_ucepsa_test ODOO_INSTANCE=odoo_ucepsa_prod
ODOO_SYNC_INTERVAL_SECONDS=30 ODOO_SYNC_INTERVAL_SECONDS=30
ODOO_WORKORDER_LIMIT=100 ODOO_WORKORDER_LIMIT=100
@ -50,5 +50,4 @@ OPERATOR_ALLOWED_MACHINES=CORT-00,CORT-01,CORT-02,CORT-03,CORT-04,CORT-05,CORT-0
# Operator console auto refresh # Operator console auto refresh
OPERATOR_AUTO_REFRESH_SECONDS=5 OPERATOR_AUTO_REFRESH_SECONDS=5
MQTT_PASSWORD_REVPI=__SET_IN_ENV_OR_VAULTWARDEN__ MQTT_PASSWORD_REVPI=__SET_IN_ENV_OR_VAULTWARDEN__
OPERATOR_DEFAULT_MACHINE=CORT-00
GRAFANA_ADMIN_PASSWORD=__SET_IN_ENV_OR_VAULTWARDEN__ GRAFANA_ADMIN_PASSWORD=__SET_IN_ENV_OR_VAULTWARDEN__