Source code for accim.sim.accim_VRFsystem_EMS

# accim - Adaptive-Comfort-Control-Implemented Model
# Copyright (C) 2021-2025 Daniel Sánchez-García

# accim is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# any later version.

# accim is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.

"""Add EMS objects only for VRFsystem."""


[docs] def addEMSSensorsVRFsystem(self, ScriptType: str = None, verboseMode: bool = True): """Add EMS sensors for VRF system accim. :param self: Used as a method for class ``accim.sim.accim_Main.accimJob`` :param ScriptType: Inherited from class ``accim.sim.accis.addAccis`` :param verboseMode: Inherited from class ``accim.sim.accis.addAccis`` """ sensorlist = ([sensor.Name for sensor in self.idf1.idfobjects['EnergyManagementSystem:Sensor']]) for i in range(len(self.ems_objs_name)): if self.ems_objs_name[i] + '_CoolCoil' in sensorlist: if verboseMode: print('Not added - ' + self.ems_objs_name[i] + '_CoolCoil Sensor') else: self.idf1.newidfobject( 'EnergyManagementSystem:Sensor', Name=self.ems_objs_name[i] + '_CoolCoil', OutputVariable_or_OutputMeter_Index_Key_Name=self.ems_zonenames[i] + ' VRF Indoor Unit DX Cooling Coil', OutputVariable_or_OutputMeter_Name='Cooling Coil Total Cooling Rate' ) if verboseMode: print('Added - ' + self.ems_objs_name[i] + '_CoolCoil Sensor') # print([sensor for sensor in self.idf1.idfobjects['EnergyManagementSystem:Sensor'] if sensor.Name==self.zonenames[i]+'_CoolCoil']) if self.ems_objs_name[i] + '_HeatCoil' in sensorlist: if verboseMode: print('Not added - ' + self.ems_objs_name[i] + '_HeatCoil Sensor') else: self.idf1.newidfobject( 'EnergyManagementSystem:Sensor', Name=self.ems_objs_name[i] + '_HeatCoil', OutputVariable_or_OutputMeter_Index_Key_Name=self.ems_zonenames[i] + ' VRF Indoor Unit DX Heating Coil', OutputVariable_or_OutputMeter_Name='Heating Coil Heating Rate' ) if verboseMode: print('Added - ' + self.ems_objs_name[i] + '_HeatCoil Sensor') # print([sensor for sensor in self.idf1.idfobjects['EnergyManagementSystem:Sensor'] if sensor.Name==self.zonenames[i]+'_HeatCoil']) if ScriptType == 'vrf_mm': for i in range(len(self.windownamelist)): if self.windownamelist[i]+'_CoolCoil' in sensorlist: if verboseMode: print('Not added - '+self.windownamelist[i]+'_CoolCoil Sensor') else: self.idf1.newidfobject( 'EnergyManagementSystem:Sensor', Name=self.windownamelist[i]+'_CoolCoil', OutputVariable_or_OutputMeter_Index_Key_Name=self.windownamelist_orig_split[i][0]+' VRF Indoor Unit DX Cooling Coil', OutputVariable_or_OutputMeter_Name='Cooling Coil Total Cooling Rate' ) if verboseMode: print('Added - '+self.windownamelist[i]+'_CoolCoil Sensor') if self.windownamelist[i]+'_HeatCoil' in sensorlist: if verboseMode: print('Not added - '+self.windownamelist[i]+'_HeatCoil Sensor') else: self.idf1.newidfobject( 'EnergyManagementSystem:Sensor', Name=self.windownamelist[i]+'_HeatCoil', OutputVariable_or_OutputMeter_Index_Key_Name=self.windownamelist_orig_split[i][0]+' VRF Indoor Unit DX Heating Coil', OutputVariable_or_OutputMeter_Name='Heating Coil Heating Rate' ) if verboseMode: print('Added - '+self.windownamelist[i]+'_HeatCoil Sensor') del sensorlist