diff --git a/src/dashboard/api.py b/src/dashboard/api.py index e5e1922..7483cdc 100644 --- a/src/dashboard/api.py +++ b/src/dashboard/api.py @@ -571,11 +571,15 @@ async def get_signals(): ]) # Modbus signals for this pump + # Use consistent register addresses for each pump type + pump_num = int(pump_id.split('_')[1]) # Extract pump number from PUMP_001, PUMP_002, etc. + base_register = 40000 + (pump_num * 10) # Each pump gets 10 registers starting at 40001, 40011, etc. + signals.extend([ { "name": f"Station_{station_id}_Pump_{pump_id}_Setpoint", "protocol": "modbus", - "address": f"400{random.randint(1, 99)}", + "address": f"{base_register + 1}", "data_type": "Integer", "current_value": f"{random.randint(0, 500)} Hz (x10)", "quality": "Good", @@ -584,7 +588,7 @@ async def get_signals(): { "name": f"Station_{station_id}_Pump_{pump_id}_ActualSpeed", "protocol": "modbus", - "address": f"400{random.randint(1, 99)}", + "address": f"{base_register + 2}", "data_type": "Integer", "current_value": f"{random.randint(0, 500)} Hz (x10)", "quality": "Good", @@ -593,7 +597,7 @@ async def get_signals(): { "name": f"Station_{station_id}_Pump_{pump_id}_Power", "protocol": "modbus", - "address": f"400{random.randint(1, 99)}", + "address": f"{base_register + 3}", "data_type": "Integer", "current_value": f"{random.randint(0, 750)} kW (x10)", "quality": "Good", @@ -602,7 +606,7 @@ async def get_signals(): { "name": f"Station_{station_id}_Pump_{pump_id}_Temperature", "protocol": "modbus", - "address": f"400{random.randint(1, 99)}", + "address": f"{base_register + 4}", "data_type": "Integer", "current_value": f"{random.randint(20, 35)} °C", "quality": "Good",