honeybee_energy.hvac.heatcool.residential module

Residential Air Conditioning, Heat Pump or Furnace system.

class honeybee_energy.hvac.heatcool.residential.Residential(identifier, vintage='ASHRAE_2019', equipment_type=None)[source]

Bases: _HeatCoolBase

Residential Air Conditioning, Heat Pump or Furnace system.

Residential HVAC systems are intended primarily for single-family homes and include a wide variety of options. In all cases, each room/zone will receive its own air loop WITHOUT an outdoor air inlet (air is simply being recirculated through the loop). Residential air conditioning (AC) systems are modeled using a unitary system with a single-speed direct expansion (DX) cooling coil in the loop. Residential heat pump (HP) systems use a single-speed DX heating coil in the unitary system and the residential furnace option uses a gas coil in the unitary system. In all cases, the properties of these coils are set to reflect a typical residential system.

Parameters
  • identifier – Text string for system identifier. Must be < 100 characters and not contain any EnergyPlus special characters. This will be used to identify the object across a model and in the exported IDF.

  • vintage

    Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Choose from the following.

    • DOE_Ref_Pre_1980

    • DOE_Ref_1980_2004

    • ASHRAE_2004

    • ASHRAE_2007

    • ASHRAE_2010

    • ASHRAE_2013

    • ASHRAE_2016

    • ASHRAE_2019

  • equipment_type

    Text for the specific type of the system and equipment. (Default: the first option below) Choose from.

    • ResidentialAC_ElectricBaseboard

    • ResidentialAC_BoilerBaseboard

    • ResidentialAC_ASHPBaseboard

    • ResidentialAC_DHWBaseboard

    • ResidentialAC_ResidentialFurnace

    • ResidentialAC

    • ResidentialHP

    • ResidentialHPNoCool

    • ResidentialFurnace

Properties:
  • identifier

  • display_name

  • vintage

  • equipment_type

  • schedules

  • has_district_heating

  • has_district_cooling

  • user_data

  • properties

ToString()

Overwrite .NET ToString.

duplicate()

Get a copy of this object.

classmethod from_dict(data)

Create a HVAC object from a dictionary.

Parameters

data – A HeatCool dictionary in following the format below.

{
"type": "",  # text for the class name of the HVAC
"identifier": "Classroom1_System",  # identifier for the HVAC
"display_name": "Standard System",  # name for the HVAC
"vintage": "ASHRAE_2019",  # text for the vintage of the template
"equipment_type": "",  # text for the HVAC equipment type
"properties": { ... } # HeatCoolSystemProperties as a dict
}
classmethod from_dict_abridged(data, schedule_dict)

Create a HVAC object from an abridged dictionary.

Parameters
  • data – A HeatCool abridged dictionary in following the format below.

  • schedule_dict – A dictionary with schedule identifiers as keys and honeybee schedule objects as values (either ScheduleRuleset or ScheduleFixedInterval). These will be used to assign the schedules to the Setpoint object.

{
"type": "",  # text for the class name of the HVAC
"identifier": "Classroom1_System",  # identifier for the HVAC
"display_name": "Standard System",  # name for the HVAC
"vintage": "ASHRAE_2019",  # text for the vintage of the template
"equipment_type": "",  # text for the HVAC equipment type
"properties": { ... } # dict of the HeatCoolSystemProperties
}
lock()
to_dict(abridged=False)

HeatCool system dictionary representation.

Parameters

abridged – Boolean to note whether the full dictionary describing the object should be returned (False) or just an abridged version (True). This input currently has no effect but may eventually have one if schedule-type properties are exposed on this template.

to_ideal_air_equivalent()

Get a version of this HVAC as an IdealAirSystem.

unlock()
COOL_ONLY_TYPES = ('EvapCoolers', 'FCU_Chiller', 'FCU_ACChiller', 'FCU_DCW', 'ResidentialAC', 'WindowAC')
EQUIPMENT_TYPES = ('ResidentialAC_ElectricBaseboard', 'ResidentialAC_BoilerBaseboard', 'ResidentialAC_ASHPBaseboard', 'ResidentialAC_DHWBaseboard', 'ResidentialAC_ResidentialFurnace', 'ResidentialAC', 'ResidentialHP', 'ResidentialHPNoCool', 'ResidentialFurnace')
HEAT_ONLY_TYPES = ('ElectricBaseboard', 'BoilerBaseboard', 'ASHPBaseboard', 'DHWBaseboard', 'GasHeaters', 'ResidentialHPNoCool', 'ResidentialFurnace')
VINTAGES = ('DOE_Ref_Pre_1980', 'DOE_Ref_1980_2004', 'ASHRAE_2004', 'ASHRAE_2007', 'ASHRAE_2010', 'ASHRAE_2013', 'ASHRAE_2016', 'ASHRAE_2019')
property display_name

Get or set a string for the object name without any character restrictions.

If not set, this will be equal to the identifier.

property equipment_type

Get or set text for the system’s equipment specification.

For example, ‘VAV chiller with gas boiler reheat’.

property has_district_cooling

Get a boolean for whether the HVAC system has district cooling.

property has_district_heating

Get a boolean for whether the HVAC system has district heating.

property identifier

Get or set the text string for HVAC system identifier.

property properties

Get properties for extensions.

property schedules

Get an array of all the schedules associated with the HVAC system.

This property should be overwritten in each of the classes inheriting from the HVACSystem base class since each HVAC system is likely to have it’s own unique places where schedules are assigned. At a minimum, this property should return heating/cooling availability schedules.

property user_data

Get or set an optional dictionary for additional meta data for this object.

This will be None until it has been set. All keys and values of this dictionary should be of a standard Python type to ensure correct serialization of the object to/from JSON (eg. str, float, int, list, dict)

property vintage

Get or set text to indicate the vintage of the template system.

Choose from the following options:

  • DOE_Ref_Pre_1980

  • DOE_Ref_1980_2004

  • ASHRAE_2004

  • ASHRAE_2007

  • ASHRAE_2010

  • ASHRAE_2013

  • ASHRAE_2016

  • ASHRAE_2019