Commit Graph

54 Commits

Author SHA1 Message Date
Miguel 6cd5f36c7c feat: Enhance application event logging, add stacked Y-axis support, and update plot session configurations 2025-08-15 13:06:14 +02:00
Miguel 14089cdc2e feat: Add detailed application event logging, enhance plot session configurations, and support stacked Y-axes in Chart.js 2025-08-15 12:55:43 +02:00
Miguel addd9fa6bc feat: Enhance event logging for plot sessions, improve zoom functionality, and update dataset configurations 2025-08-15 11:01:20 +02:00
Miguel 73f743ce7c feat: Add detailed application event logging and enhance Chart.js health monitoring with auto-recovery features 2025-08-15 00:51:18 +02:00
Miguel b864e81aa3 feat: Enhance event logging, improve CSV handling, and optimize Chart.js zoom functionality 2025-08-15 00:42:14 +02:00
Miguel e517f40a5d feat: Enhance application event logging, improve CSV handling, and add CSV validator utility 2025-08-15 00:28:21 +02:00
Miguel 4f7b55bd0d feat: Agregar registro detallado de eventos de aplicación y mejorar la carga de datos históricos desde archivos CSV
- Se añadieron múltiples eventos de inicio de aplicación, activación de datasets y creación de sesiones de gráficos en el archivo application_events.json.
- Se mejoró la función get_historical_data en main.py con un manejo de errores más robusto y mensajes de depuración detallados.
- Se actualizó el estado del sistema en system_state.json para reflejar los cambios en los datasets activos y la última actualización.
- Se documentaron las mejoras en la Memoria de Evolución, destacando la implementación de la carga de datos históricos y la validación de encabezados CSV.
2025-08-15 00:21:41 +02:00
Miguel 91718e7bf7 feat: Implement historical data loading from CSV files, enhance PlotRealtimeViewer component, and improve Chart.js dependency checks 2025-08-14 23:32:07 +02:00
Miguel ea2006666f feat: Enhance application event logging, add CSV header validation, and implement fullscreen mode for charts 2025-08-14 22:57:42 +02:00
Miguel 032959f491 feat: Implement CSV header validation and automatic renaming for dataset files 2025-08-14 22:33:39 +02:00
Miguel bd0e169757 feat: Migrate Chart.js libraries to npm for offline usage and update application setup 2025-08-14 21:39:27 +02:00
Miguel d99d439455 feat: Enhance application event logging and add max_hours configuration option 2025-08-14 18:32:49 +02:00
Miguel fd8efecae4 Enhance dataset variable handling and expand symbolic variables
- Updated dataset_variables.json to include new variables and adjust configurations.
- Modified plot_variables.json to add visualization settings for new variables.
- Enhanced ConfigManager to support expansion of symbolic variables, improving variable management.
- Updated PLCClient to handle additional memory types for variable reading.
- Refactored VariableSelectorWidget to utilize expanded dataset variables for better selection.
- Added new API endpoint to retrieve expanded dataset variables.
- Adjusted system_state.json to reflect changes in active datasets and last update timestamp.
2025-08-14 18:28:37 +02:00
Miguel 31cb5cc515 feat: Enhance dataset variable configuration with manual and symbol-based options
- Updated the dataset variables UI schema to support two configuration types: manual and symbol-based.
- Implemented a new DatasetVariableSymbolWidget for symbol selection with auto-fill capabilities.
- Modified the DatasetManager to handle the new schema structure and UI layout.
- Integrated the new widget into the DatasetVariablesRJSF component for improved user experience.
- Updated the SymbolSelectorWidget to support callbacks for symbol selection.
- Refactored the FormTable component to utilize the new allWidgets import for better widget management.
- Added error handling and loading states for improved user feedback during data fetching.
2025-08-14 17:34:32 +02:00
Miguel e3b1b48556 feat: Add symbol loading functionality from ASC files
- Implemented a new utility class `SymbolLoader` to parse Siemens ASC symbol files and save the output in JSON format.
- Created a `SymbolProcessor` class to handle symbol-based variable processing, including loading symbols and expanding configurations.
- Developed frontend components `FilePathWidget` and `SymbolSelectorWidget` for file selection and symbol selection respectively.
- Added API endpoints for loading symbols and browsing files.
- Introduced test scripts for validating the symbol loader and endpoint functionality.
- Added sample ASC and JSON files for testing purposes.
2025-08-14 16:53:31 +02:00
Miguel 16355c4106 feat: Update application events and system state management with new plot session events, enhanced plot definitions, and improved PlotManager component for better session control and configuration handling. 2025-08-14 16:02:10 +02:00
Miguel a9396ec309 Refactor PlotManager and PlotRealtimeSession components for improved variable handling and session control
- Updated CollapsiblePlotChart to display correct variable count.
- Added getPlotVariables helper function to retrieve plot variables based on plot ID.
- Enhanced PlotManager to log plot data loading and adjust dependencies for useEffect.
- Refactored handleControlClick in PlotRealtimeSession to use useCallback and maintain session state during refresh.
- Implemented logic to restart active plots after configuration refresh in PlotRealtimeSession.
- Removed unused DashboardNew component to streamline codebase.
- Updated system_state.json to reflect changes in active datasets and last update timestamp.
- Deleted validate_schema.py as it is no longer needed for schema validation.
2025-08-14 15:04:47 +02:00
Miguel f5db758698 feat: Implement Plot Manager and Plot Manager Simple components with collapsible forms for plot definitions and variables configuration 2025-08-14 14:48:02 +02:00
Miguel 3cf14df246 feat: Update application events and system state management. Added new events for application start and dataset activation, improved dataset management UI with tabs, and refined system state configuration. 2025-08-14 13:39:42 +02:00
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 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 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 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 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 81ade6f8f0 Antes de refactorizar a varias clases 2025-07-19 10:00:52 +02:00
Miguel 01d5df1c86 Actualización del registro de eventos en application_events.json con nuevos eventos relacionados con la activación y desactivación de conjuntos de datos, así como la conexión y desconexión de PLC. Se mejoró la gestión de rutas de recursos en main.py para asegurar la correcta carga de archivos en diferentes entornos. Se actualizó la fecha de última modificación en plc_datasets.json, system_state.json y se eliminó el archivo plc_streamer.lock, que ya no es necesario. 2025-07-18 11:15:05 +02:00
Miguel 3d4c2b3d42 Implementación de mejoras en la gestión de variables de streaming, asegurando que solo se transmitan las variables activas y sincronizando las configuraciones de streaming al iniciar la aplicación. Se corrigieron problemas de inicialización de streaming en la recuperación automática y se actualizaron los archivos de configuración y estado del sistema para reflejar los cambios recientes. Además, se mejoró la interfaz de usuario para mostrar correctamente el estado de las variables en streaming. 2025-07-17 18:32:47 +02:00