Skip to content

Commit ad001b6

Browse files
committed
Allow more fuel economy units for EVs. Fix documentation for EV plug load default kWh/year. Remove separate charging/discharging schedules. Some misc cleanup.
1 parent 70edbf2 commit ad001b6

17 files changed

+1559
-148
lines changed

BuildResidentialHPXML/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4549,14 +4549,14 @@ The usable capacity of the vehicle battery, only applies to electric vehicles. I
45494549

45504550
**Vehicle: Combined Fuel Economy Units**
45514551

4552-
The combined fuel economy units of the vehicle. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.10.0/workflow_inputs.html#hpxml-vehicles'>HPXML Vehicles</a>) is used.
4552+
The combined fuel economy units of the vehicle. Only 'kWh/mile', 'mile/kWh', or 'mpge' are allow for electric vehicles. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.10.0/workflow_inputs.html#hpxml-vehicles'>HPXML Vehicles</a>) is used.
45534553

45544554
- **Name:** ``vehicle_fuel_economy_units``
45554555
- **Type:** ``Choice``
45564556

45574557
- **Required:** ``false``
45584558

4559-
- **Choices:** `kWh/mile`
4559+
- **Choices:** `kWh/mile`, `mile/kWh`, `mpge`, `mpg`
45604560

45614561
<br/>
45624562

BuildResidentialHPXML/measure.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2702,10 +2702,13 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument
27022702

27032703
fuel_economy_units_choices = OpenStudio::StringVector.new
27042704
fuel_economy_units_choices << HPXML::UnitsKwhPerMile
2705+
fuel_economy_units_choices << HPXML::UnitsMilePerKwh
2706+
fuel_economy_units_choices << HPXML::UnitsMPGe
2707+
fuel_economy_units_choices << HPXML::UnitsMPG
27052708

27062709
arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('vehicle_fuel_economy_units', fuel_economy_units_choices, false)
27072710
arg.setDisplayName('Vehicle: Combined Fuel Economy Units')
2708-
arg.setDescription("The combined fuel economy units of the vehicle. If not provided, the OS-HPXML default (see <a href='#{docs_base_url}#hpxml-vehicles'>HPXML Vehicles</a>) is used.")
2711+
arg.setDescription("The combined fuel economy units of the vehicle. Only '#{HPXML::UnitsKwhPerMile}', '#{HPXML::UnitsMilePerKwh}', or '#{HPXML::UnitsMPGe}' are allow for electric vehicles. If not provided, the OS-HPXML default (see <a href='#{docs_base_url}#hpxml-vehicles'>HPXML Vehicles</a>) is used.")
27092712
args << arg
27102713

27112714
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('vehicle_fuel_economy_combined', false)
@@ -6977,7 +6980,7 @@ def self.set_vehicle(hpxml_bldg, args)
69776980
vehicle_type: args[:vehicle_type],
69786981
nominal_capacity_kwh: args[:vehicle_battery_capacity],
69796982
usable_capacity_kwh: args[:vehicle_battery_usable_capacity],
6980-
fuel_economy: args[:vehicle_fuel_economy_combined],
6983+
fuel_economy_combined: args[:vehicle_fuel_economy_combined],
69816984
fuel_economy_units: args[:vehicle_fuel_economy_units],
69826985
miles_per_year: args[:vehicle_miles_driven_per_year],
69836986
hours_per_week: args[:vehicle_hours_driven_per_week],

BuildResidentialHPXML/measure.xml

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
<schema_version>3.1</schema_version>
44
<name>build_residential_hpxml</name>
55
<uid>a13a8983-2b01-4930-8af2-42030b6e4233</uid>
6-
<version_id>92bf4050-3214-403a-8336-e33ab0b2ca04</version_id>
7-
<version_modified>2025-01-25T03:34:35Z</version_modified>
6+
<version_id>fc615f45-c9b7-4fa8-9143-e3ef83019ed6</version_id>
7+
<version_modified>2025-02-04T22:22:51Z</version_modified>
88
<xml_checksum>2C38F48B</xml_checksum>
99
<class_name>BuildResidentialHPXML</class_name>
1010
<display_name>HPXML Builder</display_name>
@@ -5549,7 +5549,7 @@
55495549
<argument>
55505550
<name>vehicle_fuel_economy_units</name>
55515551
<display_name>Vehicle: Combined Fuel Economy Units</display_name>
5552-
<description>The combined fuel economy units of the vehicle. If not provided, the OS-HPXML default (see &lt;a href='https://openstudio-hpxml.readthedocs.io/en/v1.10.0/workflow_inputs.html#hpxml-vehicles'&gt;HPXML Vehicles&lt;/a&gt;) is used.</description>
5552+
<description>The combined fuel economy units of the vehicle. Only 'kWh/mile', 'mile/kWh', or 'mpge' are allow for electric vehicles. If not provided, the OS-HPXML default (see &lt;a href='https://openstudio-hpxml.readthedocs.io/en/v1.10.0/workflow_inputs.html#hpxml-vehicles'&gt;HPXML Vehicles&lt;/a&gt;) is used.</description>
55535553
<type>Choice</type>
55545554
<required>false</required>
55555555
<model_dependent>false</model_dependent>
@@ -5558,6 +5558,18 @@
55585558
<value>kWh/mile</value>
55595559
<display_name>kWh/mile</display_name>
55605560
</choice>
5561+
<choice>
5562+
<value>mile/kWh</value>
5563+
<display_name>mile/kWh</display_name>
5564+
</choice>
5565+
<choice>
5566+
<value>mpge</value>
5567+
<display_name>mpge</display_name>
5568+
</choice>
5569+
<choice>
5570+
<value>mpg</value>
5571+
<display_name>mpg</display_name>
5572+
</choice>
55615573
</choices>
55625574
</argument>
55635575
<argument>
@@ -7648,7 +7660,7 @@
76487660
<filename>README.md</filename>
76497661
<filetype>md</filetype>
76507662
<usage_type>readme</usage_type>
7651-
<checksum>B3788EAB</checksum>
7663+
<checksum>68786DA5</checksum>
76527664
</file>
76537665
<file>
76547666
<filename>README.md.erb</filename>
@@ -7665,7 +7677,7 @@
76657677
<filename>measure.rb</filename>
76667678
<filetype>rb</filetype>
76677679
<usage_type>script</usage_type>
7668-
<checksum>2EAA7A94</checksum>
7680+
<checksum>A0C9DB49</checksum>
76697681
</file>
76707682
<file>
76717683
<filename>constants.rb</filename>

HPXMLtoOpenStudio/measure.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
<schema_version>3.1</schema_version>
44
<name>hpxm_lto_openstudio</name>
55
<uid>b1543b30-9465-45ff-ba04-1d1f85e763bc</uid>
6-
<version_id>03140da5-ec98-48c7-9f17-ae1f326c3c2b</version_id>
7-
<version_modified>2025-02-04T21:19:23Z</version_modified>
6+
<version_id>1e6e4ecc-c633-4d53-ba12-23bd26f6e1ac</version_id>
7+
<version_modified>2025-02-04T22:22:56Z</version_modified>
88
<xml_checksum>D8922A73</xml_checksum>
99
<class_name>HPXMLtoOpenStudio</class_name>
1010
<display_name>HPXML to OpenStudio Translator</display_name>
@@ -327,7 +327,7 @@
327327
<filename>defaults.rb</filename>
328328
<filetype>rb</filetype>
329329
<usage_type>resource</usage_type>
330-
<checksum>E6A26236</checksum>
330+
<checksum>8FE4492D</checksum>
331331
</file>
332332
<file>
333333
<filename>energyplus.rb</filename>
@@ -357,7 +357,7 @@
357357
<filename>hpxml.rb</filename>
358358
<filetype>rb</filetype>
359359
<usage_type>resource</usage_type>
360-
<checksum>173BF9FE</checksum>
360+
<checksum>B0060C22</checksum>
361361
</file>
362362
<file>
363363
<filename>hpxml_schema/HPXML.xsd</filename>
@@ -375,7 +375,7 @@
375375
<filename>hpxml_schematron/EPvalidator.xml</filename>
376376
<filetype>xml</filetype>
377377
<usage_type>resource</usage_type>
378-
<checksum>8946CDA1</checksum>
378+
<checksum>84286045</checksum>
379379
</file>
380380
<file>
381381
<filename>hpxml_schematron/iso-schematron.xsd</filename>
@@ -639,7 +639,7 @@
639639
<filename>vehicle.rb</filename>
640640
<filetype>rb</filetype>
641641
<usage_type>resource</usage_type>
642-
<checksum>AE524D89</checksum>
642+
<checksum>E5218BFB</checksum>
643643
</file>
644644
<file>
645645
<filename>version.rb</filename>
@@ -687,7 +687,7 @@
687687
<filename>test_defaults.rb</filename>
688688
<filetype>rb</filetype>
689689
<usage_type>test</usage_type>
690-
<checksum>3B90FC06</checksum>
690+
<checksum>66403D3F</checksum>
691691
</file>
692692
<file>
693693
<filename>test_enclosure.rb</filename>
@@ -759,7 +759,7 @@
759759
<filename>test_validation.rb</filename>
760760
<filetype>rb</filetype>
761761
<usage_type>test</usage_type>
762-
<checksum>393966E0</checksum>
762+
<checksum>5068EA86</checksum>
763763
</file>
764764
<file>
765765
<filename>test_vehicle.rb</filename>

HPXMLtoOpenStudio/resources/battery.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ module Battery
1212
# @return [nil]
1313
def self.apply(runner, model, spaces, hpxml_bldg, schedules_file)
1414
charging_schedule, discharging_schedule = nil, nil
15-
if !schedules_file.nil?
15+
if not schedules_file.nil?
1616
charging_schedule = schedules_file.create_schedule_file(model, col_name: SchedulesFile::Columns[:BatteryCharging].name)
1717
discharging_schedule = schedules_file.create_schedule_file(model, col_name: SchedulesFile::Columns[:BatteryDischarging].name)
1818
end

HPXMLtoOpenStudio/resources/defaults.rb

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3190,11 +3190,9 @@ def self.apply_vehicles(hpxml_bldg, schedules_file)
31903190
vehicle.battery_type = default_values[:battery_type]
31913191
vehicle.battery_type_isdefaulted = true
31923192
end
3193-
if vehicle.fuel_economy.nil?
3194-
vehicle.fuel_economy = default_values[:fuel_economy]
3195-
vehicle.fuel_economy_isdefaulted = true
3196-
end
3197-
if vehicle.fuel_economy_units.nil?
3193+
if vehicle.fuel_economy_combined.nil? || vehicle.fuel_economy_units.nil?
3194+
vehicle.fuel_economy_combined = default_values[:fuel_economy_combined]
3195+
vehicle.fuel_economy_combined_isdefaulted = true
31983196
vehicle.fuel_economy_units = default_values[:fuel_economy_units]
31993197
vehicle.fuel_economy_units_isdefaulted = true
32003198
end
@@ -5732,7 +5730,7 @@ def self.get_electric_vehicle_values()
57325730
hours_per_week: 8.88,
57335731
nominal_capacity_kwh: 63,
57345732
nominal_voltage: 50.0,
5735-
fuel_economy: 0.22,
5733+
fuel_economy_combined: 0.22,
57365734
fuel_economy_units: HPXML::UnitsKwhPerMile,
57375735
fraction_charged_home: 0.8,
57385736
usable_fraction: 0.8 } # Fraction of usable capacity to nominal capacity
@@ -5942,8 +5940,9 @@ def self.get_electric_vehicle_charging_annual_energy()
59425940

59435941
# Use detailed vehicle model defaults
59445942
vehicle_defaults = get_electric_vehicle_values
5943+
kwh_per_year = vehicle_defaults[:miles_per_year] * vehicle_defaults[:fuel_economy_combined] * vehicle_defaults[:fraction_charged_home] / (ev_charger_efficiency * ev_battery_efficiency)
59455944

5946-
return vehicle_defaults[:miles_per_year] * vehicle_defaults[:fuel_economy] * vehicle_defaults[:fraction_charged_home] / (ev_charger_efficiency * ev_battery_efficiency)
5945+
return kwh_per_year.round(1)
59475946
end
59485947

59495948
# Gets the default well pump annual energy use.

HPXMLtoOpenStudio/resources/hpxml.rb

Lines changed: 31 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -9376,7 +9376,7 @@ class Vehicle < BaseElement
93769376
:vehicle_type, # [String] VehicleType (HPXML::VehicleTypeXXX)
93779377
:miles_per_year, # [Double] MilesDrivenPerYear (miles)
93789378
:hours_per_week, # [Double] HoursDrivenPerWeek (hours)
9379-
:fuel_economy, # [Double] FuelEconomyCombined/Value
9379+
:fuel_economy_combined, # [Double] FuelEconomyCombined/Value
93809380
:fuel_economy_units, # [String] FuelEconomyCombined/Units
93819381
:fraction_charged_home, # [Double] VehicleType/BatteryElectricVehicle/FractionChargedLocation[Location="Home"]/Percentage (frac)
93829382
:ev_charger_idref, # [String] VehicleType/BatteryElectricVehicle/ConnectedCharger/@idref
@@ -9424,38 +9424,36 @@ def to_doc(building)
94249424
vehicle_type = XMLHelper.add_element(vehicle_type_element, @vehicle_type)
94259425

94269426
if [HPXML::VehicleTypeBEV, HPXML::VehicleTypePHEV, HPXML::VehicleTypeHybrid].include? @vehicle_type
9427-
# Battery
9428-
unless [@battery_type.nil?, @nominal_capacity_kwh.nil?, @nominal_capacity_ah.nil?, @usable_capacity_kwh.nil?, @usable_capacity_ah.nil?, @nominal_voltage.nil?, @lifetime_model.nil?].all?
9427+
if (not @battery_type.nil?) || (not @nominal_capacity_kwh.nil?) || (not @nominal_capacity_ah.nil?) || (not @usable_capacity_kwh.nil?) || (not @usable_capacity_ah.nil?) || (not @nominal_voltage.nil?) || (not @lifetime_model.nil?)
94299428
battery = XMLHelper.add_element(vehicle_type, 'Battery')
9429+
XMLHelper.add_element(battery, 'BatteryType', @battery_type, :string, @battery_type_isdefaulted) unless @battery_type.nil?
9430+
if not @nominal_capacity_kwh.nil?
9431+
nominal_capacity = XMLHelper.add_element(battery, 'NominalCapacity')
9432+
XMLHelper.add_element(nominal_capacity, 'Units', UnitsKwh, :string)
9433+
XMLHelper.add_element(nominal_capacity, 'Value', @nominal_capacity_kwh, :float, @nominal_capacity_kwh_isdefaulted)
9434+
end
9435+
if not @nominal_capacity_ah.nil?
9436+
nominal_capacity = XMLHelper.add_element(battery, 'NominalCapacity')
9437+
XMLHelper.add_element(nominal_capacity, 'Units', UnitsAh, :string)
9438+
XMLHelper.add_element(nominal_capacity, 'Value', @nominal_capacity_ah, :float, @nominal_capacity_ah_isdefaulted)
9439+
end
9440+
if not @usable_capacity_kwh.nil?
9441+
usable_capacity = XMLHelper.add_element(battery, 'UsableCapacity')
9442+
XMLHelper.add_element(usable_capacity, 'Units', UnitsKwh, :string)
9443+
XMLHelper.add_element(usable_capacity, 'Value', @usable_capacity_kwh, :float, @usable_capacity_kwh_isdefaulted)
9444+
end
9445+
if not @usable_capacity_ah.nil?
9446+
usable_capacity = XMLHelper.add_element(battery, 'UsableCapacity')
9447+
XMLHelper.add_element(usable_capacity, 'Units', UnitsAh, :string)
9448+
XMLHelper.add_element(usable_capacity, 'Value', @usable_capacity_ah, :float, @usable_capacity_ah_isdefaulted)
9449+
end
9450+
XMLHelper.add_element(battery, 'NominalVoltage', @nominal_voltage, :float, @nominal_voltage_isdefaulted) unless @nominal_voltage.nil?
9451+
XMLHelper.add_extension(battery, 'LifetimeModel', @lifetime_model, :string, @lifetime_model_isdefaulted) unless @lifetime_model.nil?
94309452
end
9431-
XMLHelper.add_element(battery, 'BatteryType', @battery_type, :string, @battery_type_isdefaulted) unless @battery_type.nil?
9432-
if not @nominal_capacity_kwh.nil?
9433-
nominal_capacity = XMLHelper.add_element(battery, 'NominalCapacity')
9434-
XMLHelper.add_element(nominal_capacity, 'Units', UnitsKwh, :string)
9435-
XMLHelper.add_element(nominal_capacity, 'Value', @nominal_capacity_kwh, :float, @nominal_capacity_kwh_isdefaulted)
9436-
end
9437-
if not @nominal_capacity_ah.nil?
9438-
nominal_capacity = XMLHelper.add_element(battery, 'NominalCapacity')
9439-
XMLHelper.add_element(nominal_capacity, 'Units', UnitsAh, :string)
9440-
XMLHelper.add_element(nominal_capacity, 'Value', @nominal_capacity_ah, :float, @nominal_capacity_ah_isdefaulted)
9441-
end
9442-
if not @usable_capacity_kwh.nil?
9443-
usable_capacity = XMLHelper.add_element(battery, 'UsableCapacity')
9444-
XMLHelper.add_element(usable_capacity, 'Units', UnitsKwh, :string)
9445-
XMLHelper.add_element(usable_capacity, 'Value', @usable_capacity_kwh, :float, @usable_capacity_kwh_isdefaulted)
9446-
end
9447-
if not @usable_capacity_ah.nil?
9448-
usable_capacity = XMLHelper.add_element(battery, 'UsableCapacity')
9449-
XMLHelper.add_element(usable_capacity, 'Units', UnitsAh, :string)
9450-
XMLHelper.add_element(usable_capacity, 'Value', @usable_capacity_ah, :float, @usable_capacity_ah_isdefaulted)
9451-
end
9452-
XMLHelper.add_element(battery, 'NominalVoltage', @nominal_voltage, :float, @nominal_voltage_isdefaulted) unless @nominal_voltage.nil?
9453-
XMLHelper.add_extension(battery, 'LifetimeModel', @lifetime_model, :string, @lifetime_model_isdefaulted) unless @lifetime_model.nil?
94549453
end
94559454

94569455
case @vehicle_type
94579456
when HPXML::VehicleTypeBEV
9458-
# Battery-Electric Vehicle
94599457
fraction_charged_location = XMLHelper.add_element(vehicle_type, 'FractionChargedLocation') unless @fraction_charged_home.nil?
94609458
XMLHelper.add_element(fraction_charged_location, 'Location', HPXML::ElectricVehicleChargingLocation, :string) unless @fraction_charged_home.nil?
94619459
XMLHelper.add_element(fraction_charged_location, 'Percentage', @fraction_charged_home, :float, @fraction_charged_home_isdefaulted) unless @fraction_charged_home.nil?
@@ -9468,12 +9466,13 @@ def to_doc(building)
94689466
XMLHelper.add_extension(vehicle_type, 'MonthlyScheduleMultipliers', @ev_monthly_multipliers, :string, @ev_monthly_multipliers_isdefaulted) unless @ev_monthly_multipliers.nil?
94699467
end
94709468

9471-
# Vehicle
94729469
XMLHelper.add_element(vehicle, 'MilesDrivenPerYear', @miles_per_year, :float, @miles_per_year_isdefaulted) unless @miles_per_year.nil?
94739470
XMLHelper.add_element(vehicle, 'HoursDrivenPerWeek', @hours_per_week, :float, @hours_per_week_isdefaulted) unless @hours_per_week.nil?
9474-
fuel_economy = XMLHelper.add_element(vehicle, 'FuelEconomyCombined') unless @fuel_economy_units.nil? && @fuel_economy.nil?
9475-
XMLHelper.add_element(fuel_economy, 'Units', @fuel_economy_units, :string, @fuel_economy_units_isdefaulted) unless @fuel_economy_units.nil?
9476-
XMLHelper.add_element(fuel_economy, 'Value', @fuel_economy, :float, @fuel_economy_isdefaulted) unless @fuel_economy.nil?
9471+
if (not @fuel_economy_units.nil?) && (not @fuel_economy_combined.nil?)
9472+
fuel_economy = XMLHelper.add_element(vehicle, 'FuelEconomyCombined')
9473+
XMLHelper.add_element(fuel_economy, 'Units', @fuel_economy_units, :string, @fuel_economy_units_isdefaulted)
9474+
XMLHelper.add_element(fuel_economy, 'Value', @fuel_economy_combined, :float, @fuel_economy_combined_isdefaulted)
9475+
end
94779476
end
94789477

94799478
# Populates the HPXML object(s) from the XML document.
@@ -9486,7 +9485,7 @@ def from_doc(vehicle)
94869485
@id = HPXML::get_id(vehicle)
94879486
@miles_per_year = XMLHelper.get_value(vehicle, 'MilesDrivenPeryear', :float)
94889487
@hours_per_week = XMLHelper.get_value(vehicle, 'HoursDrivenPerWeek', :float)
9489-
@fuel_economy = XMLHelper.get_value(vehicle, 'FuelEconomyCombined/Value', :float)
9488+
@fuel_economy_combined = XMLHelper.get_value(vehicle, 'FuelEconomyCombined/Value', :float)
94909489
@fuel_economy_units = XMLHelper.get_value(vehicle, 'FuelEconomyCombined/Units', :string)
94919490
@vehicle_type = XMLHelper.get_child_name(vehicle, 'VehicleType')
94929491
if @vehicle_type == HPXML::VehicleTypeBEV

HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2540,8 +2540,8 @@
25402540
<sch:assert role='ERROR' test='count(h:extension/h:MonthlyScheduleMultipliers) &lt;= 1'>Expected 0 or 1 element(s) for xpath: extension/MonthlyScheduleMultipliers</sch:assert>
25412541
<sch:assert role='ERROR' test='count(../../h:MilesDrivenPerYear) &lt;= 1'>Expected 0 or 1 element(s) for xpath: ../../MilesDrivenPerYear</sch:assert>
25422542
<sch:assert role='ERROR' test='count(../../h:HoursDrivenPerWeek) &lt;= 1'>Expected 0 or 1 element(s) for xpath: ../../HoursDrivenPerWeek</sch:assert>
2543-
<sch:assert role='ERROR' test='count(../../h:FuelEconomyCombined[h:Units="kWh/mile"]/h:Value) &lt;= 1'>Expected 0 or 1 element(s) for xpath: ../../FuelEconomyCombined[Units="kWh/mile"]/Value</sch:assert>
2544-
<sch:assert role='ERROR' test='../../h:FuelEconomyCombined[h:Units="kWh/mile"] or not(../../h:FuelEconomyCombined/h:Units)'>Expected ../../FuelEconomyCombined/Units to be "kWh/mile"</sch:assert>
2543+
<sch:assert role='ERROR' test='count(../../h:FuelEconomyCombined/h:Value) &lt;= 1'>Expected 0 or 1 element(s) for xpath: ../../FuelEconomyCombined/Value</sch:assert>
2544+
<sch:assert role='ERROR' test='../../h:FuelEconomyCombined[h:Units="kWh/mile" or h:Units="mile/kWh" or h:Units="mpge"] or not(../../h:FuelEconomyCombined/h:Units)'>Expected ../../FuelEconomyCombined/Units to be "kWh/mile" or "mile/kWh" or "mpge"</sch:assert>
25452545
<!-- Warnings -->
25462546
<sch:report role='WARN' test='count(../../../../../h:MiscLoads/h:PlugLoad[h:PlugLoadType[text()="electric vehicle charging"]]) &gt;= 1'>Electric vehicle charging was specified as both a PlugLoad and a Vehicle, the latter will be ignored.</sch:report>
25472547
<sch:report role='WARN' test='count(h:ConnectedCharger) = 0'>Electric vehicle specified with no charger provided; detailed EV charging will not be modeled.</sch:report>

0 commit comments

Comments
 (0)