OCHRE icon indicating copy to clipboard operation
OCHRE copied to clipboard

Load solar and storage from HPXML files

Open jmaguire1 opened this issue 1 year ago • 0 comments

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.

jmaguire1 avatar Apr 05 '24 22:04 jmaguire1