honeybee_energy.hvac.detailed module

Detailed HVAC system object defined using IronBug or OpenStudio .NET bindings.

class honeybee_energy.hvac.detailed.DetailedHVAC(identifier, specification)[source]

Bases: _HVACSystem

Detailed HVAC system object defined using IronBug or OpenStudio .NET bindings.

Parameters:
  • identifier – Text string for detailed system identifier. Must be < 100 characters and not contain any EnergyPlus special characters.

  • specification – A JSON-serializable dictionary representing the full specification of the detailed system. This can be obtained by calling the ToJson() method on any IronBug HVAC system and then serializing the resulting JSON string into a Python dictionary using the native Python json package. Note that the Rooms that the HVAC is assigned to must be specified as ThermalZones under this specification in order for the resulting Model this HVAC is a part of to be valid.

Properties:
  • identifier

  • specification

  • thermal_zones

  • design_type

  • air_loop_count

  • economizer_type

  • sensible_heat_recovery

  • latent_heat_recovery

  • display_name

  • user_data

ToString()

Overwrite .NET ToString.

duplicate()

Get a copy of this object.

classmethod from_dict(data)[source]

Create a HVAC object from a dictionary.

Parameters:

data – A HVAC dictionary in following the format below.

{
"type": "DetailedHVAC",
"identifier": "Classroom1_System",  # identifier for the HVAC
"display_name": "Custom VAV System",  # name for the HVAC
"specification": {}  # dictionary for the full HVAC specification
}
classmethod from_dict_abridged(data, schedule_dict)[source]

Create a HVAC object from an abridged dictionary.

Parameters:
  • data – An abridged dictionary in following the format below.

  • schedule_dict – A dictionary with schedule identifiers as keys and honeybee schedule objects as values.

{
"type": "DetailedHVAC",
"identifier": "Classroom1_System",  # identifier for the HVAC
"display_name": "Custom VAV System",  # name for the HVAC
"specification": {}  # dictionary for the full HVAC specification
}
lock()
sync_room_ids(room_map)[source]

Sync this DetailedHVAC with Rooms that had their IDs changed.

This is useful after running the Model.reset_ids() command to ensure that the bi-directional Room references between DetailedHVAC and Honeybee Rooms is correct.

Parameters:

room_map – A dictionary that relates the original Rooms identifiers (keys) to the new identifiers (values) of the Rooms in the Model.

to_dict(abridged=False)[source]

DetailedHVAC 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 object.

to_ideal_air_equivalent()[source]

This method is NOT YET IMPLEMENTED.

unlock()
AIR_LOOP = 'Ironbug.HVAC.IB_AirLoopHVAC'
BRANCHES = 'Ironbug.HVAC.IB_AirLoopBranches'
ECONOMIZER_TYPES = ('NoEconomizer', 'DifferentialDryBulb', 'DifferentialEnthalpy', 'DifferentialDryBulbAndEnthalpy', 'FixedDryBulb', 'FixedEnthalpy', 'ElectronicEnthalpy')
HEAT_RECOVERY = 'Ironbug.HVAC.IB_HeatExchangerAirToAirSensibleAndLatent'
HR_LATENT = ('LatentEffectivenessat75CoolingAirFlow', 'LatentEffectivenessat75HeatingAirFlow')
HR_SENSIBLE = ('SensibleEffectivenessat75CoolingAirFlow', 'SensibleEffectivenessat75HeatingAirFlow')
NO_AIR_LOOP = 'Ironbug.HVAC.IB_NoAirLoop'
OA_CONTROLLER = 'Ironbug.HVAC.IB_ControllerOutdoorAir'
OA_SYSTEM = 'Ironbug.HVAC.IB_OutdoorAirSystem'
property air_loop_count

Get an integer for the number of air loops in the system.

property design_type

Text for the structure of the system. It will be one of the following.

  • AllAir

  • DOAS

  • HeatCool

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 economizer_type

Get text to indicate the type of air-side economizer.

Choose from the following options.

  • NoEconomizer

  • DifferentialDryBulb

  • DifferentialEnthalpy

  • DifferentialDryBulbAndEnthalpy

  • FixedDryBulb

  • FixedEnthalpy

  • ElectronicEnthalpy

property identifier

Get or set the text string for HVAC system identifier.

property latent_heat_recovery

Get a number for the effectiveness of latent heat recovery.

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 sensible_heat_recovery

Get a number for the effectiveness of sensible heat recovery.

property specification

Get or set a dictionary for the full specification of this HVAC.

This can be obtained by calling the SaveAsJson() method on any IronBug HVAC system and then serializing the resulting JSON string into a Python dictionary using the native Python json package.

property thermal_zones

Get a tuple of strings for the Rooms/Zones to which the HVAC is assigned.

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)