-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Model EV Batteries #1533
base: master
Are you sure you want to change the base?
Model EV Batteries #1533
Conversation
…o ev_batteries # Conflicts: # BuildResidentialHPXML/measure.rb # HPXMLtoOpenStudio/resources/battery.rb # HPXMLtoOpenStudio/resources/hpxml_defaults.rb
… into ev_batteries
Yes, for now we plan to limit to 1 EV/unit. However, the current implementation does allow for one home battery and one EV battery and expects separate schedules for each. |
I assume that probably won't work, for the same reason that modeling two home batteries wasn't previously supported. But we can worry about that later. More of a heads up for now. |
This comment was marked as resolved.
This comment was marked as resolved.
…hour fractions, optional combined or split for schedule files.
…o utility bill calculations.
… into ev_batteries_reporting # Conflicts: # HPXMLtoOpenStudio/measure.xml
This comment was marked as resolved.
This comment was marked as resolved.
<ElectricVehicleChargers> | ||
<ElectricVehicleCharger> | ||
<SystemIdentifier id='EVCharger1'/> | ||
<Location>garage</Location> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed the location from garage to outside and saw no change in results. Should I have?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought maybe we could see minor HVAC differences when relaxing the is_ev
logic here https://github.com/NREL/OpenStudio-HPXML/blob/ev_batteries/HPXMLtoOpenStudio/resources/battery.rb#L98, but I don't see any changes. I am going to leave that line in case there are changes under some conditions, we could run the risk of including the discharge energy.
… into ev_batteries_reporting # Conflicts: # HPXMLtoOpenStudio/measure.xml
EV reporting measures
… into ev_batteries
========================= ===== | ||
|
||
These numbers reflect the number of hours during the heating/cooling season when the conditioned space temperature deviates more than 0.2 deg-C (0.36 deg-F) from the heating/cooling setpoint. | ||
The unmet heating and cooling numbers reflect the number of hours during the heating/cooling season when the conditioned space temperature deviates more than 0.2 deg-C (0.36 deg-F) from the heating/cooling setpoint. | ||
The unmet driving number represents the total time in which the charging schedule fails to meet the demand from the driving schedule. This includes periods when the discharge schedule exceeds zero while the EV battery's state of charge is at its minimum level. Unmet driving hours indicate unrealized discharging events, resulting in reduced charging energy. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm still a bit unclear on whether this is hours of unmet discharging or charging (or both). The first sentence says "represents the total time in which the charging schedule fails to meet the demand" but the second sentence says it "includes periods when the discharge schedule exceeds zero while the EV battery's state of charge is at its minimum level".
I also would prefer a clearer output name than "Driving". Ideally it would be "EV Charging", but like I said above, I'm not actually sure if that's what it is. "EV Driving" would also be fine.
<sch:assert role='ERROR' test='count(../../h:MilesDrivenPerYear) <= 1'>Expected 0 or 1 element(s) for xpath: ../../MilesDrivenPerYear</sch:assert> | ||
<sch:assert role='ERROR' test='count(../../h:HoursDrivenPerWeek) <= 1'>Expected 0 or 1 element(s) for xpath: ../../HoursDrivenPerWeek</sch:assert> | ||
<sch:assert role='ERROR' test='count(../../h:FuelEconomyCombined[h:Units="kWh/mile"]/h:Value) <= 1'>Expected 0 or 1 element(s) for xpath: ../../FuelEconomyCombined[Units="kWh/mile"]/Value</sch:assert> | ||
<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> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't love this. There's nothing wrong with a software tool creating an EV and using mile/kWh or mpge instead, that shouldn't cause an error. We want OS-HPXML to be as flexible as possible and not create undue burden on a downstream user. Ideally we would support any fuel economy units that can make sense for an EV.
Pull Request Description
Allows detailed modeling of EVs using the EnergyPlus battery model, whereas previous EV charging was limited to a simple plug load. This PR adds arguments to define EV battery parameters, EV charger parameters, driving behavior such as miles traveled, and detailed charging and discharging schedules. The E+ battery model was used so that bidirectional charging can be supported in the future, but this capability is not included in this PR.
Key aspects of this PR include:
Electricity: Electric Vehicle Charging (MBtu)
and writes a new "Unmet Hours" output typeDriving (hr)
(if specified)Companion HPXML PR: hpxmlwg/hpxml#403
Schedule generation PR: #1757
Checklist
PR Author: Check these when they're done. Not all may apply.
strikethroughand check any that do not apply.PR Reviewer: Verify each has been completed.
EPvalidator.xml
) has been updatedtasks.rb
)HPXMLtoOpenStudio/tests
and/orworkflow/tests/hpxml_translator_test.rb
)openstudio tasks.rb update_measures
has been run