From 1381733157d8f0d8c1c6dc14db1ea1b11b51f34c Mon Sep 17 00:00:00 2001 From: Victor Fraile Garcia Date: Thu, 25 Jun 2026 19:13:20 +0200 Subject: [PATCH] docs: update UCEPSA Edge-OEE repository documentation --- ucepsa/edge-oee-demo/README.md | 133 +++++++++++++----- .../deploy/ucepsa-local/.env.example | 7 +- 2 files changed, 100 insertions(+), 40 deletions(-) diff --git a/ucepsa/edge-oee-demo/README.md b/ucepsa/edge-oee-demo/README.md index 0b6d09f..201716c 100644 --- a/ucepsa/edge-oee-demo/README.md +++ b/ucepsa/edge-oee-demo/README.md @@ -1,51 +1,112 @@ # 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 -- machine_id: CORT-01 -- asset: revpi_oee_node_01 -- Odoo Work Center code: CORT-01 +- captura real de máquina mediante RevPi y nodos WISE; +- lectura energética mediante Eastron SDM630; +- publicación MQTT de telemetría; +- 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 -- PostgreSQL MESAVAULT local -- Grafana -- Consola de paros -- MQTT sink -- Odoo workorders sync +- CORT-00 +- CORT-01 +- CORT-02 -## Entorno UCEPSA +## Servicios principales -- VM MESAVAULT: mv-edge-oee -- IP: 17.126.1.70 -- Odoo UCEPSA: 17.126.1.61 -- DB Odoo test: ucepsa_test_jp +En servidor mv-edge-oee: -## 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. -- `sql/`: migraciones, vistas y funciones PostgreSQL. -- `grafana/`: dashboards exportados. -- `deploy/platform40-reference/`: configuración de referencia del laboratorio platform-40. -- `deploy/ucepsa-local/`: configuración objetivo para la VM local UCEPSA. -- `env-examples/`: plantillas de variables sin secretos. -- `docs/`: documentación técnica y runbooks. +En RevPi: + +- mesavault-edge-oee-revpi +- mesavault-beacon-controller + +## Integración Odoo + +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 -- `.env` reales -- contraseñas -- backups -- dumps SQL -- filestore -- datos PostgreSQL -- certificados -- claves privadas +No deben versionarse: + +- .env reales; +- .env.local; +- contraseñas; +- tokens; +- 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. diff --git a/ucepsa/edge-oee-demo/deploy/ucepsa-local/.env.example b/ucepsa/edge-oee-demo/deploy/ucepsa-local/.env.example index a12f819..edb95de 100644 --- a/ucepsa/edge-oee-demo/deploy/ucepsa-local/.env.example +++ b/ucepsa/edge-oee-demo/deploy/ucepsa-local/.env.example @@ -1,6 +1,6 @@ # Identidad TENANT=ucepsa -SITE=demo_edge_oee +SITE=ucepsa_onpremise VERTICAL=edge_oee MACHINE_ID=CORT-01 ASSET=revpi_oee_node_01 @@ -24,11 +24,11 @@ POSTGRES_PASSWORD=__SET_IN_ENV_OR_VAULTWARDEN__ # Odoo UCEPSA #ODOO_URL=https://17.126.1.61 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_PASSWORD=__SET_IN_ENV_OR_VAULTWARDEN__ ODOO_WORKCENTER_CODE=CORT-01 -ODOO_INSTANCE=odoo_ucepsa_test +ODOO_INSTANCE=odoo_ucepsa_prod ODOO_SYNC_INTERVAL_SECONDS=30 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_AUTO_REFRESH_SECONDS=5 MQTT_PASSWORD_REVPI=__SET_IN_ENV_OR_VAULTWARDEN__ -OPERATOR_DEFAULT_MACHINE=CORT-00 GRAFANA_ADMIN_PASSWORD=__SET_IN_ENV_OR_VAULTWARDEN__