Skip to content
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

Load solar and storage from HPXML files #114

Open
jmaguire1 opened this issue Apr 5, 2024 · 0 comments
Open

Load solar and storage from HPXML files #114

jmaguire1 opened this issue Apr 5, 2024 · 0 comments
Assignees

Comments

@jmaguire1
Copy link
Collaborator

In BEopt (and ResStock), you can actually specify that a home has solar and storage. Right now we only allow setting solar and storage with python arguments, we ignore this part of the hpxml file and don't load the properties of a solar and storage system if it's specified. It'd be good to update this so it's a more automatic connection and if you specify solar or storage in BEopt, OCHRE will read those inputs and add a corresponding system.

Here's a simple example with and without solar:

Solar Example.zip

And here's the relevant bit in hpxml:

        <Photovoltaics>
          <PVSystem>
            <SystemIdentifier id='PVSystem'/>
            <IsSharedSystem dataSource='software'>false</IsSharedSystem>
            <Location dataSource='software'>roof</Location>
            <ModuleType>standard</ModuleType>
            <Tracking dataSource='software'>fixed</Tracking>
            <ArrayOrientation dataSource='software'>south</ArrayOrientation>
            <ArrayAzimuth>180</ArrayAzimuth>
            <ArrayTilt>26.57</ArrayTilt>
            <MaxPowerOutput>1000.0</MaxPowerOutput>
            <InverterEfficiency>0.96</InverterEfficiency>
            <SystemLossesFraction>0.14</SystemLossesFraction>
          </PVSystem>
        </Photovoltaics>

Here's an example with a battery:
Uploading Storage Example.zip…

And here's the relevant hpxml:

       <Batteries>
          <Battery>
            <SystemIdentifier id='Battery'/>
            <Location dataSource='software'>outside</Location>
            <BatteryType>Li-ion</BatteryType>
            <NominalCapacity>
              <Units>kWh</Units>
              <Value dataSource='software'>11.11</Value>
            </NominalCapacity>
            <UsableCapacity>
              <Units>kWh</Units>
              <Value>10.0</Value>
            </UsableCapacity>
            <RatedPowerOutput dataSource='software'>5555.0</RatedPowerOutput>
            <NominalVoltage dataSource='software'>50.0</NominalVoltage>
            <RoundTripEfficiency>0.925</RoundTripEfficiency>
          </Battery>
        </Batteries>

Future BEopt releases will allow for scheduling the battery, right now the default control is to minimize grid export (so the battery only matters if you have PV). I have a dev version of BEopt 3.1 (also using OS-HPXML 1.7) if we want to start exploring that here, or we could leave it for a future PR when that version releases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants