Commit Graph

61 Commits

Author SHA1 Message Date
Miguel d6190f3323 feat: Add new application events and update system state management 2025-08-14 13:31:09 +02:00
Miguel 087a9458ce feat: Enhance plot configuration with visual style options
- Added line tension, stepped lines, point radius, and point hover radius to plot definitions.
- Updated plot variables to include labels for better clarity.
- Modified plot definitions schema to accommodate new visual style properties.
- Enhanced UI schema to support new configuration options in the settings panel.
- Improved ChartjsPlot component to utilize new visual style properties for rendering.
- Implemented refresh functionality for plot configuration in PlotRealtimeSession.
- Updated VariableSelectorWidget to remove unnecessary required attribute.
- Adjusted system state to reflect changes in active datasets and last update timestamp.
2025-08-14 13:12:04 +02:00
Miguel d0d675d804 Enhance variable management and plotting features. Introduced VariableContext for managing variable updates, updated dataset variables and application events, improved plot variable schema, and refined UI components for better usability and performance. 2025-08-14 12:07:07 +02:00
Miguel 09263d39f8 Update application event logging, refine plot session management, and enhance configuration handling. Removed obsolete session_id fields, added new application start events, and improved session creation logic for better user experience. 2025-08-14 11:36:22 +02:00
Miguel 9618984a2b Update application events and system state. Removed obsolete events, added new application start and dataset activation events, and updated last update timestamp in system state. 2025-08-14 11:27:50 +02:00
Miguel 2845d71efe Refactor dataset and plot management to support new array format
- Updated dataset definitions to use a sampling interval of 0.5 seconds.
- Changed plot definitions to reduce the time window to 25 seconds and added a new plot for "Brix".
- Removed deprecated variable configurations from plot variables.
- Refactored ConfigManager to load datasets and variables from new array format, eliminating legacy save methods.
- Updated PLCDataStreamer and PlotManager to reflect changes in dataset and plot management, removing automatic save calls.
- Enhanced ChartjsPlot component to handle variable configurations and session management more efficiently.
- Improved PlotRealtimeSession to ensure backend commands are verified before applying local state changes.
- Adjusted system state to reflect active datasets and connection status.
2025-08-14 11:16:52 +02:00
Miguel 748e8d5b0e Update application event logging, refine PLC configuration, and enhance PlotManager functionality. Added multiple application start events, corrected PLC rack configuration, and introduced PlotRealtimeSession for improved real-time plotting capabilities. 2025-08-14 00:06:43 +02:00
Miguel bb275dd279 Update application event logging and dataset variable configurations. Removed obsolete PLC connection event, added new application start event, and refined variable definitions for clarity and consistency. 2025-08-13 23:42:34 +02:00
Miguel 2ed5acf039 Refactor configuration management and schema handling
- Updated JSON schema for plot variables to improve clarity and structure.
- Modified UI schema for dataset variables to enhance user experience and layout.
- Revamped plot definitions UI schema for better organization and usability.
- Enhanced dataset manager to support filtered variable configuration based on selected datasets.
- Implemented a unified JSON manager for streamlined CRUD operations on configuration files.
- Improved error handling and validation for JSON schema loading and configuration management.
- Updated main application logic to utilize new JSON and schema managers for configuration operations.
- Added validation for dataset definitions and PLC configuration schemas.
2025-08-13 23:31:47 +02:00
Miguel 276efb117d Refactor configuration schemas and UI schemas for datasets and plots
- Changed dataset_variables schema from object to array format, adding dataset_id property.
- Updated plc schema by removing cleanup_interval_hours and max_hours properties, and added sampling_interval to udp_config.
- Modified plot_variables schema from object to array format, adding plot_id property.
- Enhanced UI schemas for dataset definitions and variables, improving layout and descriptions.
- Updated PLC configuration UI schema to reflect changes in the underlying schema.
- Improved error handling and logging in the ConfigManager for better diagnostics.
- Added helper methods in PLCClient for reconnection status and connection info.
- Unified API endpoints for configuration management, allowing direct file access and validation against schemas.
- Introduced a validation script for schema compliance checks.
2025-08-13 22:12:11 +02:00
Miguel e115bd7d55 Enhance UI schema layout support across components. Updated PlotManager and DashboardNew to utilize a comprehensive widget collection and layout templates. Created AllWidgets for improved widget management and added demo schemas showcasing new layout capabilities. 2025-08-13 16:29:38 +02:00
Miguel 8656b4a6a6 Update application event logging and configuration schemas. Added multiple entries for application start events in application_events.json, updated last_updated and total_entries fields. Adjusted sampling_interval in plc_config.json and removed schema references in dataset and plot schema files for consistency. 2025-08-13 16:18:46 +02:00
Miguel e6ccb19fd2 Enhance event logging in application_events.json and update last_updated and total_entries fields. Refactor PlotManager and Dashboard components to utilize schemaData and uiSchema, improving configuration management. Introduce custom widgets for RJSF, including a VariableSelectorWidget for dynamic variable selection. 2025-08-13 16:09:43 +02:00
Miguel 4af442e3e8 Primera version RJSF limpia 2025-08-13 15:45:29 +02:00
Miguel 972a965335 Update system state configuration, add cursor ignore file, and implement PlotRealtimeViewer component for real-time plot management 2025-08-13 15:15:25 +02:00
Miguel 771cf6cba6 Implementación de la gestión de configuración en ChartjsPlot, permitiendo la carga de configuraciones desde la sesión o desde el backend. Se añadió un nuevo estado para manejar la configuración resuelta y se optimizó la inicialización del gráfico. Además, se mejoró el manejo de errores durante la carga de la configuración, asegurando una experiencia más robusta y fluida para el usuario. 2025-08-13 00:24:58 +02:00
Miguel 04f5122cc6 Actualización de la gestión de eventos de aplicación en application_events.json, añadiendo múltiples entradas para registrar eventos de inicio y errores de conexión al PLC. Se ajustaron las fechas de última actualización y se incrementó el total de entradas. Además, se implementó un nuevo endpoint de verificación de salud en main.py, mejorando la monitorización del estado del sistema. Se realizaron mejoras en la interfaz de usuario y se optimizó la carga de datos en el Dashboard, asegurando una experiencia más fluida y consistente. 2025-08-13 00:21:44 +02:00
Miguel d31f0819e2 Actualización de la gestión de datasets y variables, eliminando campos estáticos innecesarios y optimizando la estructura de datos. Se implementó un nuevo formato para las variables de plot, permitiendo la configuración de colores y estado de habilitación. Además, se mejoró la interfaz de usuario con componentes RJSF y se ajustaron los esquemas de configuración para reflejar estos cambios. Se realizaron mejoras en la lógica de carga y guardado en los gestores de configuración y plots, asegurando una experiencia más fluida y consistente. 2025-08-12 23:41:16 +02:00
Miguel bacc9933b3 Actualización de la gestión de datasets y plots en el Dashboard, integrando nuevos componentes que respetan los layouts definidos en los schemas UI. Se mejoró la presentación de formularios y se implementaron logs de debugging para facilitar la verificación de esquemas. Además, se ajustaron los esquemas de configuración y se eliminaron campos estáticos innecesarios, optimizando la interfaz para el usuario. 2025-08-12 21:22:20 +02:00
Miguel 500b68c4d5 Actualización del Dashboard para integrar la gestión de datasets y plots mediante nuevos componentes. Se implementaron tablas editables para la visualización y manipulación de datos, mejorando la experiencia del usuario. Además, se realizaron ajustes en los esquemas de configuración y se optimizó la presentación de formularios, asegurando una interfaz más intuitiva y funcional. 2025-08-12 20:50:53 +02:00
Miguel 745af5fa1f Reorganización del renderizado en el Dashboard para priorizar la configuración del PLC sobre los datasets. Se implementó un orden preferido utilizando `useMemo` para mejorar la experiencia del usuario. Además, se realizaron ajustes en la detección automática de esquemas, eliminando referencias a esquemas obsoletos y optimizando la carga de secciones en la interfaz. 2025-08-12 19:30:54 +02:00
Miguel 724af8afdf Implementación de mejoras significativas en la gestión de datasets y variables, incluyendo la creación de nuevos componentes para DatasetManager y DatasetVariableManager. Se actualizaron los esquemas de configuración para mejorar la usabilidad, añadiendo descripciones y ayudas contextuales. Se integraron widgets personalizados de Chakra UI en formularios RJSF, optimizando la experiencia del usuario. Además, se realizaron ajustes en las rutas de navegación y se mejoró la consistencia visual en toda la aplicación. 2025-08-12 19:26:47 +02:00
Miguel 4d4df0830b Refactorización completa de la gestión de datasets y plots, separando las definiciones y variables en archivos distintos. Se eliminaron archivos obsoletos como plc_datasets.json y plot_sessions.json. Se implementó una migración automática desde los archivos legacy a los nuevos formatos, mejorando la organización y flexibilidad del sistema. Se actualizaron los esquemas de configuración y se ajustaron las funciones de carga y guardado en ConfigManager y PlotManager para trabajar con los nuevos archivos separados. Además, se realizaron mejoras en la interfaz de usuario para reflejar estos cambios y se optimizó el manejo de errores en la carga de datos. 2025-08-12 18:34:12 +02:00
Miguel 09eccf5c0b Actualización de application_events.json para incluir múltiples entradas de eventos de inicio de aplicación, mejorando el registro de inicialización. Se ajustaron las fechas de última actualización y se incrementó el total de entradas. Se realizaron cambios en los esquemas de configuración para mejorar la claridad y se actualizaron las dependencias en package.json para incluir nuevas bibliotecas. Además, se migró la interfaz de usuario a Chakra UI, reemplazando componentes de Bootstrap y mejorando la experiencia del usuario en las páginas de configuración y eventos. 2025-08-12 15:08:37 +02:00
Miguel 1833fff18f Eliminación de archivos obsoletos como plc_config.json, plc_datasets.json y plot_sessions.json. Se actualizó application_events.json para incluir un nuevo evento de inicio de aplicación y se ajustaron las fechas de última actualización. Se realizaron cambios en los esquemas de configuración para mejorar la gestión de datos y se actualizaron las dependencias en package.json para incluir nuevas bibliotecas. Además, se modificó la interfaz de usuario para utilizar el nuevo paquete @rjsf/fluent-ui. 2025-08-12 09:16:46 +02:00
Miguel 0c11ee3ae2 Actualización de application_events.json para incluir nuevos eventos de inicio de aplicación y ajustes en las fechas de última actualización. Se eliminaron archivos obsoletos relacionados con la integración de Chart.js y se reorganizaron las rutas de configuración en el código. Se implementaron mejoras en la gestión de esquemas y se optimizó la carga de recursos estáticos, incluyendo la favicon y logos en la interfaz. Además, se realizaron ajustes en el manejo de errores y se mejoró la estructura de directorios para una mejor organización del proyecto. 2025-08-11 16:26:20 +02:00
Miguel 593487e52f Actualización del archivo .gitignore para ignorar archivos generados automáticamente por React (Vite) en el frontend. Se añadieron múltiples entradas en application_events.json para registrar eventos de inicio de aplicación y errores de conexión al PLC. Se realizaron cambios en main.py para ajustar las rutas y mejorar la gestión de errores, además de eliminar la interfaz de usuario heredada. Se actualizaron las dependencias en package.json y se implementó un enrutador en App.jsx para la nueva SPA de React. Se modificó index.html para reflejar la transición a la nueva interfaz. 2025-08-11 15:01:53 +02:00
Miguel 5581e26d10 Version basica con Forms pero no dan una mejora a la aplicacion 2025-08-11 11:55:22 +02:00
Miguel 10df4e94bd Base de el configurador json basado en schemas 2025-08-10 01:17:14 +02:00
Miguel 5e2149b9d4 Actualización de application_events.json con nuevos eventos para la creación y activación de datasets, así como la gestión de sesiones de plot. Se ajustaron las fechas de última actualización en varios archivos de configuración, incluyendo plc_config.json, plc_datasets.json y system_state.json. Se implementaron mejoras en la interfaz de usuario para la visualización de datos en tiempo real y se optimizó el código en plotting.js para una mejor gestión de gráficos. 2025-08-10 00:38:08 +02:00
Miguel 8d693c48c7 Actualización de application_events.json con nuevos eventos para la creación, eliminación y actualización de sesiones de plot. Se ajustaron las fechas de última actualización en varios archivos de configuración, incluyendo plc_datasets.json, plot_sessions.json y system_state.json. Se implementaron controles de tasa de refresco y ventana de tiempo en la interfaz de usuario, mejorando la experiencia de usuario en la visualización de datos en tiempo real. Además, se integró el plugin de zoom en los gráficos para una mejor interacción. 2025-08-09 01:05:19 +02:00
Miguel f78ccbdc1d Actualización de application_events.json con nuevos eventos relacionados con la reanudación automática de datasets tras reconexiones al PLC. Se ajustaron las fechas de última actualización en varios archivos de configuración, incluyendo plc_datasets.json y system_state.json. Se modificaron los offsets y configuraciones de variables en plc_datasets.json para mejorar la gestión de datos. Además, se realizaron optimizaciones en plotting.js para mejorar la experiencia de usuario en la visualización de datos en tiempo real. 2025-08-08 19:36:59 +02:00
Miguel cf5a169cce Actualización de application_events.json con nuevos eventos para la gestión de datasets y sesiones de plot. Se mejoró el manejo de errores en la conexión al PLC en main.py, proporcionando detalles adicionales en caso de fallo. Se ajustaron las fechas de última actualización en varios archivos de configuración, incluyendo plc_config.json y plc_datasets.json. Se realizaron mejoras en la interfaz de usuario para reflejar el estado de conexión y se optimizó el código en plotting.js para una mejor gestión de datos en tiempo real. 2025-08-08 18:30:27 +02:00
Miguel df07451079 Implementación de un sistema de reconexión automática para el PLC con backoff exponencial, permitiendo la reanudación de streaming y grabación de datasets tras desconexiones. Se añadieron nuevos endpoints API para gestionar el estado de reconexión y habilitar/deshabilitar esta funcionalidad. Se actualizaron los archivos de configuración y estado del sistema, así como la interfaz de usuario para reflejar el estado de reconexión y mejorar la experiencia del usuario. 2025-08-04 18:26:22 +02:00
Miguel d1ca6f6ed6 Actualización de application_events.json con nuevos eventos para la gestión de sesiones de plot y el sistema de streaming. Se ajustaron las fechas de última actualización en plc_config.json, plc_datasets.json y system_state.json. Se implementó un control dinámico de la tasa de refresco en la interfaz de usuario, permitiendo a los usuarios establecer valores personalizados para la actualización de gráficos en tiempo real. Se realizaron mejoras en el código de plotting.js y tabs.js para soportar esta nueva funcionalidad. 2025-08-04 17:23:25 +02:00
Miguel bcef19e3f0 Actualización de application_events.json con nuevos eventos para la gestión de sesiones de plot y el sistema de streaming. Se ajustaron las fechas de última actualización en plc_datasets.json y system_state.json. Se eliminaron mensajes de depuración en plotting.js para mejorar la claridad del código. 2025-08-04 01:02:39 +02:00
Miguel a498dfb057 Actualización de eventos en application_events.json para mejorar la gestión de sesiones de plot y el sistema de streaming. Se ajustaron las fechas de última actualización en varios archivos de configuración, incluyendo plc_datasets.json, plot_sessions.json, system_state.json y estilos CSS. Se realizaron mejoras en la interfaz de usuario en index.html y se optimizó el código en plotting.js para un mejor rendimiento y claridad en la gestión de datos de streaming. 2025-08-04 00:55:52 +02:00
Miguel 8c6f3b5534 Actualización de eventos en application_events.json para mejorar la gestión de sesiones de plot y el sistema de streaming. Se ajustaron las fechas de última actualización en varios archivos de configuración. Se eliminaron scripts de depuración y pruebas para simplificar el código y mejorar la claridad del sistema. Además, se realizaron ajustes en la interfaz de usuario en index.html para reflejar estos cambios. 2025-08-03 10:28:26 +02:00
Miguel 55c4e67cf7 Actualización de archivos de configuración y estado del sistema, incluyendo la adición de nuevos eventos en application_events.json para la gestión de sesiones de plot y mejoras en el sistema de streaming. Se implementaron funciones de depuración en plotting.js y se ajustaron las fechas de última actualización en varios archivos. Además, se mejoró la interfaz de usuario en index.html y se realizaron ajustes en la gestión de sesiones en PlotManager para optimizar la experiencia del usuario. 2025-07-22 09:24:25 +02:00
Miguel 8195b5d430 Actualización de archivos de configuración y estado del sistema, incluyendo la adición de nuevos eventos en application_events.json para la gestión de sesiones de plot. Se modificó el comportamiento por defecto de las sesiones en PlotManager para que se inicien automáticamente, mejorando la experiencia del usuario. Se implementaron funciones de depuración en plotting.js y se ajustaron las fechas de última actualización en varios archivos. Además, se eliminó el formulario de creación de plots en index.html para simplificar la interfaz. 2025-07-21 15:12:37 +02:00
Miguel 45686b0663 Actualización de los archivos de configuración y estado del sistema para reflejar los cambios recientes en las sesiones de plot. Se añadieron nuevos eventos en application_events.json para la creación y eliminación de sesiones de plot, así como mejoras en el auto-scaling de los gráficos. Se implementaron nuevas funcionalidades en PlotManager para la gestión de estado de las sesiones y se mejoró la inicialización del sistema en main.js. Además, se ajustaron las fechas de última actualización en los archivos correspondientes. 2025-07-21 14:37:02 +02:00
Miguel 5e575fd112 Actualización del sistema de plotting en tiempo real con nuevas funcionalidades, incluyendo la creación y edición de sesiones de plot a través de un formulario colapsable. Se implementaron nuevos endpoints API para obtener y actualizar la configuración de las sesiones de plot. Además, se mejoró la interfaz de usuario con sub-tabs dinámicos para gestionar múltiples sesiones de plot y se realizaron ajustes en los estilos CSS para una mejor experiencia visual. Se actualizaron los archivos de configuración y estado del sistema para reflejar estos cambios. 2025-07-21 12:30:26 +02:00
Miguel a13baed5c6 Implementación de un sistema de plotting en tiempo real con soporte para múltiples sesiones y un sistema de triggers basado en variables booleanas. Se añadieron nuevos endpoints API para gestionar sesiones de plotting, así como mejoras en la interfaz de usuario para facilitar la creación y control de plots. Se actualizaron los estilos CSS y se integraron nuevas funcionalidades en el frontend para una experiencia de usuario más intuitiva. Además, se realizaron ajustes en los archivos de configuración y estado del sistema para reflejar estos cambios. 2025-07-21 09:26:41 +02:00
Miguel 5138a2e7cd Implementación de un sistema de control de streaming UDP independiente, separando la grabación automática de CSV y la transmisión manual a PlotJuggler. Se añadieron nuevos endpoints API para iniciar y detener el streaming UDP, y se mejoró la gestión de eventos y el registro de estado. Además, se actualizaron los archivos de configuración y estado del sistema para reflejar estos cambios, y se realizaron mejoras en la interfaz de usuario para clarificar la distinción entre las operaciones de grabación y streaming. 2025-07-20 23:30:12 +02:00
Miguel a37cb8be3b Refactorizado de index.html 2025-07-20 23:05:14 +02:00
Miguel 5ea9e51cd4 Actualización de la documentación en MemoriaDeEvolucion.md para incluir una descripción funcional detallada de la aplicación, sus principales funciones y el manejo de variables y conjuntos de datos. Se añadió información sobre la transmisión en tiempo real, el monitoreo en vivo y la persistencia de la aplicación tras reinicios. 2025-07-20 19:46:48 +02:00
Miguel e9c86ed234 Actualización del sistema de streaming en tiempo real, añadiendo controles para la transmisión de variables y estado en la interfaz de usuario. Se implementaron mejoras en la gestión de conexiones SSE, permitiendo la transmisión continua de datos y actualizaciones automáticas. Además, se ajustaron los archivos de configuración y estado del sistema para reflejar los cambios recientes, y se mejoró la experiencia del usuario con nuevos indicadores de estado y mensajes informativos. 2025-07-20 11:32:59 +02:00
Miguel e939078799 Implementación de un sistema de gestión de configuración CSV, que incluye la obtención y actualización de la configuración de grabación CSV a través de la API. Se añadió la funcionalidad para limpiar archivos CSV antiguos según la configuración establecida, mejorando la gestión del espacio en disco. Además, se actualizaron los archivos de configuración y estado del sistema para reflejar los cambios recientes, y se mejoró la interfaz de usuario para mostrar información sobre el directorio de archivos CSV y su estado. 2025-07-19 23:46:46 +02:00
Miguel 631850125a Actualización del archivo application_events.json para incluir un nuevo evento de inicio de aplicación y ajuste de la fecha de última actualización. Modificación en reglas.mdc para aplicar siempre las reglas. Se implementó una nueva cuadrícula de configuración en index.html para mejorar la organización de los formularios de configuración de PLC y UDP. 2025-07-19 12:21:05 +02:00
Miguel f276eb96c5 Version base con Pico.css 2025-07-19 12:17:44 +02:00