Skip to content

Commit

Permalink
Update lighting.
Browse files Browse the repository at this point in the history
  • Loading branch information
shorowit committed Apr 7, 2019
1 parent d87f97a commit 7ac2532
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 39 deletions.
7 changes: 6 additions & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -2304,7 +2304,12 @@ def get_hpxml_file_lighting_values(hpxml_file, lighting_values)
:fraction_tier_ii_exterior => 0.25,
:fraction_tier_ii_garage => 0.25 }
elsif hpxml_file == 'valid-misc-lighting-default.xml'
lighting_values = {}
lighting_values = { :fraction_tier_i_interior => 0.1,
:fraction_tier_i_exterior => 0.0,
:fraction_tier_i_garage => 0.0,
:fraction_tier_ii_interior => 0.0,
:fraction_tier_ii_exterior => 0.0,
:fraction_tier_ii_garage => 0.0 }
elsif hpxml_file == 'valid-misc-lighting-none.xml'
lighting_values = nil
end
Expand Down
42 changes: 13 additions & 29 deletions measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2752,39 +2752,23 @@ def self.add_lighting(runner, model, building, unit, weather)

lighting_values = HPXML.get_lighting_values(lighting: lighting)

# Default
fFI_int, fFI_ext, fFI_grg, fFII_int, fFII_ext, fFII_grg = Lighting.get_reference_fractions()

unless lighting_values[:fraction_tier_i_interior].nil?
fFI_int = lighting_values[:fraction_tier_i_interior]
end
unless lighting_values[:fraction_tier_i_exterior].nil?
fFI_ext = lighting_values[:fraction_tier_i_exterior]
end
unless lighting_values[:fraction_tier_i_garage].nil?
fFI_grg = lighting_values[:fraction_tier_i_garage]
end
unless lighting_values[:fraction_tier_ii_interior].nil?
fFII_int = lighting_values[:fraction_tier_ii_interior]
end
unless lighting_values[:fraction_tier_ii_exterior].nil?
fFII_ext = lighting_values[:fraction_tier_ii_exterior]
end
unless lighting_values[:fraction_tier_ii_garage].nil?
fFII_grg = lighting_values[:fraction_tier_ii_garage]
end

if fFI_int + fFII_int > 1
fail "Fraction of qualifying interior lighting fixtures #{fFI_int + fFII_int} is greater than 1."
if lighting_values[:fraction_tier_i_interior] + lighting_values[:fraction_tier_ii_interior] > 1
fail "Fraction of qualifying interior lighting fixtures #{lighting_values[:fraction_tier_i_interior] + lighting_values[:fraction_tier_ii_interior]} is greater than 1."
end
if fFI_ext + fFII_ext > 1
fail "Fraction of qualifying exterior lighting fixtures #{fFI_ext + fFII_ext} is greater than 1."
if lighting_values[:fraction_tier_i_exterior] + lighting_values[:fraction_tier_ii_exterior] > 1
fail "Fraction of qualifying exterior lighting fixtures #{lighting_values[:fraction_tier_i_exterior] + lighting_values[:fraction_tier_ii_exterior]} is greater than 1."
end
if fFI_grg + fFII_grg > 1
fail "Fraction of qualifying garage lighting fixtures #{fFI_grg + fFII_grg} is greater than 1."
if lighting_values[:fraction_tier_i_garage] + lighting_values[:fraction_tier_ii_garage] > 1
fail "Fraction of qualifying garage lighting fixtures #{lighting_values[:fraction_tier_i_garage] + lighting_values[:fraction_tier_ii_garage]} is greater than 1."
end

int_kwh, ext_kwh, grg_kwh = Lighting.calc_lighting_energy(@eri_version, @cfa, @garage_present, fFI_int, fFI_ext, fFI_grg, fFII_int, fFII_ext, fFII_grg)
int_kwh, ext_kwh, grg_kwh = Lighting.calc_lighting_energy(@eri_version, @cfa, @garage_present,
lighting_values[:fraction_tier_i_interior],
lighting_values[:fraction_tier_i_exterior],
lighting_values[:fraction_tier_i_garage],
lighting_values[:fraction_tier_ii_interior],
lighting_values[:fraction_tier_ii_exterior],
lighting_values[:fraction_tier_ii_garage])

success, sch = Lighting.apply_interior(model, unit, runner, weather, nil, int_kwh)
return false if not success
Expand Down
16 changes: 8 additions & 8 deletions resources/EPvalidator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -580,7 +580,7 @@ def self.run_validator(hpxml_doc)
},

## [CWType=UserSpecified]
"/HPXML/Building/BuildingDetails/Appliances/ClothesWasher[ModifiedEnergyFactor]" => {
"/HPXML/Building/BuildingDetails/Appliances/ClothesWasher[ModifiedEnergyFactor | IntegratedModifiedEnergyFactor]" => {
"RatedAnnualkWh" => one,
"LabelElectricRate" => one,
"LabelGasRate" => one,
Expand All @@ -597,7 +597,7 @@ def self.run_validator(hpxml_doc)
},

## [CDType=UserSpecified]
"/HPXML/Building/BuildingDetails/Appliances/ClothesDryer[EnergyFactor]" => {
"/HPXML/Building/BuildingDetails/Appliances/ClothesDryer[EnergyFactor | CombinedEnergyFactor]" => {
"[ControlType='timer' or ControlType='moisture']" => one,
},

Expand Down Expand Up @@ -633,12 +633,12 @@ def self.run_validator(hpxml_doc)

# [Lighting]
"/HPXML/Building/BuildingDetails/Lighting" => {
"LightingGroup[ThirdPartyCertification='ERI Tier I' and Location='interior']" => zero_or_one, # Uses ERI Reference Home if not provided; otherwise see [LightingGroup]
"LightingGroup[ThirdPartyCertification='ERI Tier I' and Location='exterior']" => zero_or_one, # Uses ERI Reference Home if not provided; otherwise see [LightingGroup]
"LightingGroup[ThirdPartyCertification='ERI Tier I' and Location='garage']" => zero_or_one, # Uses ERI Reference Home if not provided; otherwise see [LightingGroup]
"LightingGroup[ThirdPartyCertification='ERI Tier II' and Location='interior']" => zero_or_one, # Uses ERI Reference Home if not provided; otherwise see [LightingGroup]
"LightingGroup[ThirdPartyCertification='ERI Tier II' and Location='exterior']" => zero_or_one, # Uses ERI Reference Home if not provided; otherwise see [LightingGroup]
"LightingGroup[ThirdPartyCertification='ERI Tier II' and Location='garage']" => zero_or_one, # Uses ERI Reference Home if not provided; otherwise see [LightingGroup]
"LightingGroup[ThirdPartyCertification='ERI Tier I' and Location='interior']" => one, # See [LightingGroup]
"LightingGroup[ThirdPartyCertification='ERI Tier I' and Location='exterior']" => one, # See [LightingGroup]
"LightingGroup[ThirdPartyCertification='ERI Tier I' and Location='garage']" => one, # See [LightingGroup]
"LightingGroup[ThirdPartyCertification='ERI Tier II' and Location='interior']" => one, # See [LightingGroup]
"LightingGroup[ThirdPartyCertification='ERI Tier II' and Location='exterior']" => one, # See [LightingGroup]
"LightingGroup[ThirdPartyCertification='ERI Tier II' and Location='garage']" => one, # See [LightingGroup]
},

## [LightingGroup]
Expand Down
39 changes: 38 additions & 1 deletion tests/valid-misc-lighting-default.xml
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,44 @@
<IsConvection>true</IsConvection>
</Oven>
</Appliances>
<Lighting/>
<Lighting>
<LightingGroup>
<SystemIdentifier id='Lighting_TierI_Interior'/>
<Location>interior</Location>
<FractionofUnitsInLocation>0.1</FractionofUnitsInLocation>
<ThirdPartyCertification>ERI Tier I</ThirdPartyCertification>
</LightingGroup>
<LightingGroup>
<SystemIdentifier id='Lighting_TierI_Exterior'/>
<Location>exterior</Location>
<FractionofUnitsInLocation>0.0</FractionofUnitsInLocation>
<ThirdPartyCertification>ERI Tier I</ThirdPartyCertification>
</LightingGroup>
<LightingGroup>
<SystemIdentifier id='Lighting_TierI_Garage'/>
<Location>garage</Location>
<FractionofUnitsInLocation>0.0</FractionofUnitsInLocation>
<ThirdPartyCertification>ERI Tier I</ThirdPartyCertification>
</LightingGroup>
<LightingGroup>
<SystemIdentifier id='Lighting_TierII_Interior'/>
<Location>interior</Location>
<FractionofUnitsInLocation>0.0</FractionofUnitsInLocation>
<ThirdPartyCertification>ERI Tier II</ThirdPartyCertification>
</LightingGroup>
<LightingGroup>
<SystemIdentifier id='Lighting_TierII_Exterior'/>
<Location>exterior</Location>
<FractionofUnitsInLocation>0.0</FractionofUnitsInLocation>
<ThirdPartyCertification>ERI Tier II</ThirdPartyCertification>
</LightingGroup>
<LightingGroup>
<SystemIdentifier id='Lighting_TierII_Garage'/>
<Location>garage</Location>
<FractionofUnitsInLocation>0.0</FractionofUnitsInLocation>
<ThirdPartyCertification>ERI Tier II</ThirdPartyCertification>
</LightingGroup>
</Lighting>
</BuildingDetails>
</Building>
</HPXML>

0 comments on commit 7ac2532

Please sign in to comment.