From 087a9458ceec1eb744ffebd0cc687c5b01efd0b3 Mon Sep 17 00:00:00 2001 From: Miguel Date: Thu, 14 Aug 2025 13:12:04 +0200 Subject: [PATCH] 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. --- application_events.json | 10641 +--------------- config/data/plot_definitions.json | 13 +- config/data/plot_variables.json | 14 +- config/schema/plot-definitions.schema.json | 30 + .../schema/ui/plot-definitions.uischema.json | 40 +- frontend/src/components/ChartjsPlot.jsx | 130 +- .../src/components/PlotRealtimeSession.jsx | 328 +- .../rjsf/VariableSelectorWidget.jsx | 3 +- system_state.json | 6 +- 9 files changed, 801 insertions(+), 10404 deletions(-) diff --git a/application_events.json b/application_events.json index 1d8a2b4..92ed735 100644 --- a/application_events.json +++ b/application_events.json @@ -1,5901 +1,14 @@ { "events": [ { - "timestamp": "2025-07-18T09:40:58.647328", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11", - "details": {} - }, - { - "timestamp": "2025-07-18T09:40:59.418507", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-18T09:42:43.386224", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 4, - "streaming_count": 3, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-18T09:42:43.390403", - "level": "info", - "event_type": "streaming_started", - "message": "Multi-dataset streaming started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2, - "udp_host": "127.0.0.1", - "udp_port": 9870 - } - }, - { - "timestamp": "2025-07-18T10:02:11.249474", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-07-18T10:02:11.263769", - "level": "info", - "event_type": "streaming_stopped", - "message": "Multi-dataset streaming stopped: 1 datasets deactivated", - "details": {} - }, - { - "timestamp": "2025-07-18T10:02:12.294672", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 4, - "streaming_count": 3, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-18T10:02:12.299571", - "level": "info", - "event_type": "streaming_started", - "message": "Multi-dataset streaming started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2, - "udp_host": "127.0.0.1", - "udp_port": 9870 - } - }, - { - "timestamp": "2025-07-18T10:02:33.056115", - "level": "info", - "event_type": "Application started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-18T10:02:33.084877", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-18T10:02:33.093596", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 4, - "streaming_count": 3, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-18T15:11:14.294668", - "level": "info", - "event_type": "Application started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-18T15:11:14.321092", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-18T15:11:14.325574", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 4, - "streaming_count": 3, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-18T15:11:51.299652", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-07-18T15:11:51.303633", - "level": "info", - "event_type": "streaming_stopped", - "message": "Multi-dataset streaming stopped: 1 datasets deactivated", - "details": {} - }, - { - "timestamp": "2025-07-18T15:11:51.306353", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11", - "details": {} - }, - { - "timestamp": "2025-07-18T15:14:25.443703", - "level": "info", - "event_type": "Application started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-18T15:14:32.201432", - "level": "error", - "event_type": "streaming_error", - "message": "Cannot start streaming: PLC not connected", - "details": {} - }, - { - "timestamp": "2025-07-18T15:14:38.523861", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-18T15:14:41.291500", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 4, - "streaming_count": 3, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-18T15:14:41.294494", - "level": "info", - "event_type": "streaming_started", - "message": "Multi-dataset streaming started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2, - "udp_host": "127.0.0.1", - "udp_port": 9870 - } - }, - { - "timestamp": "2025-07-18T16:03:07.780616", - "level": "info", - "event_type": "Application started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-18T16:03:07.801197", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-18T16:03:07.805174", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 4, - "streaming_count": 3, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-18T16:07:14.134957", - "level": "info", - "event_type": "dataset_csv_file_created", - "message": "New CSV file created after variable modification for dataset 'DAR': dar_16_07_14.csv", - "details": { - "dataset_id": "dar", - "file_path": "records\\18-07-2025\\dar_16_07_14.csv", - "variables_count": 3, - "reason": "variable_modification" - } - }, - { - "timestamp": "2025-07-18T16:07:14.138946", - "level": "info", - "event_type": "variable_removed", - "message": "Variable removed from dataset 'DAR': PEW300", - "details": { - "dataset_id": "dar", - "name": "PEW300", - "removed_config": { - "area": "pew", - "offset": 300, - "type": "word", - "streaming": false - } - } - }, - { - "timestamp": "2025-07-18T16:07:14.460648", - "level": "info", - "event_type": "dataset_csv_file_created", - "message": "New CSV file created after variable modification for dataset 'DAR': dar_16_07_14.csv", - "details": { - "dataset_id": "dar", - "file_path": "records\\18-07-2025\\dar_16_07_14.csv", - "variables_count": 4, - "reason": "variable_modification" - } - }, - { - "timestamp": "2025-07-18T16:07:14.465179", - "level": "info", - "event_type": "variable_added", - "message": "Variable added to dataset 'DAR': UR62_PEW -> PEW300 (word)", - "details": { - "dataset_id": "dar", - "name": "UR62_PEW", - "area": "pew", - "db": null, - "offset": 300, - "bit": null, - "type": "word", - "streaming": false - } - }, - { - "timestamp": "2025-07-18T16:07:19.834364", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-07-18T16:07:19.838351", - "level": "info", - "event_type": "streaming_stopped", - "message": "Multi-dataset streaming stopped: 1 datasets deactivated", - "details": {} - }, - { - "timestamp": "2025-07-18T16:07:50.834816", - "level": "info", - "event_type": "variable_added", - "message": "Variable added to dataset 'DAR': UR29_PEW -> PEW304 (word)", - "details": { - "dataset_id": "dar", - "name": "UR29_PEW", - "area": "pew", - "db": null, - "offset": 304, - "bit": null, - "type": "word", - "streaming": false - } - }, - { - "timestamp": "2025-07-18T16:08:15.313118", - "level": "info", - "event_type": "variable_removed", - "message": "Variable removed from dataset 'DAR': CTS306_Conditi", - "details": { - "dataset_id": "dar", - "name": "CTS306_Conditi", - "removed_config": { - "area": "db", - "offset": 18, - "type": "real", - "streaming": true, - "db": 2124 - } - } - }, - { - "timestamp": "2025-07-18T16:08:50.490326", - "level": "info", - "event_type": "variable_removed", - "message": "Variable removed from dataset 'DAR': UR62_Brix", - "details": { - "dataset_id": "dar", - "name": "UR62_Brix", - "removed_config": { - "area": "db", - "offset": 18, - "type": "real", - "streaming": true, - "db": 2122 - } - } - }, - { - "timestamp": "2025-07-18T16:08:50.750605", - "level": "info", - "event_type": "variable_added", - "message": "Variable added to dataset 'DAR': UR62_Brix -> DB1011.1296 (real)", - "details": { - "dataset_id": "dar", - "name": "UR62_Brix", - "area": "db", - "db": 1011, - "offset": 1296, - "bit": null, - "type": "real", - "streaming": false - } - }, - { - "timestamp": "2025-07-18T16:09:30.790847", - "level": "info", - "event_type": "variable_added", - "message": "Variable added to dataset 'DAR': UR29_Brix -> DB1011.1322 (real)", - "details": { - "dataset_id": "dar", - "name": "UR29_Brix", - "area": "db", - "db": 1011, - "offset": 1322, - "bit": null, - "type": "real", - "streaming": false - } - }, - { - "timestamp": "2025-07-18T16:14:37.452312", - "level": "info", - "event_type": "variable_added", - "message": "Variable added to dataset 'DAR': CTS306_PV -> DB1011.1328 (real)", - "details": { - "dataset_id": "dar", - "name": "CTS306_PV", - "area": "db", - "db": 1011, - "offset": 1328, - "bit": null, - "type": "real", - "streaming": false - } - }, - { - "timestamp": "2025-07-18T16:14:46.295741", - "level": "info", - "event_type": "config_change", - "message": "PLC configuration updated: 10.1.33.11:0/2", - "details": { - "old_config": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - }, - "new_config": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - } - }, - { - "timestamp": "2025-07-18T16:14:48.200032", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 1, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-18T16:14:48.203024", - "level": "info", - "event_type": "streaming_started", - "message": "Multi-dataset streaming started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2, - "udp_host": "127.0.0.1", - "udp_port": 9870 - } - }, - { - "timestamp": "2025-07-19T10:20:39.326530", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T10:21:08.778204", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-19T10:23:53.923405", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T10:26:00.730704", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T10:28:25.232935", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T10:45:16.831127", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T10:50:46.241841", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T10:54:12.806839", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T10:57:02.513632", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T11:01:07.447778", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T12:13:37.712539", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T12:13:43.277483", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-19T12:14:34.874959", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T12:16:12.281197", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T12:18:29.904793", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T12:29:10.487361", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T13:21:24.048901", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T14:13:44.454351", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T14:13:54.748671", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T14:14:02.488101", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T14:15:52.777059", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T14:15:58.811720", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T14:16:31.631302", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T14:16:43.269892", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T14:17:10.303046", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T14:18:02.206369", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T14:21:22.011786", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T14:21:30.848754", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T14:24:17.564257", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T14:25:06.849376", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T14:45:27.402524", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T16:00:07.378875", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T22:01:19.153301", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-19T22:01:34.152270", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-19T22:01:53.799674", - "level": "info", - "event_type": "config_change", - "message": "PLC configuration updated: 127.0.0.1:0/2", - "details": { - "old_config": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - }, - "new_config": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 2 - } - } - }, - { - "timestamp": "2025-07-19T22:01:58.549741", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 127.0.0.1", - "details": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-19T22:06:22.607781", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T22:11:36.698746", - "level": "info", - "event_type": "config_change", - "message": "PLC configuration updated: 127.0.0.1:0/1", - "details": { - "old_config": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 2 - }, - "new_config": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 1 - } - } - }, - { - "timestamp": "2025-07-19T22:11:41.974399", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 127.0.0.1", - "details": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 1 - } - }, - { - "timestamp": "2025-07-19T22:11:44.917328", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 127.0.0.1", - "details": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 1 - } - }, - { - "timestamp": "2025-07-19T22:12:28.865152", - "level": "info", - "event_type": "config_change", - "message": "PLC configuration updated: 127.0.0.1:0/0", - "details": { - "old_config": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 1 - }, - "new_config": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 0 - } - } - }, - { - "timestamp": "2025-07-19T22:12:33.010656", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 127.0.0.1", - "details": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 0 - } - }, - { - "timestamp": "2025-07-19T22:12:45.632358", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 127.0.0.1", - "details": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 0 - } - }, - { - "timestamp": "2025-07-19T22:16:32.861156", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T22:16:42.440110", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 127.0.0.1", - "details": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 0 - } - }, - { - "timestamp": "2025-07-19T22:16:53.326588", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 127.0.0.1", - "details": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 0 - } - }, - { - "timestamp": "2025-07-19T22:17:46.848148", - "level": "info", - "event_type": "config_change", - "message": "PLC configuration updated: 127.0.0.1:0/1", - "details": { - "old_config": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 0 - }, - "new_config": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 1 - } - } - }, - { - "timestamp": "2025-07-19T22:17:51.814340", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 127.0.0.1", - "details": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 1 - } - }, - { - "timestamp": "2025-07-19T22:18:01.265041", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 127.0.0.1", - "details": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 1 - } - }, - { - "timestamp": "2025-07-19T23:27:08.208450", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T23:27:20.489074", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 127.0.0.1", - "details": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 1 - } - }, - { - "timestamp": "2025-07-19T23:27:33.435449", - "level": "info", - "event_type": "config_change", - "message": "PLC configuration updated: 10.1.33.11:0/2", - "details": { - "old_config": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 1 - }, - "new_config": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - } - }, - { - "timestamp": "2025-07-19T23:27:35.355205", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-19T23:27:49.857326", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-19T23:28:03.411972", - "level": "info", - "event_type": "config_change", - "message": "PLC configuration updated: 127.0.0.1:0/2", - "details": { - "old_config": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - }, - "new_config": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 2 - } - } - }, - { - "timestamp": "2025-07-19T23:28:07.009421", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 127.0.0.1", - "details": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-19T23:29:14.947031", - "level": "info", - "event_type": "config_change", - "message": "PLC configuration updated: 10.1.33.249:0/2", - "details": { - "old_config": { - "ip": "127.0.0.1", - "rack": 0, - "slot": 2 - }, - "new_config": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - } - } - }, - { - "timestamp": "2025-07-19T23:29:18.132063", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.249", - "details": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-19T23:30:10.893919", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-19T23:30:10.896921", - "level": "info", - "event_type": "streaming_started", - "message": "Multi-dataset streaming started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2, - "udp_host": "127.0.0.1", - "udp_port": 9870 - } - }, - { - "timestamp": "2025-07-19T23:33:32.589873", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T23:36:44.619374", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T23:36:59.720797", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.249", - "details": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-19T23:37:00.935380", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-19T23:37:00.938380", - "level": "info", - "event_type": "streaming_started", - "message": "Multi-dataset streaming started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2, - "udp_host": "127.0.0.1", - "udp_port": 9870 - } - }, - { - "timestamp": "2025-07-19T23:43:46.929550", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T23:43:54.596824", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.249", - "details": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-19T23:43:55.377313", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-19T23:43:55.380321", - "level": "info", - "event_type": "streaming_started", - "message": "Multi-dataset streaming started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2, - "udp_host": "127.0.0.1", - "udp_port": 9870 - } - }, - { - "timestamp": "2025-07-19T23:48:38.640110", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T23:48:41.470079", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.249", - "details": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-19T23:48:42.505682", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-19T23:48:42.510751", - "level": "info", - "event_type": "streaming_started", - "message": "Multi-dataset streaming started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2, - "udp_host": "127.0.0.1", - "udp_port": 9870 - } - }, - { - "timestamp": "2025-07-19T23:54:49.890388", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-19T23:54:53.899216", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.249", - "details": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-19T23:54:54.804438", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-19T23:54:54.808442", - "level": "info", - "event_type": "streaming_started", - "message": "Multi-dataset streaming started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2, - "udp_host": "127.0.0.1", - "udp_port": 9870 - } - }, - { - "timestamp": "2025-07-20T10:57:27.900065", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-20T10:58:20.099906", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.249", - "details": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-20T19:55:09.970238", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-20T19:55:21.690709", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.249", - "details": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-20T19:55:32.161728", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-20T19:55:32.167727", - "level": "info", - "event_type": "streaming_started", - "message": "Multi-dataset streaming started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2, - "udp_host": "127.0.0.1", - "udp_port": 9870 - } - }, - { - "timestamp": "2025-07-20T22:58:33.195123", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-20T23:00:02.947627", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.249", - "details": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-20T23:00:05.459324", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.249", - "details": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-20T23:00:10.767162", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-20T23:00:10.770176", - "level": "info", - "event_type": "streaming_started", - "message": "Multi-dataset streaming started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2, - "udp_host": "127.0.0.1", - "udp_port": 9870 - } - }, - { - "timestamp": "2025-07-20T23:00:21.646936", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-07-20T23:00:21.651937", - "level": "info", - "event_type": "streaming_stopped", - "message": "Multi-dataset streaming stopped: 1 datasets deactivated", - "details": {} - }, - { - "timestamp": "2025-07-20T23:00:21.655936", - "level": "info", - "event_type": "streaming_stopped", - "message": "Multi-dataset streaming stopped: 0 datasets deactivated", - "details": {} - }, - { - "timestamp": "2025-07-20T23:00:21.658937", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.249", - "details": {} - }, - { - "timestamp": "2025-07-20T23:01:23.105142", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.249", - "details": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-20T23:01:33.860399", - "level": "info", - "event_type": "streaming_stopped", - "message": "Multi-dataset streaming stopped: 0 datasets deactivated", - "details": {} - }, - { - "timestamp": "2025-07-20T23:01:33.863399", - "level": "info", - "event_type": "streaming_stopped", - "message": "Multi-dataset streaming stopped: 0 datasets deactivated", - "details": {} - }, - { - "timestamp": "2025-07-20T23:01:33.866398", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.249", - "details": {} - }, - { - "timestamp": "2025-07-20T23:02:06.003577", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.249", - "details": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-20T23:02:11.447466", - "level": "info", - "event_type": "streaming_stopped", - "message": "Multi-dataset streaming stopped: 0 datasets deactivated", - "details": {} - }, - { - "timestamp": "2025-07-20T23:02:11.452936", - "level": "info", - "event_type": "streaming_stopped", - "message": "Multi-dataset streaming stopped: 0 datasets deactivated", - "details": {} - }, - { - "timestamp": "2025-07-20T23:02:11.456927", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.249", - "details": {} - }, - { - "timestamp": "2025-07-20T23:03:30.463799", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.249", - "details": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-07-20T23:03:40.709674", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-20T23:03:40.714677", - "level": "info", - "event_type": "streaming_started", - "message": "Multi-dataset streaming started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2, - "udp_host": "127.0.0.1", - "udp_port": 9870 - } - }, - { - "timestamp": "2025-07-20T23:12:13.679345", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-20T23:12:31.445814", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-20T23:12:31.449815", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.249 and auto-activated 1 datasets for recording", - "details": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2, - "auto_activated_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-07-20T23:12:34.845486", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-20T23:12:34.849625", - "level": "info", - "event_type": "streaming_started", - "message": "Multi-dataset streaming started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2, - "udp_host": "127.0.0.1", - "udp_port": 9870 - } - }, - { - "timestamp": "2025-07-20T23:13:51.856604", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-07-20T23:13:51.859613", - "level": "info", - "event_type": "streaming_stopped", - "message": "Multi-dataset streaming stopped: 1 datasets deactivated", - "details": {} - }, - { - "timestamp": "2025-07-20T23:17:52.196719", - "level": "info", - "event_type": "streaming_stopped", - "message": "Multi-dataset streaming stopped: 0 datasets deactivated", - "details": {} - }, - { - "timestamp": "2025-07-20T23:17:52.200719", - "level": "info", - "event_type": "streaming_stopped", - "message": "Multi-dataset streaming stopped: 0 datasets deactivated", - "details": {} - }, - { - "timestamp": "2025-07-20T23:17:52.203718", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.249", - "details": {} - }, - { - "timestamp": "2025-07-20T23:17:54.026988", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-20T23:17:54.031992", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.249 and auto-activated 1 datasets for recording", - "details": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2, - "auto_activated_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-07-20T23:18:12.560727", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-07-20T23:18:14.249955", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-20T23:18:16.469647", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-07-20T23:18:18.238188", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-20T23:22:53.579226", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-20T23:23:13.161965", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-20T23:24:05.283706", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-20T23:24:05.319632", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-20T23:24:05.323152", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-20T23:24:30.952393", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-20T23:24:31.002955", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-20T23:24:31.009499", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-20T23:24:51.202452", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 1 - } - }, - { - "timestamp": "2025-07-20T23:24:59.356614", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-07-20T23:25:04.088165", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-07-20T23:25:04.094297", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-07-20T23:25:04.248255", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-07-20T23:25:04.253860", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.249 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-07-20T23:25:07.496515", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-20T23:25:07.500914", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-20T23:25:07.505843", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.249 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-07-20T23:25:10.215131", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 1 - } - }, - { - "timestamp": "2025-07-20T23:49:17.370512", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-20T23:49:17.434505", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-20T23:49:17.439505", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-20T23:49:17.449529", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 1 - } - }, - { - "timestamp": "2025-07-20T23:50:20.235616", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Test' created", - "details": { - "session_id": "plot_0", - "variables": [ - "UR29_Brix" - ], - "time_window": 60, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-20T23:51:02.883495", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Test' removed", - "details": { - "session_id": "plot_0" - } - }, - { - "timestamp": "2025-07-20T23:51:16.267327", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'test' created", - "details": { - "session_id": "plot_1", - "variables": [ - "UR29_Brix", - "UR29_Brix_Digital", - "UR62_Brix" - ], - "time_window": 60, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-20T23:52:19.663479", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'test' created", - "details": { - "session_id": "plot_2", - "variables": [ - "UR29_Brix", - "UR62_Brix" - ], - "time_window": 60, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-21T09:21:24.720368", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T09:21:37.488725", - "level": "info", - "event_type": "config_change", - "message": "PLC configuration updated: 10.1.33.249:0/2", - "details": { - "old_config": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - }, - "new_config": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - } - } - }, - { - "timestamp": "2025-07-21T09:21:43.453084", - "level": "info", - "event_type": "config_change", - "message": "PLC configuration updated: 10.1.33.11:0/2", - "details": { - "old_config": { - "ip": "10.1.33.249", - "rack": 0, - "slot": 2 - }, - "new_config": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - } - }, - { - "timestamp": "2025-07-21T09:21:45.846722", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T09:21:45.854021", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T09:21:45.857409", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-07-21T09:25:26.290146", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Cond' created", - "details": { - "session_id": "plot_0", - "variables": [ - "CTS306_PV" - ], - "time_window": 10, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-21T09:39:40.657456", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T09:39:40.680497", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T09:39:40.684807", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T09:40:30.518857", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T09:40:30.542851", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T09:40:30.546860", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T09:41:09.159957", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'test' created", - "details": { - "session_id": "plot_0", - "variables": [ - "CTS306_PV" - ], - "time_window": 60, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-21T10:09:40.951446", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'test' created", - "details": { - "session_id": "plot_1", - "variables": [ - "CTS306_PV" - ], - "time_window": 10, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-21T10:10:03.044358", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T10:10:03.070132", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T10:10:03.074143", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T10:10:48.758561", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'test' created", - "details": { - "session_id": "plot_2", - "variables": [ - "CTS306_PV" - ], - "time_window": 10, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-21T10:28:02.672364", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T10:28:02.693756", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T10:28:02.697814", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T10:28:56.265087", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'temp' created", - "details": { - "session_id": "plot_3", - "variables": [ - "CTS306_PV" - ], - "time_window": 10, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-21T10:49:21.053339", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-07-21T10:49:21.057745", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-07-21T10:49:21.063745", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-07-21T10:49:21.068745", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-07-21T10:49:27.413472", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T10:49:27.420917", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T10:49:27.426918", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-07-21T10:51:12.198006", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T10:51:12.222774", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T10:51:12.227786", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T10:51:52.901833", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Cond' created", - "details": { - "session_id": "plot_4", - "variables": [ - "CTS306_PV" - ], - "time_window": 60, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-21T11:22:36.755640", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T11:22:36.781108", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T11:22:36.785849", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T11:22:56.274910", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'test' removed", - "details": { - "session_id": "plot_0" - } - }, - { - "timestamp": "2025-07-21T11:22:59.278159", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'test' removed", - "details": { - "session_id": "plot_1" - } - }, - { - "timestamp": "2025-07-21T11:23:01.427750", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'test' removed", - "details": { - "session_id": "plot_2" - } - }, - { - "timestamp": "2025-07-21T11:23:04.342691", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'temp' removed", - "details": { - "session_id": "plot_3" - } - }, - { - "timestamp": "2025-07-21T11:23:07.835356", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Cond' removed", - "details": { - "session_id": "plot_4" - } - }, - { - "timestamp": "2025-07-21T11:23:28.573576", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Cond' created", - "details": { - "session_id": "plot_5", - "variables": [ - "CTS306_PV" - ], - "time_window": 60, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-21T11:23:59.616795", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'Cond' configuration updated", - "details": { - "session_id": "plot_5", - "new_config": { - "name": "Cond", - "variables": [ - "UR29_Brix" - ], - "time_window": 10, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-07-21T11:24:11.314102", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Cond' removed", - "details": { - "session_id": "plot_5" - } - }, - { - "timestamp": "2025-07-21T11:25:39.077731", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Condix' created", - "details": { - "session_id": "plot_6", - "variables": [ - "CTS306_PV", - "UR29_Brix" - ], - "time_window": 60, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-21T11:26:04.419881", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'Condix' configuration updated", - "details": { - "session_id": "plot_6", - "new_config": { - "name": "Condix", - "variables": [ - "UR62_Brix" - ], - "time_window": 60, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-07-21T11:40:49.279919", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T11:40:49.300672", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T11:40:49.306512", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T11:49:04.783801", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T11:49:04.807533", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T11:49:04.811438", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T12:09:29.076716", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T12:09:29.104501", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T12:09:29.112409", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T12:15:31.494921", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T12:15:31.516212", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T12:15:31.521785", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T12:15:48.946451", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T12:15:48.968995", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T12:15:48.977924", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T12:15:52.270831", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-07-21T12:15:52.278439", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-07-21T12:15:52.396232", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-07-21T12:15:52.402205", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-07-21T12:28:56.732253", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T12:29:22.706547", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T12:29:22.715569", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T12:29:22.723751", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-07-21T12:30:37.610610", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Condix' removed", - "details": { - "session_id": "plot_6" - } - }, - { - "timestamp": "2025-07-21T12:31:11.408598", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Conducibilita Prodotto' created", - "details": { - "session_id": "plot_7", - "variables": [ - "CTS306_PV" - ], - "time_window": 10, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-21T12:31:55.488256", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Conducibilita Prodotto' removed", - "details": { - "session_id": "plot_7" - } - }, - { - "timestamp": "2025-07-21T12:31:55.815522", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Conducibilita Prodotto' created", - "details": { - "session_id": "plot_8", - "variables": [ - "UR29_Brix" - ], - "time_window": 10, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-21T14:31:42.617158", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T14:31:42.642798", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T14:31:42.648366", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T14:32:46.681050", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Conducibilita Prodotto' removed", - "details": { - "session_id": "plot_8" - } - }, - { - "timestamp": "2025-07-21T14:32:47.005241", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Conducibilita Prodotto' created", - "details": { - "session_id": "plot_9", - "variables": [ - "UR29_Brix" - ], - "time_window": 10, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-21T14:33:22.614591", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Brix' created", - "details": { - "session_id": "plot_10", - "variables": [ - "UR62_Brix" - ], - "time_window": 60, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-21T14:34:57.247233", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Brix' removed", - "details": { - "session_id": "plot_10" - } - }, - { - "timestamp": "2025-07-21T14:35:23.267756", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Brix' created", - "details": { - "session_id": "plot_11", - "variables": [ - "UR29_Brix" - ], - "time_window": 60, - "trigger_variable": null - } - }, - { - "timestamp": "2025-07-21T14:43:41.488583", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T14:43:41.519582", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T14:43:41.529047", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T14:44:24.981938", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Brix' removed", - "details": { - "session_id": "plot_11" - } - }, - { - "timestamp": "2025-07-21T14:44:25.311128", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Brix' created and started", - "details": { - "session_id": "plot_12", - "variables": [ - "UR29_Brix", - "UR62_Brix" - ], - "time_window": 60, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-07-21T17:01:18.871713", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T17:01:18.903374", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T17:01:18.912924", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T17:13:36.924970", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Conducibilita Prodotto' removed", - "details": { - "session_id": "plot_9" - } - }, - { - "timestamp": "2025-07-21T17:13:40.385435", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Brix' removed", - "details": { - "session_id": "plot_12" - } - }, - { - "timestamp": "2025-07-21T17:13:59.375435", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Brix' created and started", - "details": { - "session_id": "plot_13", - "variables": [ - "UR29_Brix" - ], - "time_window": 10, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-07-21T17:33:27.303533", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T17:33:27.334173", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T17:33:27.345774", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T17:34:51.459774", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T17:34:51.489625", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T17:34:51.498003", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T17:38:38.361177", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T17:38:38.394439", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T17:38:38.402804", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T18:22:11.672676", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-07-21T18:22:11.682630", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-07-21T18:22:11.818203", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-07-21T18:22:11.827661", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-07-21T18:24:05.417266", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Brix' removed", - "details": { - "session_id": "plot_13" - } - }, - { - "timestamp": "2025-07-21T18:25:07.058543", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T18:25:07.066931", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T18:25:07.076741", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-07-21T18:25:18.499928", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Brix' created and started", - "details": { - "session_id": "plot_14", - "variables": [ - "UR29_Brix" - ], - "time_window": 60, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-07-21T18:26:03.568841", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T18:26:03.600360", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T18:26:03.609460", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T18:27:08.559092", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T18:27:08.586976", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T18:27:08.593701", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T18:27:09.538108", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-07-21T18:27:09.545334", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-07-21T18:27:09.596088", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-07-21T18:27:09.606944", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-07-21T18:27:12.713350", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-07-21T18:27:12.727587", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-07-21T18:27:12.762044", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-07-21T18:27:26.860032", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T18:27:26.872811", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T18:27:26.884920", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-07-21T18:34:08.696308", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-21T18:34:08.730392", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-21T18:34:08.738627", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-21T18:34:46.471786", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Brix' removed", - "details": { - "session_id": "plot_14" - } - }, - { - "timestamp": "2025-07-21T18:35:13.057820", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Brix' created and started", - "details": { - "session_id": "plot_15", - "variables": [ - "UR29_Brix" - ], - "time_window": 60, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-07-21T18:36:17.216085", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Brix' removed", - "details": { - "session_id": "plot_15" - } - }, - { - "timestamp": "2025-07-21T18:38:00.731968", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'TEst' created and started", - "details": { - "session_id": "plot_16", - "variables": [ - "UR29_Brix" - ], - "time_window": 60, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-07-28T11:17:42.259176", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-07-28T11:17:42.298212", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-28T11:17:42.303189", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-28T11:17:57.447529", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-07-28T11:17:57.454697", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-07-28T11:17:57.540554", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-07-28T11:17:57.548515", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-07-28T11:18:01.820757", - "level": "error", - "event_type": "udp_streaming_error", - "message": "Cannot start UDP streaming: PLC not connected", - "details": {} - }, - { - "timestamp": "2025-07-28T11:18:07.200757", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-07-28T11:18:07.212573", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-07-28T11:18:07.224850", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-07-28T11:18:46.822611", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 1 - } - }, - { - "timestamp": "2025-08-03T10:18:29.942128", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-03T10:18:30.069067", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-03T10:18:30.076657", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-03T10:18:30.085275", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 1 - } - }, - { - "timestamp": "2025-08-03T10:33:26.161803", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-03T10:33:26.258981", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-03T10:33:26.268923", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-03T10:33:26.282285", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 1 - } - }, - { - "timestamp": "2025-08-03T10:33:56.447968", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'TEst' removed", - "details": { - "session_id": "plot_16" - } - }, - { - "timestamp": "2025-08-03T10:34:20.400678", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Brix Test' created and started", - "details": { - "session_id": "plot_17", - "variables": [ - "CTS306_PV", - "UR29_Brix" - ], - "time_window": 60, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-04T00:29:36.508186", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T00:29:36.575585", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T00:29:36.581580", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T00:29:36.590260", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 1 - } - }, - { - "timestamp": "2025-08-04T00:35:56.189930", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T00:35:56.255031", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T00:35:56.261783", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T00:35:56.269913", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 1 - } - }, - { - "timestamp": "2025-08-04T00:43:35.220653", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T00:43:35.286462", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T00:43:35.292358", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T00:43:35.300991", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 1 - } - }, - { - "timestamp": "2025-08-04T00:46:39.843162", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T00:46:39.911508", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T00:46:39.917549", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T00:46:39.926336", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 1 - } - }, - { - "timestamp": "2025-08-04T00:49:17.533005", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Brix Test' removed", - "details": { - "session_id": "plot_17" - } - }, - { - "timestamp": "2025-08-04T00:49:55.222283", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Brix' created and started", - "details": { - "session_id": "plot_18", - "variables": [ - "UR29_Brix", - "UR62_Brix" - ], - "time_window": 60, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-04T00:54:06.534497", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T00:54:06.600709", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T00:54:06.607607", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T00:54:06.615022", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 1 - } - }, - { - "timestamp": "2025-08-04T01:01:57.861159", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T01:01:57.928954", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T01:01:57.937024", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T01:01:57.946011", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 1 - } - }, - { - "timestamp": "2025-08-04T15:29:49.877657", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T15:29:49.924676", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T15:29:49.930199", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T15:29:49.937198", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 1 - } - }, - { - "timestamp": "2025-08-04T15:40:22.692868", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T15:51:39.771093", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T15:51:39.784757", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T15:51:39.799407", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-08-04T17:09:13.079757", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T17:09:13.108754", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T17:09:13.114169", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T17:11:46.936399", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T17:11:46.966671", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T17:11:46.972612", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T17:15:26.951106", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T17:15:26.981971", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T17:15:26.989697", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T17:16:46.742716", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-08-04T17:16:49.813456", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T17:21:53.978435", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T17:21:54.010004", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T17:21:54.015891", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T17:33:20.629769", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T17:33:20.657761", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T17:33:20.665660", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T17:35:27.410648", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-08-04T17:35:27.417067", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-04T17:35:27.424853", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-08-04T17:35:27.431787", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-08-04T17:35:35.807507", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T17:35:35.815721", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T17:35:35.823158", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-08-04T17:35:50.189381", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T17:35:50.219390", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T17:35:50.227939", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T17:58:23.951096", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T17:58:23.982922", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T17:58:23.990306", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T17:58:40.865069", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 0 datasets after PLC reconnection", - "details": { - "resumed_datasets": 0, - "total_attempted": 0 - } - }, - { - "timestamp": "2025-08-04T17:59:35.445558", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-08-04T17:59:35.452221", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-04T17:59:35.461395", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-08-04T17:59:35.468817", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-08-04T17:59:36.768298", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T17:59:36.775682", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T17:59:36.783499", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-08-04T18:02:54.952571", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T18:02:54.980909", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T18:02:54.987745", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T18:04:36.807205", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-08-04T18:04:36.817454", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-04T18:04:36.826272", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-08-04T18:04:36.835754", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-08-04T18:04:38.137863", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T18:04:38.144678", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T18:04:38.153439", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-08-04T18:05:43.238109", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T18:05:43.268832", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T18:05:43.279905", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T18:06:05.365991", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-04T18:07:17.191446", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-08-04T18:07:17.201099", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-04T18:07:17.209470", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-08-04T18:07:17.218767", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-08-04T18:07:18.003819", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T18:07:18.015625", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T18:07:18.024429", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-08-04T18:07:18.908974", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-08-04T18:07:18.916948", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-04T18:07:19.010537", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-08-04T18:07:19.018557", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-08-04T18:07:20.149707", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T18:07:20.156522", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T18:07:20.166517", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-08-04T18:13:09.258719", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T18:13:09.288453", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T18:13:09.295297", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T18:22:22.719141", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-04T18:22:22.746796", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "dar", - "variables_count": 6, - "streaming_count": 4, - "prefix": "dar" - } - }, - { - "timestamp": "2025-08-04T18:22:22.757666", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-04T18:22:41.368297", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-04T18:23:03.863916", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-04T18:23:19.365853", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-04T18:23:44.366505", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-04T18:24:09.864835", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-04T18:25:54.868463", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T15:46:11.256958", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T15:46:26.435662", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "dar" - } - }, - { - "timestamp": "2025-08-08T15:46:26.454245", - "level": "info", - "event_type": "dataset_deleted", - "message": "Dataset deleted: DAR", - "details": { - "dataset_id": "dar", - "dataset_info": { - "name": "DAR", - "prefix": "dar", - "variables": { - "UR29_Brix_Digital": { - "area": "db", - "offset": 40, - "type": "real", - "streaming": true, - "db": 2120 - }, - "UR62_PEW": { - "area": "pew", - "offset": 300, - "type": "word", - "streaming": false - }, - "UR29_PEW": { - "area": "pew", - "offset": 304, - "type": "word", - "streaming": false - }, - "UR62_Brix": { - "area": "db", - "offset": 1296, - "type": "real", - "streaming": true, - "db": 1011 - }, - "UR29_Brix": { - "area": "db", - "offset": 1322, - "type": "real", - "streaming": true, - "db": 1011 - }, - "CTS306_PV": { - "area": "db", - "offset": 1328, - "type": "real", - "streaming": true, - "db": 1011 - } - }, - "streaming_variables": [ - "UR29_Brix_Digital", - "UR62_Brix", - "CTS306_PV", - "UR29_Brix" - ], - "sampling_interval": 0.2, - "enabled": false, - "created": "2025-07-17T16:47:56.698652" - } - } - }, - { - "timestamp": "2025-08-08T15:46:29.529192", - "level": "info", - "event_type": "dataset_deleted", - "message": "Dataset deleted: mixer", - "details": { - "dataset_id": "mixer", - "dataset_info": { - "name": "mixer", - "prefix": "mixer", - "variables": {}, - "streaming_variables": [], - "sampling_interval": 1.0, - "enabled": false, - "created": "2025-07-17T17:43:27.745292" - } - } - }, - { - "timestamp": "2025-08-08T15:46:37.258589", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Brix' removed", - "details": { - "session_id": "plot_18" - } - }, - { - "timestamp": "2025-08-08T15:47:18.567735", - "level": "info", - "event_type": "dataset_created", - "message": "Dataset created: DAR (prefix: gateway_phoenix)", - "details": { - "dataset_id": "DAR", - "name": "DAR", - "prefix": "gateway_phoenix", - "sampling_interval": 1.0 - } - }, - { - "timestamp": "2025-08-08T15:49:08.446090", - "level": "info", - "event_type": "variable_added", - "message": "Variable added to dataset 'DAR': UR29_ma -> DB2120.36 (real)", - "details": { - "dataset_id": "DAR", - "name": "UR29_ma", - "area": "db", - "db": 2120, - "offset": 36, - "bit": null, - "type": "real", - "streaming": false - } - }, - { - "timestamp": "2025-08-08T15:49:24.959749", - "level": "info", - "event_type": "variable_added", - "message": "Variable added to dataset 'DAR': UR29_Brix -> DB2120.40 (real)", - "details": { - "dataset_id": "DAR", - "name": "UR29_Brix", - "area": "db", - "db": 2120, - "offset": 40, - "bit": null, - "type": "real", - "streaming": false - } - }, - { - "timestamp": "2025-08-08T15:49:51.335129", - "level": "info", - "event_type": "variable_removed", - "message": "Variable removed from dataset 'DAR': UR29_Brix", - "details": { - "dataset_id": "DAR", - "name": "UR29_Brix", - "removed_config": { - "area": "db", - "offset": 40, - "type": "real", - "streaming": false, - "db": 2120 - } - } - }, - { - "timestamp": "2025-08-08T15:49:51.671970", - "level": "info", - "event_type": "variable_added", - "message": "Variable added to dataset 'DAR': UR29_Brix -> DB2123.40 (real)", - "details": { - "dataset_id": "DAR", - "name": "UR29_Brix", - "area": "db", - "db": 2123, - "offset": 40, - "bit": null, - "type": "real", - "streaming": false - } - }, - { - "timestamp": "2025-08-08T15:49:57.472230", - "level": "info", - "event_type": "variable_removed", - "message": "Variable removed from dataset 'DAR': UR29_ma", - "details": { - "dataset_id": "DAR", - "name": "UR29_ma", - "removed_config": { - "area": "db", - "offset": 36, - "type": "real", - "streaming": false, - "db": 2120 - } - } - }, - { - "timestamp": "2025-08-08T15:49:57.801094", - "level": "info", - "event_type": "variable_added", - "message": "Variable added to dataset 'DAR': UR29_ma -> DB2123.36 (real)", - "details": { - "dataset_id": "DAR", - "name": "UR29_ma", - "area": "db", - "db": 2123, - "offset": 36, - "bit": null, - "type": "real", - "streaming": false - } - }, - { - "timestamp": "2025-08-08T15:50:04.353876", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-08-08T15:50:27.613148", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 0, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-08T15:50:27.631139", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-08T15:50:27.648644", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-08-08T15:51:06.327983", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_19", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 20, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-08T15:53:55.692196", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T16:01:44.775233", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T16:05:14.435549", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T16:06:18.582309", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T16:06:28.949003", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 0, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-08T16:06:28.965005", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-08T16:06:28.974386", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-08-08T16:09:30.260543", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T16:11:14.846031", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T16:13:23.303916", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T16:13:28.345510", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-08-08T16:13:37.063364", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 0, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-08T16:13:37.074023", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-08T16:13:37.083144", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-08-08T16:15:40.983784", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T16:18:46.815760", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T16:22:30.815606", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T16:22:49.523718", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 0, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-08T16:22:49.533431", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-08T16:22:49.546347", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-08-08T16:23:18.308001", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'UR29' removed", - "details": { - "session_id": "plot_19" - } - }, - { - "timestamp": "2025-08-08T16:24:02.833199", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_20", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 10, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-08T16:27:23.764600", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T16:32:17.659371", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T16:32:33.699622", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T16:32:42.851780", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-08-08T16:32:52.344999", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-08-08T16:32:59.845526", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-08-08T16:33:36.344644", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-08-08T16:34:33.570032", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T16:34:39.344956", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2 - } - }, - { - "timestamp": "2025-08-08T16:39:03.710569", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T16:39:08.957681", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 0, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-08T16:39:08.965050", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-08T16:39:08.976139", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-08-08T16:44:56.998469", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T16:46:00.648608", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:00:10.281628", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T17:00:18.843808", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "error": "b' TCP : Unreachable peer'" - } - }, - { - "timestamp": "2025-08-08T17:00:27.345374", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "error": "b' TCP : Unreachable peer'" - } - }, - { - "timestamp": "2025-08-08T17:01:23.976465", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T17:01:24.635282", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 0, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-08T17:01:24.643670", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-08T17:02:12.395825", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:05:19.598518", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:06:19.781670", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:09:33.736237", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:11:22.096573", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:11:37.992953", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:12:44.893285", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 1 - } - }, - { - "timestamp": "2025-08-08T17:13:21.923606", - "level": "info", - "event_type": "config_change", - "message": "UDP configuration updated: 127.0.0.1:9870", - "details": { - "old_config": { - "host": "127.0.0.1", - "port": 9870 - }, - "new_config": { - "host": "127.0.0.1", - "port": 9870 - } - } - }, - { - "timestamp": "2025-08-08T17:13:24.482570", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-08T17:13:44.674742", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 1 - } - }, - { - "timestamp": "2025-08-08T17:18:25.505842", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:20:30.530937", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:23:30.252028", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:24:50.039424", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:25:10.527736", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:26:29.368843", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:41:12.712930", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:43:29.144341", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:50:31.972123", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:54:14.850056", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T17:55:10.108583", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:05:44.243683", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:10:28.632767", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:11:28.672278", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:13:19.402314", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:15:47.781729", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:16:19.866436", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:17:25.271707", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:20:15.297054", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:21:05.593257", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:21:40.316314", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:22:11.433288", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:24:19.821377", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:25:21.871543", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:26:28.518728", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:27:31.483866", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:27:56.948643", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:28:29.947564", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:29:06.114262", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:29:22.195572", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:30:01.498578", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:32:36.930843", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:33:41.856796", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:35:08.610009", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:35:47.523446", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:37:16.496562", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:37:49.163502", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:38:14.360918", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:38:34.474496", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:38:43.051794", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:39:45.490511", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:40:29.253027", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:41:55.120326", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:42:02.777019", + "timestamp": "2025-08-14T12:16:01.210692", "level": "info", "event_type": "application_started", "message": "Application initialization completed successfully", "details": {} }, { - "timestamp": "2025-08-08T18:42:08.483137", + "timestamp": "2025-08-14T12:16:01.259925", "level": "info", "event_type": "dataset_activated", "message": "Dataset activated: DAR", @@ -5907,1422 +20,60 @@ } }, { - "timestamp": "2025-08-08T18:42:08.496321", + "timestamp": "2025-08-14T12:16:01.259925", "level": "info", "event_type": "csv_recording_started", "message": "CSV recording started: 1 datasets activated", "details": { "activated_datasets": 1, - "total_datasets": 1 + "total_datasets": 3 } }, { - "timestamp": "2025-08-08T18:42:08.508057", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-08-08T18:42:30.275070", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:42:57.450910", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:43:28.802654", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:43:57.553329", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:44:32.188355", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:46:03.356965", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:47:01.606975", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:47:07.809192", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T18:47:10.182054", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-08T18:47:10.195870", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-08T18:47:10.203036", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-08-08T18:47:34.880687", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:48:08.125088", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:49:07.206807", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:49:48.588727", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:50:05.383732", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:50:32.372196", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:51:08.441123", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:51:41.836369", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:52:52.094018", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T18:54:06.230888", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T19:04:04.996795", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T19:04:12.344518", + "timestamp": "2025-08-14T12:16:01.292556", "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", + "event_type": "csv_cleanup_failed", + "message": "CSV cleanup failed: 'max_hours'", + "details": {} + }, + { + "timestamp": "2025-08-14T12:28:18.356909", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-14T12:28:18.407103", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "error": "b' TCP : Unreachable peer'" + "dataset_id": "DAR", + "variables_count": 2, + "streaming_count": 2, + "prefix": "gateway_phoenix" } }, { - "timestamp": "2025-08-08T19:04:22.846057", + "timestamp": "2025-08-14T12:28:18.408111", + "level": "info", + "event_type": "csv_recording_started", + "message": "CSV recording started: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 3 + } + }, + { + "timestamp": "2025-08-14T12:28:18.437774", "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "error": "b' TCP : Unreachable peer'" - } - }, - { - "timestamp": "2025-08-08T19:04:52.850501", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "error": "b' TCP : Unreachable peer'" - } - }, - { - "timestamp": "2025-08-08T19:05:02.848724", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "error": "b' TCP : Unreachable peer'" - } - }, - { - "timestamp": "2025-08-08T19:05:07.349816", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "error": "b' TCP : Unreachable peer'" - } - }, - { - "timestamp": "2025-08-08T19:05:28.849056", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "error": "b' TCP : Unreachable peer'" - } - }, - { - "timestamp": "2025-08-08T19:05:33.354319", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "error": "b' TCP : Unreachable peer'" - } - }, - { - "timestamp": "2025-08-08T19:05:39.502498", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-08T19:05:39.521504", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-08T19:05:39.540484", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 1, - "dataset_names": [ - "DAR" - ] - } - }, - { - "timestamp": "2025-08-08T19:06:51.117994", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T19:07:04.570720", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T19:11:35.101004", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T19:12:02.495213", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T19:12:34.481986", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T19:13:27.619818", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", - "details": { - "resumed_datasets": 1, - "total_attempted": 1 - } - }, - { - "timestamp": "2025-08-08T19:19:40.215752", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", + "event_type": "csv_cleanup_failed", + "message": "CSV cleanup failed: 'max_hours'", "details": {} }, { - "timestamp": "2025-08-08T19:19:40.280935", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-08T19:19:40.290333", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-08T19:23:06.249068", - "level": "info", - "event_type": "dataset_csv_file_created", - "message": "New CSV file created after variable modification for dataset 'DAR': gateway_phoenix_19_23_06.csv", - "details": { - "dataset_id": "DAR", - "file_path": "records\\08-08-2025\\gateway_phoenix_19_23_06.csv", - "variables_count": 1, - "reason": "variable_modification" - } - }, - { - "timestamp": "2025-08-08T19:23:06.257427", - "level": "info", - "event_type": "variable_removed", - "message": "Variable removed from dataset 'DAR': UR29_Brix", - "details": { - "dataset_id": "DAR", - "name": "UR29_Brix", - "removed_config": { - "area": "db", - "offset": 40, - "type": "real", - "streaming": true, - "db": 2123 - } - } - }, - { - "timestamp": "2025-08-08T19:23:06.591207", - "level": "info", - "event_type": "dataset_csv_file_created", - "message": "New CSV file created after variable modification for dataset 'DAR': gateway_phoenix_19_23_06.csv", - "details": { - "dataset_id": "DAR", - "file_path": "records\\08-08-2025\\gateway_phoenix_19_23_06.csv", - "variables_count": 2, - "reason": "variable_modification" - } - }, - { - "timestamp": "2025-08-08T19:23:06.600691", - "level": "info", - "event_type": "variable_added", - "message": "Variable added to dataset 'DAR': UR29_Brix -> DB1011.1322 (real)", - "details": { - "dataset_id": "DAR", - "name": "UR29_Brix", - "area": "db", - "db": 1011, - "offset": 1322, - "bit": null, - "type": "real", - "streaming": false - } - }, - { - "timestamp": "2025-08-08T19:23:17.990119", - "level": "info", - "event_type": "dataset_csv_file_created", - "message": "New CSV file created after variable modification for dataset 'DAR': gateway_phoenix_19_23_17.csv", - "details": { - "dataset_id": "DAR", - "file_path": "records\\08-08-2025\\gateway_phoenix_19_23_17.csv", - "variables_count": 1, - "reason": "variable_modification" - } - }, - { - "timestamp": "2025-08-08T19:23:17.999136", - "level": "info", - "event_type": "variable_removed", - "message": "Variable removed from dataset 'DAR': UR29_ma", - "details": { - "dataset_id": "DAR", - "name": "UR29_ma", - "removed_config": { - "area": "db", - "offset": 36, - "type": "real", - "streaming": true, - "db": 2123 - } - } - }, - { - "timestamp": "2025-08-08T19:23:18.334515", - "level": "info", - "event_type": "dataset_csv_file_created", - "message": "New CSV file created after variable modification for dataset 'DAR': gateway_phoenix_19_23_18.csv", - "details": { - "dataset_id": "DAR", - "file_path": "records\\08-08-2025\\gateway_phoenix_19_23_18.csv", - "variables_count": 2, - "reason": "variable_modification" - } - }, - { - "timestamp": "2025-08-08T19:23:18.342533", - "level": "info", - "event_type": "variable_added", - "message": "Variable added to dataset 'DAR': UR29_ma -> DB1011.1296 (real)", - "details": { - "dataset_id": "DAR", - "name": "UR29_ma", - "area": "db", - "db": 1011, - "offset": 1296, - "bit": null, - "type": "real", - "streaming": false - } - }, - { - "timestamp": "2025-08-08T19:29:29.647644", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T19:29:29.730896", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-08T19:29:29.749218", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-08T19:35:31.385846", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T19:35:31.438174", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-08T19:35:31.446174", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-08T19:38:56.880475", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'UR29' removed", - "details": { - "session_id": "plot_20" - } - }, - { - "timestamp": "2025-08-08T20:00:43.326432", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T20:00:43.380505", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-08T20:00:43.401098", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-08T20:01:26.642290", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_0", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 60, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-08T20:07:27.277526", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T20:07:27.342707", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-08T20:07:27.352708", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-08T20:08:04.536885", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_0", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 10, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-08T20:08:07.955693", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_0", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 30, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-08T20:10:10.377616", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T20:10:10.444457", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-08T20:10:10.457492", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-08T20:12:14.116200", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-08T20:12:14.185262", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-08T20:12:14.194260", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-09T00:58:14.018492", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_0", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 10, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-09T00:58:18.412418", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_0", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 120, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-09T00:59:29.400804", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-09T00:59:29.499648", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-09T00:59:29.508648", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-09T00:59:52.220857", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_0", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 50, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-09T01:04:33.254115", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-09T01:04:33.318060", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-09T01:04:33.328051", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-09T01:15:37.931252", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-09T01:15:37.995825", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-09T01:15:38.011841", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-09T01:15:53.487852", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_0", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 20, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-09T01:27:47.413936", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-09T01:27:47.482826", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-09T01:27:47.500264", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-09T01:32:23.076094", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-09T01:32:23.143386", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-09T01:32:23.158384", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-09T01:37:00.136346", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-09T01:37:00.187014", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-09T01:37:00.197221", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-09T01:39:03.481139", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_0", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 120, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-09T01:39:35.253297", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_0", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 500, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-09T01:41:40.082777", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-09T01:41:40.149440", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-09T01:41:40.164902", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-09T01:42:00.022025", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_0", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 50, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-09T01:47:39.354931", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-09T01:47:39.421225", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-09T01:47:39.436596", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-09T01:50:13.074173", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-09T01:50:13.159596", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-09T01:50:13.174855", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-09T01:53:53.601636", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-09T01:53:53.683028", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-09T01:53:53.697931", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-09T01:54:09.106165", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_0", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 10, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-09T01:54:12.772022", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_0", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 24, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-09T01:54:24.565758", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_0", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 5, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-09T01:55:13.651682", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_0", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 20, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-09T01:58:11.878053", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-09T01:58:11.947102", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-09T01:58:11.963722", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-09T02:02:17.438722", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-09T02:02:17.493178", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 2, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-09T02:02:17.504654", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 1 - } - }, - { - "timestamp": "2025-08-09T02:04:32.017747", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'UR29' removed", - "details": { - "session_id": "plot_0" - } - }, - { - "timestamp": "2025-08-09T02:05:35.486330", + "timestamp": "2025-08-14T12:28:47.363457", "level": "info", "event_type": "plot_session_created", "message": "Plot session 'UR29' created and started", @@ -7332,2915 +83,13 @@ "UR29_Brix", "UR29_ma" ], - "time_window": 60, + "time_window": 120, "trigger_variable": null, "auto_started": true } }, { - "timestamp": "2025-08-09T02:06:26.841012", - "level": "info", - "event_type": "dataset_created", - "message": "Dataset created: Fast (prefix: fast)", - "details": { - "dataset_id": "Fast", - "name": "Fast", - "prefix": "fast", - "sampling_interval": 0.1 - } - }, - { - "timestamp": "2025-08-09T02:06:51.166985", - "level": "info", - "event_type": "dataset_csv_file_created", - "message": "New CSV file created after variable modification for dataset 'DAR': gateway_phoenix_02_06_51.csv", - "details": { - "dataset_id": "DAR", - "file_path": "records\\09-08-2025\\gateway_phoenix_02_06_51.csv", - "variables_count": 3, - "reason": "variable_modification" - } - }, - { - "timestamp": "2025-08-09T02:06:51.178095", - "level": "info", - "event_type": "variable_added", - "message": "Variable added to dataset 'DAR': fUR29_Brix -> DB1011.1322 (real)", - "details": { - "dataset_id": "DAR", - "name": "fUR29_Brix", - "area": "db", - "db": 1011, - "offset": 1322, - "bit": null, - "type": "real", - "streaming": false - } - }, - { - "timestamp": "2025-08-09T02:07:40.947419", - "level": "info", - "event_type": "variable_added", - "message": "Variable added to dataset 'Fast': fUR29_Brix -> DB1011.1322 (real)", - "details": { - "dataset_id": "Fast", - "name": "fUR29_Brix", - "area": "db", - "db": 1011, - "offset": 1322, - "bit": null, - "type": "real", - "streaming": false - } - }, - { - "timestamp": "2025-08-09T02:08:07.444267", - "level": "info", - "event_type": "variable_added", - "message": "Variable added to dataset 'Fast': fUR29_ma -> DB1011.1296 (real)", - "details": { - "dataset_id": "Fast", - "name": "fUR29_ma", - "area": "db", - "db": 1011, - "offset": 1296, - "bit": null, - "type": "real", - "streaming": false - } - }, - { - "timestamp": "2025-08-09T02:08:26.500463", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-09T02:09:13.534886", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'Fast' created and started", - "details": { - "session_id": "plot_2", - "variables": [ - "fUR29_ma", - "UR29_Brix", - "UR29_ma", - "fUR29_Brix" - ], - "time_window": 60, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-09T22:43:54.204995", - "level": "info", - "event_type": "datasets_resumed_after_reconnection", - "message": "Automatically resumed streaming for 2 datasets after PLC reconnection", - "details": { - "resumed_datasets": 2, - "total_attempted": 2 - } - }, - { - "timestamp": "2025-08-09T23:22:59.642234", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-09T23:22:59.723755", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-09T23:22:59.737379", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-09T23:22:59.748890", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-09T23:27:02.476867", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'Fast' configuration updated", - "details": { - "session_id": "plot_2", - "new_config": { - "name": "Fast", - "variables": [ - "fUR29_ma", - "UR29_Brix", - "UR29_ma", - "fUR29_Brix" - ], - "time_window": 10, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-09T23:42:15.949524", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-09T23:42:16.047945", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-09T23:42:16.061947", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-09T23:42:16.079052", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-10T00:32:18.359734", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'Fast' configuration updated", - "details": { - "session_id": "plot_2", - "new_config": { - "name": "Fast", - "variables": [ - "fUR29_ma", - "UR29_Brix", - "UR29_ma", - "fUR29_Brix" - ], - "time_window": 60, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-10T00:32:50.990081", - "level": "info", - "event_type": "plot_session_removed", - "message": "Plot session 'Fast' removed", - "details": { - "session_id": "plot_2" - } - }, - { - "timestamp": "2025-08-10T00:33:55.840458", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_1", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 65, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-10T00:34:06.009225", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_1", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-10T00:34:26.104532", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_1", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma", - "fUR29_Brix" - ], - "time_window": 75, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-10T00:37:18.004596", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-10T00:37:18.089614", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-10T00:37:18.104615", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-10T00:37:18.121614", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-10T00:37:46.526185", - "level": "info", - "event_type": "plot_session_updated", - "message": "Plot session 'UR29' configuration updated", - "details": { - "session_id": "plot_1", - "new_config": { - "name": "UR29", - "variables": [ - "UR29_Brix", - "UR29_ma", - "fUR29_Brix", - "fUR29_ma" - ], - "time_window": 75, - "y_min": null, - "y_max": null, - "trigger_variable": null, - "trigger_enabled": false, - "trigger_on_true": true - } - } - }, - { - "timestamp": "2025-08-10T01:12:18.990709", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-10T01:12:19.105449", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-10T01:12:19.127678", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-10T01:12:19.148987", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-10T01:23:18.751131", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-10T01:23:18.852237", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-10T01:23:18.873364", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-10T01:23:18.894713", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-10T01:45:12.463570", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-10T01:45:12.539769", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-10T01:45:12.552768", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-10T01:45:12.562768", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-11T00:48:08.669755", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-11T01:05:38.323746", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-11T11:04:13.582426", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-11T11:07:53.052382", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-11T11:12:42.001877", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-11T11:18:42.038963", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-11T11:23:34.891879", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-11T12:09:11.404727", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-11T12:45:28.303517", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-11T13:12:55.081850", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-11T13:37:47.901634", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-11T13:52:48.189847", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-11T13:53:59.849319", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "error": "b' ISO : An error occurred during recv TCP : Connection timed out'" - } - }, - { - "timestamp": "2025-08-11T15:17:54.090498", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-11T16:21:42.173167", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T09:13:36.619106", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T09:43:30.914932", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T09:44:48.333195", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T10:39:12.071678", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T11:47:27.789149", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T12:29:32.566924", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T14:30:28.890776", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T14:35:07.292689", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T14:40:08.698091", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T14:44:03.411647", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T14:50:27.446910", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T15:00:13.141898", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T15:06:11.269817", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T15:19:58.846807", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T18:13:05.291909", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T18:27:58.167381", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T19:08:01.450637", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T19:46:18.227132", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T20:49:00.212504", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T20:55:02.435268", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T20:56:20.348940", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T21:01:03.404131", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T22:01:09.404583", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T23:11:22.325098", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T23:22:17.993572", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T23:53:32.510938", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-12T23:58:32.355026", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.12", - "details": { - "ip": "10.1.33.12", - "rack": 0, - "slot": 2, - "error": "b' TCP : Unreachable peer'" - } - }, - { - "timestamp": "2025-08-12T23:58:56.858849", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.12", - "details": { - "ip": "10.1.33.12", - "rack": 0, - "slot": 2, - "error": "b' TCP : Unreachable peer'" - } - }, - { - "timestamp": "2025-08-12T23:59:37.851777", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.12", - "details": { - "ip": "10.1.33.12", - "rack": 0, - "slot": 2, - "error": "b' TCP : Unreachable peer'" - } - }, - { - "timestamp": "2025-08-13T00:06:18.623862", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T00:09:00.492977", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T00:09:19.048137", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-13T00:09:19.071123", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-13T00:09:19.091418", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-13T00:09:19.114647", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 2 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 2, - "dataset_names": [ - "Fast", - "DAR" - ] - } - }, - { - "timestamp": "2025-08-13T00:16:07.795758", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T00:16:39.106757", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T00:19:23.495379", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T10:04:01.510701", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-13T10:04:01.523388", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-13T10:04:01.534388", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-13T10:04:01.547346", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 2 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 2, - "dataset_names": [ - "DAR", - "Fast" - ] - } - }, - { - "timestamp": "2025-08-13T10:04:50.156461", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 2 - } - }, - { - "timestamp": "2025-08-13T11:30:17.872774", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T11:30:17.937806", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-13T11:30:17.951867", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-13T11:30:17.963808", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-13T11:30:17.977806", - "level": "info", - "event_type": "udp_streaming_started", - "message": "UDP streaming to PlotJuggler started", - "details": { - "udp_host": "127.0.0.1", - "udp_port": 9870, - "datasets_available": 2 - } - }, - { - "timestamp": "2025-08-13T11:36:04.553484", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-08-13T11:36:04.566484", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-13T11:36:05.479892", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "DAR" - } - }, - { - "timestamp": "2025-08-13T11:36:05.585651", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: Fast", - "details": { - "dataset_id": "Fast" - } - }, - { - "timestamp": "2025-08-13T11:36:05.601680", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-08-13T11:36:07.028566", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-13T11:36:07.043893", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-13T11:36:07.060471", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-13T11:36:07.073719", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 2 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 2, - "dataset_names": [ - "DAR", - "Fast" - ] - } - }, - { - "timestamp": "2025-08-13T11:38:47.160563", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T11:38:47.227567", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-13T11:38:47.241129", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-13T11:38:47.251583", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-13T11:43:03.461288", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T11:43:03.511481", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-13T11:43:03.527332", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-13T11:43:03.539480", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-13T13:24:56.257638", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T13:24:56.400551", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-13T13:24:56.415147", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-13T13:24:56.428513", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-13T13:47:21.309062", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T13:47:21.393140", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-13T13:47:21.409313", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-13T13:47:21.420314", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-13T13:48:30.992091", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T13:48:31.058240", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-13T13:48:31.069240", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-13T13:48:31.081242", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-13T13:49:20.228991", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T13:49:20.293590", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-13T13:49:20.306683", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-13T13:49:20.318681", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-13T13:50:57.575176", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T13:50:57.642620", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-13T13:50:57.661324", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-13T13:50:57.674356", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-13T13:55:34.864405", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T13:55:34.944688", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-13T13:55:34.961689", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-13T13:55:34.974937", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-13T13:55:38.731880", - "level": "error", - "event_type": "dataset_loop_error", - "message": "Multiple consecutive read failures for dataset 'Fast' (5). Stopping dataset.", - "details": { - "dataset_id": "Fast", - "consecutive_errors": 5 - } - }, - { - "timestamp": "2025-08-13T13:55:42.951679", - "level": "error", - "event_type": "dataset_loop_error", - "message": "Multiple consecutive read failures for dataset 'DAR' (5). Stopping dataset.", - "details": { - "dataset_id": "DAR", - "consecutive_errors": 5 - } - }, - { - "timestamp": "2025-08-13T13:56:18.746882", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T13:56:18.811395", - "level": "error", - "event_type": "csv_recording_error", - "message": "Cannot start CSV recording: No datasets with variables configured", - "details": {} - }, - { - "timestamp": "2025-08-13T13:56:39.664861", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-08-13T13:56:39.677858", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-13T13:56:39.690990", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: Fast", - "details": { - "dataset_id": "Fast" - } - }, - { - "timestamp": "2025-08-13T13:56:39.704302", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "DAR" - } - }, - { - "timestamp": "2025-08-13T13:56:39.718587", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-08-13T13:57:37.934920", - "level": "error", - "event_type": "csv_recording_error", - "message": "Cannot start CSV recording: No datasets with variables configured", - "details": {} - }, - { - "timestamp": "2025-08-13T13:57:37.961461", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 (no datasets for recording)", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": false, - "recording_datasets": 0 - } - }, - { - "timestamp": "2025-08-13T14:02:07.164010", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T14:02:16.144763", - "level": "error", - "event_type": "csv_recording_error", - "message": "Cannot start CSV recording: No datasets with variables configured", - "details": {} - }, - { - "timestamp": "2025-08-13T14:02:16.157356", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 (no datasets for recording)", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": false, - "recording_datasets": 0 - } - }, - { - "timestamp": "2025-08-13T14:07:23.248088", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T14:07:34.119374", - "level": "error", - "event_type": "csv_recording_error", - "message": "Cannot start CSV recording: No datasets with variables configured", - "details": {} - }, - { - "timestamp": "2025-08-13T14:07:34.131666", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 (no datasets for recording)", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": false, - "recording_datasets": 0 - } - }, - { - "timestamp": "2025-08-13T14:10:03.473372", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T14:10:10.286283", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-08-13T14:10:10.332149", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-13T14:10:10.360865", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "DAR" - } - }, - { - "timestamp": "2025-08-13T14:10:10.381239", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: Fast", - "details": { - "dataset_id": "Fast" - } - }, - { - "timestamp": "2025-08-13T14:10:10.405727", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-08-13T14:10:14.866208", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-13T14:10:14.881834", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-13T14:10:14.895847", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-13T14:10:14.915075", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 2 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 2, - "dataset_names": [ - "DAR", - "Fast" - ] - } - }, - { - "timestamp": "2025-08-13T14:14:02.563422", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T14:14:02.648401", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 2, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-13T14:14:02.666461", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: Fast", - "details": { - "dataset_id": "Fast", - "variables_count": 2, - "streaming_count": 0, - "prefix": "fast" - } - }, - { - "timestamp": "2025-08-13T14:14:02.681756", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 2 datasets activated", - "details": { - "activated_datasets": 2, - "total_datasets": 2 - } - }, - { - "timestamp": "2025-08-13T14:54:09.121582", - "level": "info", - "event_type": "csv_recording_stopped", - "message": "CSV recording stopped (dataset threads continue for UDP streaming)", - "details": {} - }, - { - "timestamp": "2025-08-13T14:54:09.135579", - "level": "info", - "event_type": "udp_streaming_stopped", - "message": "UDP streaming to PlotJuggler stopped (CSV recording continues)", - "details": {} - }, - { - "timestamp": "2025-08-13T14:54:09.381016", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: DAR", - "details": { - "dataset_id": "DAR" - } - }, - { - "timestamp": "2025-08-13T14:54:09.738004", - "level": "info", - "event_type": "dataset_deactivated", - "message": "Dataset deactivated: Fast", - "details": { - "dataset_id": "Fast" - } - }, - { - "timestamp": "2025-08-13T14:54:09.753196", - "level": "info", - "event_type": "plc_disconnection", - "message": "Disconnected from PLC 10.1.33.11 (stopped recording and streaming)", - "details": {} - }, - { - "timestamp": "2025-08-13T15:03:37.721996", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T15:31:15.343148", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T15:49:35.843750", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T15:55:43.678603", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T16:02:51.706311", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T16:15:02.260572", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T16:18:16.148334", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T16:45:22.548587", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T17:40:23.024345", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T17:44:36.751520", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T17:49:59.107762", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T18:00:28.835539", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T18:14:27.149213", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T21:15:08.391198", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T21:22:15.513126", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T21:24:52.461406", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T21:27:35.193119", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T22:11:17.400295", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T22:31:56.301635", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T22:38:57.295676", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T22:46:37.365559", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T22:53:47.634252", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T23:22:49.824873", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T23:25:32.057929", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T23:30:43.779703", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T23:35:44.039580", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T23:47:06.282724", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T23:48:59.679823", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T23:49:16.453495", - "level": "error", - "event_type": "csv_recording_error", - "message": "Cannot start CSV recording: No datasets configured", - "details": {} - }, - { - "timestamp": "2025-08-13T23:49:16.464824", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 (no datasets for recording)", - "details": { - "ip": "10.1.33.11", - "rack": 1, - "slot": 2, - "auto_started_recording": false, - "recording_datasets": 0 - } - }, - { - "timestamp": "2025-08-13T23:51:02.704338", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T23:51:21.839288", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T23:54:25.455173", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T23:55:05.790024", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-13T23:56:14.341605", - "level": "error", - "event_type": "csv_recording_error", - "message": "Cannot start CSV recording: No datasets configured", - "details": {} - }, - { - "timestamp": "2025-08-13T23:56:14.354938", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 (no datasets for recording)", - "details": { - "ip": "10.1.33.11", - "rack": 1, - "slot": 2, - "auto_started_recording": false, - "recording_datasets": 0 - } - }, - { - "timestamp": "2025-08-13T23:57:58.596445", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T00:00:13.670046", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T00:03:19.284260", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T00:03:39.376430", - "level": "error", - "event_type": "csv_recording_error", - "message": "Cannot start CSV recording: No datasets configured", - "details": {} - }, - { - "timestamp": "2025-08-14T00:03:39.391445", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 (no datasets for recording)", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": false, - "recording_datasets": 0 - } - }, - { - "timestamp": "2025-08-14T00:21:30.969939", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T00:25:10.966138", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T00:25:38.137588", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-14T00:25:38.151655", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-14T00:25:38.167408", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 3 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 3, - "dataset_names": [ - "test", - "DAR", - "Fast" - ] - } - }, - { - "timestamp": "2025-08-14T00:25:38.215071", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T10:43:06.388133", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T10:43:12.535705", - "level": "error", - "event_type": "plc_connection_failed", - "message": "Failed to connect to PLC 10.1.33.11", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "error": "b' ISO : An error occurred during recv TCP : Connection timed out'" - } - }, - { - "timestamp": "2025-08-14T10:44:08.250539", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T10:47:17.108715", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-14T10:47:17.129720", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-14T10:47:17.211575", - "level": "info", - "event_type": "plc_connection", - "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 3 datasets", - "details": { - "ip": "10.1.33.11", - "rack": 0, - "slot": 2, - "auto_started_recording": true, - "recording_datasets": 3, - "dataset_names": [ - "DAR", - "test", - "Fast" - ] - } - }, - { - "timestamp": "2025-08-14T10:47:17.232864", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T10:47:43.273690", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_2", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T10:49:51.663916", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_3", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T10:50:03.770716", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T10:50:03.820205", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-14T10:50:03.832879", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-14T10:50:03.869762", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T10:50:21.936785", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_2", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T10:53:04.260841", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T10:53:04.309239", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-14T10:53:04.323311", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-14T10:53:04.356487", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T10:54:06.213967", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_2", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T10:55:06.114506", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T10:55:06.181323", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-14T10:55:06.194323", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-14T10:55:06.243169", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T10:55:15.073091", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_2", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:00:00.117302", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T11:00:31.982807", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_3", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:00:48.531399", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T11:00:48.597287", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-14T11:00:48.618286", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-14T11:00:48.658954", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T11:00:55.550898", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_2", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:03:47.123660", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T11:03:47.204455", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-14T11:03:47.227624", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-14T11:03:47.300278", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T11:03:54.419601", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_2", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:04:17.413831", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_3", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:06:47.098482", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T11:06:47.180954", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-14T11:06:47.212147", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-14T11:06:47.242717", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T11:06:54.204399", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_2", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:09:54.002899", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T11:09:54.068911", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-14T11:09:54.087909", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-14T11:09:54.147764", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T11:10:01.164054", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_2", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:10:12.158544", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_3", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:10:29.318920", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_4", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:10:35.278563", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_5", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:10:38.404201", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_6", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 75, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:11:48.955386", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_7", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 25, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:11:51.255320", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_8", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 25, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:11:59.515081", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_9", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 25, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:14:46.634357", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T11:14:46.713183", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-14T11:14:46.724181", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-14T11:14:46.762615", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T11:15:03.411332", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_2", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 25, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:15:09.838725", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_3", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 25, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T11:26:02.147101", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T11:26:02.211520", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-14T11:26:02.225519", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-14T11:26:02.293765", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T11:34:34.684516", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T11:34:34.733822", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-14T11:34:34.751250", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-14T11:34:34.780016", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T11:34:45.734619", + "timestamp": "2025-08-14T12:28:52.853987", "level": "info", "event_type": "plot_session_created", "message": "Plot session 'UR29' created and started", @@ -10250,115 +99,20 @@ "UR29_Brix", "UR29_ma" ], - "time_window": 25, + "time_window": 120, "trigger_variable": null, "auto_started": true } }, { - "timestamp": "2025-08-14T11:42:26.264053", + "timestamp": "2025-08-14T12:31:38.705393", "level": "info", "event_type": "application_started", "message": "Application initialization completed successfully", "details": {} }, { - "timestamp": "2025-08-14T11:42:26.345728", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-14T11:42:26.362513", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-14T11:42:26.424426", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T11:49:00.624419", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T11:49:00.691022", - "level": "info", - "event_type": "dataset_activated", - "message": "Dataset activated: DAR", - "details": { - "dataset_id": "DAR", - "variables_count": 3, - "streaming_count": 3, - "prefix": "gateway_phoenix" - } - }, - { - "timestamp": "2025-08-14T11:49:00.703362", - "level": "info", - "event_type": "csv_recording_started", - "message": "CSV recording started: 1 datasets activated", - "details": { - "activated_datasets": 1, - "total_datasets": 3 - } - }, - { - "timestamp": "2025-08-14T11:49:00.738130", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T12:00:00.237052", - "level": "error", - "event_type": "csv_cleanup_failed", - "message": "CSV cleanup failed: 'max_hours'", - "details": {} - }, - { - "timestamp": "2025-08-14T12:03:29.892080", - "level": "info", - "event_type": "plot_session_created", - "message": "Plot session 'UR29' created and started", - "details": { - "session_id": "plot_1", - "variables": [ - "UR29_Brix", - "UR29_ma" - ], - "time_window": 25, - "trigger_variable": null, - "auto_started": true - } - }, - { - "timestamp": "2025-08-14T12:05:58.231793", - "level": "info", - "event_type": "application_started", - "message": "Application initialization completed successfully", - "details": {} - }, - { - "timestamp": "2025-08-14T12:05:58.282781", + "timestamp": "2025-08-14T12:31:38.753355", "level": "info", "event_type": "dataset_activated", "message": "Dataset activated: DAR", @@ -10370,7 +124,7 @@ } }, { - "timestamp": "2025-08-14T12:05:58.294856", + "timestamp": "2025-08-14T12:31:38.754358", "level": "info", "event_type": "csv_recording_started", "message": "CSV recording started: 1 datasets activated", @@ -10380,14 +134,14 @@ } }, { - "timestamp": "2025-08-14T12:05:58.314287", + "timestamp": "2025-08-14T12:31:38.786956", "level": "error", "event_type": "csv_cleanup_failed", "message": "CSV cleanup failed: 'max_hours'", "details": {} }, { - "timestamp": "2025-08-14T12:06:22.595559", + "timestamp": "2025-08-14T12:31:50.118149", "level": "info", "event_type": "plot_session_created", "message": "Plot session 'UR29' created and started", @@ -10397,12 +151,307 @@ "UR29_Brix", "UR29_ma" ], - "time_window": 25, + "time_window": 120, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-14T12:31:58.594934", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1", + "variables": [ + "UR29_Brix", + "UR29_ma" + ], + "time_window": 120, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-14T12:32:22.389439", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1", + "variables": [ + "UR29_Brix", + "UR29_ma" + ], + "time_window": 120, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-14T12:39:57.173254", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-14T12:39:57.206020", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 2, + "streaming_count": 2, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-14T12:39:57.207014", + "level": "info", + "event_type": "csv_recording_started", + "message": "CSV recording started: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 3 + } + }, + { + "timestamp": "2025-08-14T12:39:57.240424", + "level": "error", + "event_type": "csv_cleanup_failed", + "message": "CSV cleanup failed: 'max_hours'", + "details": {} + }, + { + "timestamp": "2025-08-14T12:40:04.815037", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1", + "variables": [ + "UR29_Brix", + "UR29_ma" + ], + "time_window": 120, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-14T12:40:19.351973", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1", + "variables": [ + "UR29_Brix", + "UR29_ma" + ], + "time_window": 120, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-14T12:50:28.289486", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-14T12:50:28.355242", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 2, + "streaming_count": 2, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-14T12:50:28.356596", + "level": "info", + "event_type": "csv_recording_started", + "message": "CSV recording started: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 3 + } + }, + { + "timestamp": "2025-08-14T12:50:28.387302", + "level": "error", + "event_type": "csv_cleanup_failed", + "message": "CSV cleanup failed: 'max_hours'", + "details": {} + }, + { + "timestamp": "2025-08-14T12:50:34.461546", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1", + "variables": [ + "UR29_Brix", + "UR29_ma" + ], + "time_window": 120, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-14T12:51:09.966142", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1", + "variables": [ + "UR29_Brix", + "UR29_ma" + ], + "time_window": 120, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-14T13:00:00.127262", + "level": "error", + "event_type": "csv_cleanup_failed", + "message": "CSV cleanup failed: 'max_hours'", + "details": {} + }, + { + "timestamp": "2025-08-14T13:00:38.804745", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1", + "variables": [ + "UR29_Brix", + "UR29_ma" + ], + "time_window": 120, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-14T13:07:21.625716", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-14T13:07:21.660825", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 2, + "streaming_count": 2, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-14T13:07:21.661850", + "level": "info", + "event_type": "csv_recording_started", + "message": "CSV recording started: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 3 + } + }, + { + "timestamp": "2025-08-14T13:07:21.709690", + "level": "error", + "event_type": "csv_cleanup_failed", + "message": "CSV cleanup failed: 'max_hours'", + "details": {} + }, + { + "timestamp": "2025-08-14T13:07:29.758565", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1", + "variables": [ + "UR29_Brix", + "UR29_ma" + ], + "time_window": 120, + "trigger_variable": null, + "auto_started": true + } + }, + { + "timestamp": "2025-08-14T13:09:58.714628", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-14T13:09:58.763990", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 2, + "streaming_count": 2, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-14T13:09:58.766140", + "level": "info", + "event_type": "csv_recording_started", + "message": "CSV recording started: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 3 + } + }, + { + "timestamp": "2025-08-14T13:09:58.799566", + "level": "error", + "event_type": "csv_cleanup_failed", + "message": "CSV cleanup failed: 'max_hours'", + "details": {} + }, + { + "timestamp": "2025-08-14T13:10:18.671577", + "level": "info", + "event_type": "plot_session_created", + "message": "Plot session 'UR29' created and started", + "details": { + "session_id": "plot_1", + "variables": [ + "UR29_Brix", + "UR29_ma" + ], + "time_window": 120, "trigger_variable": null, "auto_started": true } } ], - "last_updated": "2025-08-14T12:06:22.595559", - "total_entries": 1000 + "last_updated": "2025-08-14T13:10:18.671577", + "total_entries": 41 } \ No newline at end of file diff --git a/config/data/plot_definitions.json b/config/data/plot_definitions.json index 5f6c775..6c600dc 100644 --- a/config/data/plot_definitions.json +++ b/config/data/plot_definitions.json @@ -2,20 +2,17 @@ "plots": [ { "id": "plot_1", + "line_tension": 0, "name": "UR29", - "time_window": 25, + "point_hover_radius": 4, + "point_radius": 1, + "stepped": true, + "time_window": 20, "trigger_enabled": false, "trigger_on_true": true, "trigger_variable": null, "y_max": null, "y_min": null - }, - { - "id": "Brix", - "name": "Brix", - "time_window": 60, - "trigger_enabled": false, - "trigger_on_true": true } ] } \ No newline at end of file diff --git a/config/data/plot_variables.json b/config/data/plot_variables.json index 01ac26b..d0ff560 100644 --- a/config/data/plot_variables.json +++ b/config/data/plot_variables.json @@ -4,14 +4,20 @@ "plot_id": "plot_1", "variables": [ { + "variable_name": "UR29_Brix", + "label": "Brix", "color": "#3498db", - "enabled": true, - "variable_name": "UR29_Brix" + "line_width": 2, + "y_axis": "left", + "enabled": true }, { + "variable_name": "UR29_ma", + "label": "ma", "color": "#e74c3c", - "enabled": true, - "variable_name": "UR29_ma" + "line_width": 2, + "y_axis": "left", + "enabled": true } ] } diff --git a/config/schema/plot-definitions.schema.json b/config/schema/plot-definitions.schema.json index 4b71f4f..2ac2fad 100644 --- a/config/schema/plot-definitions.schema.json +++ b/config/schema/plot-definitions.schema.json @@ -54,6 +54,36 @@ "type": "boolean", "title": "Trigger on True", "default": true + }, + "line_tension": { + "type": "number", + "title": "Line Tension", + "description": "Bezier curve tension (0 = straight lines, 0.4 = smooth curves)", + "minimum": 0, + "maximum": 1, + "default": 0.4 + }, + "stepped": { + "type": "boolean", + "title": "Stepped Lines", + "description": "Enable stepped line style", + "default": false + }, + "point_radius": { + "type": "number", + "title": "Point Radius", + "description": "Size of data points", + "minimum": 0, + "maximum": 10, + "default": 1 + }, + "point_hover_radius": { + "type": "number", + "title": "Point Hover Radius", + "description": "Size of data points when hovering", + "minimum": 0, + "maximum": 15, + "default": 4 } }, "required": ["id", "name", "time_window"] diff --git a/config/schema/ui/plot-definitions.uischema.json b/config/schema/ui/plot-definitions.uischema.json index 07cf070..ac48ff2 100644 --- a/config/schema/ui/plot-definitions.uischema.json +++ b/config/schema/ui/plot-definitions.uischema.json @@ -15,7 +15,11 @@ "y_max", "trigger_variable", "trigger_enabled", - "trigger_on_true" + "trigger_on_true", + "line_tension", + "stepped", + "point_radius", + "point_hover_radius" ], "ui:layout": [ [ @@ -55,6 +59,24 @@ "name": "trigger_on_true", "width": 12 } + ], + [ + { + "name": "line_tension", + "width": 3 + }, + { + "name": "stepped", + "width": 3 + }, + { + "name": "point_radius", + "width": 3 + }, + { + "name": "point_hover_radius", + "width": 3 + } ] ], "id": { @@ -95,6 +117,22 @@ "trigger_on_true": { "ui:widget": "checkbox", "ui:help": "🔄 Trigger when variable becomes true (vs false)" + }, + "line_tension": { + "ui:widget": "updown", + "ui:help": "📈 Line smoothness: 0=straight lines, 0.4=smooth curves" + }, + "stepped": { + "ui:widget": "checkbox", + "ui:help": "📊 Enable stepped line style instead of curves" + }, + "point_radius": { + "ui:widget": "updown", + "ui:help": "🔴 Size of data points (0-10)" + }, + "point_hover_radius": { + "ui:widget": "updown", + "ui:help": "🎯 Size of points when hovering (0-15)" } } }, diff --git a/frontend/src/components/ChartjsPlot.jsx b/frontend/src/components/ChartjsPlot.jsx index afd3fc8..68563f9 100644 --- a/frontend/src/components/ChartjsPlot.jsx +++ b/frontend/src/components/ChartjsPlot.jsx @@ -22,6 +22,7 @@ const ChartjsPlot = ({ session, height = '400px' }) => { const [isLoading, setIsLoading] = useState(false); const [error, setError] = useState(null); const [dataPointsCount, setDataPointsCount] = useState(0); + const [isRefreshing, setIsRefreshing] = useState(false); const resolvedConfigRef = useRef(null); const bgColor = useColorModeValue('white', 'gray.800'); @@ -62,6 +63,7 @@ const ChartjsPlot = ({ session, height = '400px' }) => { .filter(varConfig => varConfig.enabled !== false && varConfig.variable_name) .map((varConfig, index) => ({ name: varConfig.variable_name, + label: varConfig.label || varConfig.variable_name, // Use display label if available color: varConfig.color || getColor(varConfig.variable_name, index), enabled: varConfig.enabled !== false })); @@ -69,6 +71,7 @@ const ChartjsPlot = ({ session, height = '400px' }) => { // Handle simple array of strings return variables.map((variable, index) => ({ name: variable, + label: variable, // For simple strings, name and label are the same color: getColor(variable, index), enabled: true })); @@ -79,6 +82,7 @@ const ChartjsPlot = ({ session, height = '400px' }) => { .filter(([id, config]) => config.enabled !== false && config.variable_name) .map(([id, config]) => ({ name: config.variable_name, + label: config.label || config.variable_name, // Use display label if available color: config.color || getColor(config.variable_name), enabled: config.enabled !== false })); @@ -137,10 +141,21 @@ const ChartjsPlot = ({ session, height = '400px' }) => { const ctx = canvasRef.current.getContext('2d'); - // Destroy existing chart + // Destroy existing chart more safely if (chartRef.current) { - chartRef.current.destroy(); - chartRef.current = null; + try { + // Pause streaming before destroying to avoid dangling references + const rt = chartRef.current.options?.scales?.x?.realtime; + if (rt) { + rt.pause = true; + chartRef.current.update('none'); + } + chartRef.current.destroy(); + } catch (destroyError) { + console.warn('⚠️ Error destroying previous chart:', destroyError); + } finally { + chartRef.current = null; + } } const config = cfg; @@ -148,17 +163,25 @@ const ChartjsPlot = ({ session, height = '400px' }) => { const datasets = enabledVariables.map((variableInfo, index) => { const color = variableInfo.color || getColor(variableInfo.name, index); + + // Get style configuration with defaults + const lineTension = (typeof config.line_tension === 'number') ? config.line_tension : 0.4; + const stepped = config.stepped === true; + const pointRadius = (typeof config.point_radius === 'number') ? config.point_radius : 1; + const pointHoverRadius = (typeof config.point_hover_radius === 'number') ? config.point_hover_radius : 4; + return { - label: variableInfo.name, + label: variableInfo.label, // Use display label for chart legend data: [], borderColor: color, backgroundColor: color + '20', borderWidth: 2, fill: false, spanGaps: true, - pointRadius: 1, - pointHoverRadius: 4, - tension: 0.4 + pointRadius: pointRadius, + pointHoverRadius: pointHoverRadius, + tension: lineTension, + stepped: stepped }; }); @@ -500,6 +523,86 @@ const ChartjsPlot = ({ session, height = '400px' }) => { setDataPointsCount(0); }, []); + // Update configuration directly (for real-time style changes) + const updateConfig = useCallback(async (newConfig) => { + try { + console.log(`🔄 Updating configuration for plot session ${session?.session_id}...`); + + const oldConfig = resolvedConfigRef.current; + resolvedConfigRef.current = { ...oldConfig, ...newConfig }; + + // Check if chart recreation is needed + const needsRecreation = !oldConfig || + oldConfig.line_tension !== newConfig.line_tension || + oldConfig.stepped !== newConfig.stepped || + oldConfig.point_radius !== newConfig.point_radius || + oldConfig.point_hover_radius !== newConfig.point_hover_radius || + oldConfig.time_window !== newConfig.time_window || + oldConfig.y_min !== newConfig.y_min || + oldConfig.y_max !== newConfig.y_max; + + if (needsRecreation) { + console.log(`🔄 Chart needs recreation due to configuration changes`); + await createStreamingChart(); + } else { + console.log(`✅ No chart recreation needed, configuration updated`); + } + } catch (error) { + console.error(`❌ Error updating configuration for plot session ${session?.session_id}:`, error); + setError(error.message); + } + }, [session?.session_id, createStreamingChart]); + + // Refresh configuration from server and recreate chart + const refreshConfiguration = useCallback(async () => { + if (!session?.session_id) return; + + setIsRefreshing(true); + try { + console.log(`🔄 Refreshing configuration for plot session ${session.session_id}...`); + + // Fetch latest session configuration from server + const response = await fetch(`/api/plots/${session.session_id}/config`); + if (!response.ok) { + throw new Error(`Failed to fetch session configuration: ${response.statusText}`); + } + + const updatedSession = await response.json(); + + // Update the resolved config with the latest configuration + if (updatedSession.success && updatedSession.config) { + const oldConfig = resolvedConfigRef.current; + resolvedConfigRef.current = updatedSession.config; + console.log(`✅ Configuration refreshed for plot session ${session.session_id}`); + + // Only recreate the chart if there are significant changes + const needsRecreation = !oldConfig || + JSON.stringify(oldConfig.variables) !== JSON.stringify(updatedSession.config.variables) || + oldConfig.time_window !== updatedSession.config.time_window || + oldConfig.y_min !== updatedSession.config.y_min || + oldConfig.y_max !== updatedSession.config.y_max || + oldConfig.line_tension !== updatedSession.config.line_tension || + oldConfig.stepped !== updatedSession.config.stepped || + oldConfig.point_radius !== updatedSession.config.point_radius || + oldConfig.point_hover_radius !== updatedSession.config.point_hover_radius; + + if (needsRecreation) { + console.log(`🔄 Chart needs recreation due to configuration changes`); + await createStreamingChart(); + } else { + console.log(`✅ No chart recreation needed, configuration is the same`); + } + } else { + throw new Error('Invalid response format or configuration not found'); + } + } catch (error) { + console.error(`❌ Error refreshing configuration for plot session ${session.session_id}:`, error); + setError(error.message); + } finally { + setIsRefreshing(false); + } + }, [session?.session_id, createStreamingChart]); + // Not using useImperativeHandle since we're exposing functions through props callback // Also expose control functions through props for easier access @@ -511,10 +614,12 @@ const ChartjsPlot = ({ session, height = '400px' }) => { session.onChartReady({ pauseStreaming, resumeStreaming, - clearChart + clearChart, + refreshConfiguration, + updateConfig }); } - }, [pauseStreaming, resumeStreaming, clearChart, session?.session_id, session?.onChartReady]); + }, [pauseStreaming, resumeStreaming, clearChart, refreshConfiguration, updateConfig, session?.session_id, session?.onChartReady]); // Update chart when session status changes useEffect(() => { @@ -554,9 +659,13 @@ const ChartjsPlot = ({ session, height = '400px' }) => { chartRef.current.destroy(); chartRef.current = null; } - } catch { /* ignore */ } + } catch (error) { + console.warn('⚠️ Chart cleanup error:', error); + } + if (sessionDataRef.current.manualInterval) { clearInterval(sessionDataRef.current.manualInterval); + sessionDataRef.current.manualInterval = null; } }; }, [session?.session_id]); @@ -621,6 +730,7 @@ const ChartjsPlot = ({ session, height = '400px' }) => { userSelect: 'none' }} /> + {/* Points counter */} { + setIsRefreshing(true) + try { + console.log(`🔄 Refreshing configuration for plot ${plotDefinition.id}...`) + + // Trigger chart configuration refresh if available + if (chartControlsRef.current?.refreshConfiguration) { + await chartControlsRef.current.refreshConfiguration() + } + + // Also refresh session status + await refreshSessionStatus() + + toast({ + title: '🔄 Configuration refreshed', + description: 'Plot configuration and variables have been updated', + status: 'success', + duration: 2000 + }) + + console.log(`✅ Configuration refreshed for plot ${plotDefinition.id}`) + } catch (error) { + console.error(`❌ Error refreshing configuration for plot ${plotDefinition.id}:`, error) + toast({ + title: '❌ Failed to refresh configuration', + description: error.message, + status: 'error', + duration: 3000 + }) + } finally { + setIsRefreshing(false) + } + }, [plotDefinition.id, refreshSessionStatus, toast]) + // Auto-refresh session status useEffect(() => { // Try to get session status first, if it fails, create the session @@ -292,6 +343,15 @@ export default function PlotRealtimeSession({ + } + size="sm" + variant="outline" + aria-label="Refresh Configuration" + onClick={refreshPlotConfiguration} + isLoading={isRefreshing} + title="Refresh plot configuration and variables" + /> } size="sm" @@ -315,83 +375,189 @@ export default function PlotRealtimeSession({ {/* Settings Panel */} {showSettings && ( - - - - Time Window (seconds) - setLocalConfig(prev => ({ - ...prev, - time_window: parseInt(valueString) || 60 - }))} - min={10} - max={3600} - size="sm" - > - - - - - - - - - - - - Y Min (auto if empty) - setLocalConfig(prev => ({ - ...prev, - y_min: valueString === '' ? null : parseFloat(valueString) - }))} - size="sm" - > - - - - - - - - - - - - Y Max (auto if empty) - setLocalConfig(prev => ({ - ...prev, - y_max: valueString === '' ? null : parseFloat(valueString) - }))} - size="sm" - > - - - - - - - - - - - - Enable Trigger - setLocalConfig(prev => ({ - ...prev, - trigger_enabled: e.target.checked - }))} - size="sm" - /> - - - + + {/* Basic Plot Settings */} + + 📊 Plot Configuration + + + + Time Window (seconds) + setLocalConfig(prev => ({ + ...prev, + time_window: parseInt(valueString) || 60 + }))} + min={10} + max={3600} + size="sm" + > + + + + + + + + + + + + Y Min (auto if empty) + setLocalConfig(prev => ({ + ...prev, + y_min: valueString === '' ? null : parseFloat(valueString) + }))} + size="sm" + > + + + + + + + + + + + + Y Max (auto if empty) + setLocalConfig(prev => ({ + ...prev, + y_max: valueString === '' ? null : parseFloat(valueString) + }))} + size="sm" + > + + + + + + + + + + + + Enable Trigger + setLocalConfig(prev => ({ + ...prev, + trigger_enabled: e.target.checked + }))} + size="sm" + /> + + + + + + {/* Visual Style Settings */} + + 🎨 Visual Style + + + + Line Tension: {localConfig.line_tension} + + 0 = straight lines, 1 = smooth curves + + setLocalConfig(prev => ({ + ...prev, + line_tension: value + }))} + min={0} + max={1} + step={0.1} + size="sm" + > + + + + + + + + + + + Stepped Lines + + Enable step-line style instead of curves + + setLocalConfig(prev => ({ + ...prev, + stepped: e.target.checked + }))} + size="sm" + > + Step Mode + + + + + + + Point Size: {localConfig.point_radius}px + + Size of data points (0 = hidden) + + setLocalConfig(prev => ({ + ...prev, + point_radius: value + }))} + min={0} + max={10} + step={0.5} + size="sm" + > + + + + + + + + + + + Hover Point Size: {localConfig.point_hover_radius}px + + Size when hovering over points + + setLocalConfig(prev => ({ + ...prev, + point_hover_radius: value + }))} + min={0} + max={15} + step={0.5} + size="sm" + > + + + + + + + + + +