hpxmlwg / hpxml

Home Performance XML
https://www.hpxmlonline.com
38 stars 18 forks source link

Electric Panels #420

Closed nmerket closed 3 months ago

nmerket commented 4 months ago

Fixes #396.

Needed for HOMES rebates. Keeping it very simple for now. There's a lot of good ideas below. I created a new issue #422 to add those in later.

HPXML_ElectricPanels

nmerket commented 4 months ago

We discussed having open breaker slots or some sense of breakers. I haven't tackled that yet.

Another option for sub panels is that I could make the panel a type and have it be a hierarchy instead of a reference. That would enforce the relationship a little more explicitly.

nmerket commented 4 months ago
nmerket commented 4 months ago

Recommendation from @chrisbalbach:

Look at how Revit represents these systems and pattern this after that.

lixiliu commented 4 months ago

Very timely! Is the idea to make the panel an object with attributes only or an object that can do accounting of equipment and area-based loads and breaker slot requirement?

Another consideration is multi-family structure. For whole-building simulation, we may want the unit's panel to be able to connect to the building's main panel. Is this schematic expandable like that?

I am not familiar with the HPXML schemas, hopefully they are relevant questions.

jmaguire1 commented 4 months ago

This is actually super helpful to support some work Lixi is scoping out for next year!

+1 on being able to have breaker slots. You can be limited by either not having the amperage or the # of breaker slots in terms of trying to electrify, so we want to be able to have both represented.

Similar to what Lixi said: do we want to report not just the panel amperage, but how much is currently in use? Ditto on breaker slots. That's what we'd want for figuring out how constrained you are when considering electrification. We could do that calculation based on the equipment in the home and NEC (electric code), but I think we'd want to store that in this element?

We could use manufacturer or model to work out if it's smart or not, rather than having a separate element for smart panels. I'm not opposed to that approach and it's one less element to worry about. I'm also not sure exactly what we'd change in OS-HPXML if you did select a smart panel? I think ideally that'd allow some loads to be shifted around, but that'd have to happen when schedules are generated I think? @rajeee probably has better thoughts about what we'd actually do with that information if we had it in E+.

This is maybe going too far, but: there are a lot of options like circuit splitters (for example this one) that people are looking at as ways to avoid a panel upgrade. The basic idea is it'd let you share a circuit between two devices that aren't likely to run at the same time, like say a dryer and EV, or multiple EVs. Do we want to be able to represent that here? Maybe could/should be an extension element if we need it?

rajeee commented 4 months ago

Happy to contribute.

Some of the features of smart panel that distinguishe it from regular panels are:

  1. Internet/App connected.
  2. Circuit level monitoring and manual control
  3. Automatic circuit control features (such as turning off EV charger circuit if the total load exceed a certain threshold), or scheduled circuit control
  4. Advanced energy management during outage (When Battery and Solar is connected, it can coordinate which circuits to power up based on battery SOC)
  5. Automatic "fault" detection (for example alert you of large and unexpected increase in load in a particular circuit - perhaps forgot to turn off the space heater)

Most of these functionalities are more in the modelling side rather than in schema side. However, I feel like it might be worth definining a separate circuit element that is a child to the panel element.

The circuit element would contain: ID: The circuit id slot_number: The slot number of the panel it is in parent: The panel breaker_capacity: The amperage of the breaker used for this circuit smart_control: True/False (If we want to model this feature)

And I am imagining, all the different loads in the house could point to a particular circuit id that they are connected to. This would allow us to not only calculate the panel total electricity, but also aggregate the consumption at circuit level. But, actually figuring this out (how many circuits and what breaker capacity for each, and which load is connected to what circuit) is definitely a challenge. But at least the schema would support that if someone wanted to do a detailed modelling like that.

lixiliu commented 4 months ago

Fixes #396.

Needed for HOMES rebates.

HPXMLBaseElements_ElectricPanel

@nmerket - A subpanel is wired to the main via a branch circuit, so this is consistent with your schematic. I would add:

Thanks for taking my feedback!