Skip to content

Commit f6f88ca

Browse files
authored
Merge pull request #761 from NREL/seasons_followup
Heating/cooling seasons followup
2 parents 1a601c9 + 4e35921 commit f6f88ca

8 files changed

Lines changed: 383 additions & 370 deletions

File tree

Gemfile.lock

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,7 @@ GEM
44
ansi (1.5.0)
55
ast (2.4.2)
66
builder (3.2.4)
7-
ci_reporter (2.0.0)
8-
builder (>= 2.1.2)
9-
ci_reporter_minitest (1.0.0)
10-
ci_reporter (~> 2.0)
11-
minitest (~> 5.0)
12-
codecov (0.2.12)
13-
json
14-
simplecov
157
docile (1.3.5)
16-
json (2.5.1)
178
mini_portile2 (2.5.0)
189
minitest (5.14.4)
1910
minitest-reporters (1.4.3)
@@ -50,8 +41,6 @@ PLATFORMS
5041
x64-mingw32
5142

5243
DEPENDENCIES
53-
ci_reporter_minitest (~> 1.0.0)
54-
codecov (= 0.2.12)
5544
minitest (~> 5.9)
5645
minitest-reporters
5746
nokogiri (~> 1.10)
@@ -60,6 +49,7 @@ DEPENDENCIES
6049
rake
6150
schematron-nokogiri
6251
simplecov
52+
simplecov-html
6353

6454
BUNDLED WITH
6555
2.2.11

HPXMLtoOpenStudio/measure.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
<error>Unable to extract OpenStudio::Measure::OSMeasure object from /mnt/c/git/openstudio-hpxml/HPXMLtoOpenStudio/measure.rb. The script should contain a class that derives from OpenStudio::Measure::OSMeasure and should close with a line stating the class name followed by .new.registerWithApplication.</error>
55
<name>hpxm_lto_openstudio</name>
66
<uid>b1543b30-9465-45ff-ba04-1d1f85e763bc</uid>
7-
<version_id>4357fba8-0846-4d0b-9e78-720564ced1fd</version_id>
8-
<version_modified>20210513T142945Z</version_modified>
7+
<version_id>c929f134-7b14-43a4-a9ee-11bb8d27da1f</version_id>
8+
<version_modified>20210513T171148Z</version_modified>
99
<xml_checksum>D8922A73</xml_checksum>
1010
<class_name>HPXMLtoOpenStudio</class_name>
1111
<display_name>HPXML to OpenStudio Translator</display_name>
@@ -574,17 +574,17 @@
574574
<usage_type>resource</usage_type>
575575
<checksum>EDF78BC3</checksum>
576576
</file>
577-
<file>
578-
<filename>hpxml.rb</filename>
579-
<filetype>rb</filetype>
580-
<usage_type>resource</usage_type>
581-
<checksum>EC5DCE66</checksum>
582-
</file>
583577
<file>
584578
<filename>EPvalidator.xml</filename>
585579
<filetype>xml</filetype>
586580
<usage_type>resource</usage_type>
587581
<checksum>8EE695FA</checksum>
588582
</file>
583+
<file>
584+
<filename>hpxml.rb</filename>
585+
<filetype>rb</filetype>
586+
<usage_type>resource</usage_type>
587+
<checksum>4BBE084E</checksum>
588+
</file>
589589
</files>
590590
</measure>

HPXMLtoOpenStudio/resources/hpxml.rb

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3236,13 +3236,6 @@ def to_oga(doc)
32363236
XMLHelper.add_element(hvac_control, 'SetupTempCoolingSeason', @cooling_setup_temp, :float) unless @cooling_setup_temp.nil?
32373237
XMLHelper.add_element(hvac_control, 'SetpointTempCoolingSeason', @cooling_setpoint_temp, :float) unless @cooling_setpoint_temp.nil?
32383238
XMLHelper.add_element(hvac_control, 'TotalSetupHoursperWeekCooling', @cooling_setup_hours_per_week, :integer) unless @cooling_setup_hours_per_week.nil?
3239-
XMLHelper.add_extension(hvac_control, 'SetbackStartHourHeating', @heating_setback_start_hour, :integer, @heating_setback_start_hour_isdefaulted) unless @heating_setback_start_hour.nil?
3240-
XMLHelper.add_extension(hvac_control, 'SetupStartHourCooling', @cooling_setup_start_hour, :integer, @cooling_setup_start_hour_isdefaulted) unless @cooling_setup_start_hour.nil?
3241-
XMLHelper.add_extension(hvac_control, 'CeilingFanSetpointTempCoolingSeasonOffset', @ceiling_fan_cooling_setpoint_temp_offset, :float) unless @ceiling_fan_cooling_setpoint_temp_offset.nil?
3242-
XMLHelper.add_extension(hvac_control, 'WeekdaySetpointTempsHeatingSeason', @weekday_heating_setpoints, :string) unless @weekday_heating_setpoints.nil?
3243-
XMLHelper.add_extension(hvac_control, 'WeekendSetpointTempsHeatingSeason', @weekend_heating_setpoints, :string) unless @weekend_heating_setpoints.nil?
3244-
XMLHelper.add_extension(hvac_control, 'WeekdaySetpointTempsCoolingSeason', @weekday_cooling_setpoints, :string) unless @weekday_cooling_setpoints.nil?
3245-
XMLHelper.add_extension(hvac_control, 'WeekendSetpointTempsCoolingSeason', @weekend_cooling_setpoints, :string) unless @weekend_cooling_setpoints.nil?
32463239
if (not @seasons_heating_begin_month.nil?) || (not @seasons_heating_begin_day.nil?) || (not @seasons_heating_end_month.nil?) || (not @seasons_heating_end_day.nil?)
32473240
heating_season = XMLHelper.add_element(hvac_control, 'HeatingSeason')
32483241
XMLHelper.add_element(heating_season, 'BeginMonth', @seasons_heating_begin_month, :integer, @seasons_heating_begin_month_isdefaulted) unless @seasons_heating_begin_month.nil?
@@ -3257,6 +3250,13 @@ def to_oga(doc)
32573250
XMLHelper.add_element(cooling_season, 'EndMonth', @seasons_cooling_end_month, :integer, @seasons_cooling_end_month_isdefaulted) unless @seasons_cooling_end_month.nil?
32583251
XMLHelper.add_element(cooling_season, 'EndDayOfMonth', @seasons_cooling_end_day, :integer, @seasons_cooling_end_day_isdefaulted) unless @seasons_cooling_end_day.nil?
32593252
end
3253+
XMLHelper.add_extension(hvac_control, 'SetbackStartHourHeating', @heating_setback_start_hour, :integer, @heating_setback_start_hour_isdefaulted) unless @heating_setback_start_hour.nil?
3254+
XMLHelper.add_extension(hvac_control, 'SetupStartHourCooling', @cooling_setup_start_hour, :integer, @cooling_setup_start_hour_isdefaulted) unless @cooling_setup_start_hour.nil?
3255+
XMLHelper.add_extension(hvac_control, 'CeilingFanSetpointTempCoolingSeasonOffset', @ceiling_fan_cooling_setpoint_temp_offset, :float) unless @ceiling_fan_cooling_setpoint_temp_offset.nil?
3256+
XMLHelper.add_extension(hvac_control, 'WeekdaySetpointTempsHeatingSeason', @weekday_heating_setpoints, :string) unless @weekday_heating_setpoints.nil?
3257+
XMLHelper.add_extension(hvac_control, 'WeekendSetpointTempsHeatingSeason', @weekend_heating_setpoints, :string) unless @weekend_heating_setpoints.nil?
3258+
XMLHelper.add_extension(hvac_control, 'WeekdaySetpointTempsCoolingSeason', @weekday_cooling_setpoints, :string) unless @weekday_cooling_setpoints.nil?
3259+
XMLHelper.add_extension(hvac_control, 'WeekendSetpointTempsCoolingSeason', @weekend_cooling_setpoints, :string) unless @weekend_cooling_setpoints.nil?
32603260
end
32613261

32623262
def from_oga(hvac_control)
@@ -3270,13 +3270,6 @@ def from_oga(hvac_control)
32703270
@cooling_setup_temp = XMLHelper.get_value(hvac_control, 'SetupTempCoolingSeason', :float)
32713271
@cooling_setpoint_temp = XMLHelper.get_value(hvac_control, 'SetpointTempCoolingSeason', :float)
32723272
@cooling_setup_hours_per_week = XMLHelper.get_value(hvac_control, 'TotalSetupHoursperWeekCooling', :integer)
3273-
@heating_setback_start_hour = XMLHelper.get_value(hvac_control, 'extension/SetbackStartHourHeating', :integer)
3274-
@cooling_setup_start_hour = XMLHelper.get_value(hvac_control, 'extension/SetupStartHourCooling', :integer)
3275-
@ceiling_fan_cooling_setpoint_temp_offset = XMLHelper.get_value(hvac_control, 'extension/CeilingFanSetpointTempCoolingSeasonOffset', :float)
3276-
@weekday_heating_setpoints = XMLHelper.get_value(hvac_control, 'extension/WeekdaySetpointTempsHeatingSeason', :string)
3277-
@weekend_heating_setpoints = XMLHelper.get_value(hvac_control, 'extension/WeekendSetpointTempsHeatingSeason', :string)
3278-
@weekday_cooling_setpoints = XMLHelper.get_value(hvac_control, 'extension/WeekdaySetpointTempsCoolingSeason', :string)
3279-
@weekend_cooling_setpoints = XMLHelper.get_value(hvac_control, 'extension/WeekendSetpointTempsCoolingSeason', :string)
32803273
@seasons_heating_begin_month = XMLHelper.get_value(hvac_control, 'HeatingSeason/BeginMonth', :integer)
32813274
@seasons_heating_begin_day = XMLHelper.get_value(hvac_control, 'HeatingSeason/BeginDayOfMonth', :integer)
32823275
@seasons_heating_end_month = XMLHelper.get_value(hvac_control, 'HeatingSeason/EndMonth', :integer)
@@ -3285,6 +3278,13 @@ def from_oga(hvac_control)
32853278
@seasons_cooling_begin_day = XMLHelper.get_value(hvac_control, 'CoolingSeason/BeginDayOfMonth', :integer)
32863279
@seasons_cooling_end_month = XMLHelper.get_value(hvac_control, 'CoolingSeason/EndMonth', :integer)
32873280
@seasons_cooling_end_day = XMLHelper.get_value(hvac_control, 'CoolingSeason/EndDayOfMonth', :integer)
3281+
@heating_setback_start_hour = XMLHelper.get_value(hvac_control, 'extension/SetbackStartHourHeating', :integer)
3282+
@cooling_setup_start_hour = XMLHelper.get_value(hvac_control, 'extension/SetupStartHourCooling', :integer)
3283+
@ceiling_fan_cooling_setpoint_temp_offset = XMLHelper.get_value(hvac_control, 'extension/CeilingFanSetpointTempCoolingSeasonOffset', :float)
3284+
@weekday_heating_setpoints = XMLHelper.get_value(hvac_control, 'extension/WeekdaySetpointTempsHeatingSeason', :string)
3285+
@weekend_heating_setpoints = XMLHelper.get_value(hvac_control, 'extension/WeekendSetpointTempsHeatingSeason', :string)
3286+
@weekday_cooling_setpoints = XMLHelper.get_value(hvac_control, 'extension/WeekdaySetpointTempsCoolingSeason', :string)
3287+
@weekend_cooling_setpoints = XMLHelper.get_value(hvac_control, 'extension/WeekendSetpointTempsCoolingSeason', :string)
32883288
end
32893289
end
32903290

tasks.rb

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -550,7 +550,17 @@ def create_hpxmls
550550
building_element = XMLHelper.get_element(hpxml_element, 'Building')
551551
for i in 2..3
552552
new_building_element = Marshal.load(Marshal.dump(building_element))
553-
XMLHelper.add_attribute(XMLHelper.get_element(new_building_element, 'BuildingID'), 'id', "MyBuilding#{i}")
553+
554+
# Make all IDs unique so the HPXML is valid
555+
new_building_element.each_node do |node|
556+
next unless node.is_a?(Oga::XML::Element)
557+
558+
id = XMLHelper.get_attribute_value(node, 'id')
559+
next if id.nil?
560+
561+
XMLHelper.add_attribute(node, 'id', "#{id}_#{i}")
562+
end
563+
554564
hpxml_element.children << new_building_element
555565
end
556566
XMLHelper.write_file(hpxml_doc, hpxml_path)

0 commit comments

Comments
 (0)