CondenserEnteringReset via PythonPlugin
I would like to reset the condenser water supply temperature via Python Plugin. I have experience with resetting following values: Schedule:Compact > Schedule Value; Pump > Pump Mass Flow Rate ; Fan > Fan Air Mass Flow Rate
What I did: I have found nice examples of condenser water reset in E+ Example folder (files CoolingTower_VariableSpeed_CondEntTempReset.idf CoolingTower_VariableSpeed_CondEntTempReset_MultipleTowers.idf CoolingTower_VariableSpeed_IdealCondEntTempSetpoint.idf CoolingTower_VariableSpeed_IdealCondEntTempSetpoint_MultipleTowers.idf
Problem: All these examples use SetpointManager:CondenserEnteringReset or SetpointManager:CondenserEnteringReset:Ideal object to reset the temperature. The issue is I don't know what E+ variable to use to be an actuator handle.
I tried to use OutputVariable as a handle but failed
self.api.exchange.get_actuator_handle(state, "Output:Variable", "System Node Setpoint Temperature", "Condenser Tower", "Outlet Node")
returns -1 (=> it failed)
Could you help me to find right solution for resetting the condenser water temperature?
EDIT: Copying relevant sections from original file CoolingTower_VariableSpeed_IdealCondEntTempSetpoint.idf (see installation/ExampleFiles) where I want to reset the condenser tower outlet temperature.
SetpointManager:CondenserEnteringReset:Ideal,
Condenser Water Loop Setpoint Manager, !- Name
Temperature, !- Control Variable
12, !- Minimum Lift {deltaC}
32, !- Maximum Condenser Entering Water Temperature {C}
Condenser Tower Outlet Node; !- Setpoint Node or NodeList Name
...
CoolingTower:VariableSpeed,
Central Tower, !- Name
Condenser Tower Inlet Node, !- Water Inlet Node Name
Condenser Tower Outlet Node, !- Water Outlet Node Name
YorkCalcUserDefined, !- Model Type
...
Output:Variable,Condenser Tower Outlet Node,System Node Setpoint Temperature,Hourly;
What about using a scheduled setpoint manager and then actuating the schedule?
Thank you @bonnema for your suggestion. I am not the expert in idf language but it seems to me the SetpointManager has no relation to actuator definition via .api.exchange.get_actuator_handle method. So it should be possible to setup it regardless the SP manager is SetpointManager:Scheduled or SetpointManager:CondenserEnteringReset. The problem is there are no examples of SetpointManager:CondenserEnteringReset with Python plugin. We will try to find direct solution first. Your suggesting is to change CondenserEnteringReset manager to Scheduled manager. This is definitely a good backup plan.
You need to find an actuator within this section. You cannot just actuate anything you want. There must be a predefined actuator available. I am not seeing any actuator specific to the setpoint manager that you're using in the docs.
You can change the setpoint manager, or try to actuate the schedule/curve fields within the setpoint manager that you're using to "back calculate" the result that you want. I think it is easier to change the setpoint manager, but it is hard to say without knowing exactly what you're trying to accomplish.