- Extended Modbus server input register range from 300 to 400 registers
- Fixed IllegalAddress errors for performance registers (400-499)
- Added timeout protection for Modbus operations in dashboard API
- Added protocol architecture diagram to documentation
- Confirmed both OPC UA and Modbus servers are running correctly
- Protocol clients now successfully read real data with 0% error rate
Test Results:
- OPC UA: 15/15 signals active, 0% error rate
- Modbus: 18/18 signals active, 0% error rate
- REST: 3/3 signals active, 0% error rate
- Replace get_pump_data with direct register reads
- Read holding register 350 for pump speed
- Read input register 0 for flow rate
- Calculate derived values for power, pressure, and status
- Use real Modbus data when available
- Keep fallback for OPC UA until security policy issues are resolved
- Maintain graceful fallback to mock data if protocol clients fail
- Removed the outer try-catch block that was catching HTTPException
- HTTPException now properly propagates to FastAPI error handler
- This ensures clear error messages are returned when protocol servers are disabled
- Added specific exception handling for HTTPException to prevent double-wrapping
- HTTPException instances are now re-raised directly without modification
- This ensures clear error messages are returned to the client
- Removed mock data fallback from /signals endpoint
- Now returns HTTP 503 with clear error messages when protocol servers are unavailable
- Protocol servers are disabled in production, so dashboard will show clear error messages
- This ensures we can properly test connectivity issues and don't mask real problems
- Added check for settings.opcua_enabled and settings.modbus_enabled before initializing ProtocolDataCollector
- This prevents connection attempts when protocol servers are disabled in production
- Reduces error logs and improves performance
- Created ProtocolDataCollector class to query OPC UA and Modbus servers
- Updated /signals endpoint to use real protocol data instead of mock data
- Added graceful fallback to mock data when protocol servers are unavailable
- Fixed Modbus client parameter issues and None value handling
- Enhanced dashboard to display real industrial data from protocol servers
- Fixed random register generation in signals endpoint
- Each pump now gets consistent register blocks (40011-40014, 40021-40024, etc.)
- Addresses now follow logical pattern for industrial SCADA systems
- Fixed signals endpoint to work without database dependency
- Fixed scada-config endpoint to use default stations and pumps
- Enhanced mock data now properly served from production server
- Enhanced OPC UA server with realistic pump simulation
- Enhanced Modbus server with simulated industrial data
- Updated SCADA API endpoints to query actual protocol servers
- Added realistic signal data based on actual stations and pumps
- Improved SCADA configuration with real device mapping
- Add /api/v1/dashboard/scada-config GET endpoint
- Add /api/v1/dashboard/scada-config POST endpoint
- Add /api/v1/dashboard/test-scada endpoint
- Fix JavaScript errors for SCADA configuration buttons
- All SCADA functions now work properly
- Add Signal Overview tab with protocol statistics and signal table
- Fix button visibility issues with improved CSS styling
- Add preconfigured Grafana dashboard with system monitoring
- Add signal export functionality (CSV download)
- Add protocol statistics cards (Modbus, OPC UA, Profinet, REST)
- Add signal filtering and search capabilities
- Update dashboard provisioning for Grafana
- Add mock signal data for demonstration
- Implemented web-based dashboard with tab-based interface
- Added configuration management with real-time validation
- Created system status monitoring and log viewing
- Implemented system actions (restart, backup, health checks)
- Added comprehensive test suite with 35 tests (100% passing)
- Integrated dashboard with existing REST API
- Added responsive design for mobile and desktop
- Implemented security validation and warnings
- Created comprehensive documentation
Features:
- Status monitoring with color-coded indicators
- Configuration management with web-based editor
- Real-time log viewing with filtering
- One-click system operations
- Mobile-responsive design
- Security validation for default credentials
Testing:
- 13 model tests for Pydantic data structures
- 8 validation tests for configuration logic
- 8 API endpoint tests for all dashboard routes
- 6 integration tests with REST API
- All 35 tests passing (100% success rate)
Access: http://localhost:8080/dashboard