{ "pump_control_configuration": { "station1": { "pump1": { "control_type": "PUMP_CONTROL_PREPROCESSOR", "control_logic": "mpc_adaptive_hysteresis", "control_params": { "safety_min_level": 0.5, "safety_max_level": 9.5, "adaptive_buffer": 0.5, "min_switch_interval": 300 } }, "pump2": { "control_type": "PUMP_CONTROL_PREPROCESSOR", "control_logic": "state_preserving_mpc", "control_params": { "activation_threshold": 10.0, "deactivation_threshold": 5.0, "min_switch_interval": 300, "state_change_penalty_weight": 2.0 } } }, "station2": { "pump1": { "control_type": "PUMP_CONTROL_PREPROCESSOR", "control_logic": "backup_fixed_band", "control_params": { "pump_station_height": 10.0, "operation_mode": "balanced", "absolute_max": 9.5, "absolute_min": 0.5 } } } }, "protocol_mappings_example": { "mappings": [ { "mapping_id": "station1_pump1_setpoint", "station_id": "station1", "equipment_id": "pump1", "protocol_type": "modbus_tcp", "protocol_address": "40001", "data_type_id": "setpoint", "db_source": "pump_plans.suggested_speed_hz", "preprocessing_enabled": true, "preprocessing_rules": [ { "type": "pump_control_logic", "parameters": { "logic_type": "mpc_adaptive_hysteresis", "control_params": { "safety_min_level": 0.5, "adaptive_buffer": 0.5 } } } ] } ] } }