Home Systems Guide · No. 6 · Theory guide, set v2 · draft 1
Solar & Battery Storage
How much array a roof admits once the fire code has taken its share, how orientation, string grouping and inverter size turn it into energy, what a kilowatt-hour is worth under California's net billing tariff by the path it takes, how a battery's energy and power limits shape backup, and which interconnection route and location the code leaves open.
Refer to the following guides for concepts:
- Electrical Panel Strategy (service load, the 120% busbar rule, service arrangements, working space, grounding)
- Framing (no cutting of truss members, roof dead load, braced wall panels for anchorage)
- HVAC, DHW & Ventilation (heat pump size and backup heat, hot water storage, the radiant slab)
- Soundproofing (exterior noise sources and the facade path)
- Windows & Exterior Doors (emergency escape and rescue openings)
- Lighting, Switching & Automation (load shedding and controls)
Applied to this house: House Project Guide, chapter 6
Read this first
- The fire code sets the array, and its ridge setback depends on the coverage it produces, so where a layout can straddle 33% the compliant maximum sits just under the threshold rather than at the largest layout the roof holds. Part 1
- On a low-pitch gable the two planes together behave almost like one horizontal array, so ridge orientation decides which plane to fill first and barely changes a two-plane total. Part 2
- Two differently lit groups in series on one tracker lose up to a third of their power, which makes independent trackers, not inverter size, the specification for a split array. Part 3
- Under net billing a kilowatt-hour is worth four to seven times more used or stored than exported, so self-consumption, not annual production, is what the array is valued on. Part 4
- Against direct use, a battery earns only when the peak-to-off-peak price ratio exceeds the inverse of its marginal efficiency: a wide margin in summer, and in winter a margin within the uncertainty of the inputs. Part 4
- Backup fails on power and on energy independently: one 11.5 kW unit cannot run two large loads at once at any state of charge. Part 5
- The busbar rule gates only one of three interconnection routes; under a power control system the bus rating sets the allowed setting instead of the source size. Part 6
- Where the battery may go is set by aggregate energy limits by location, and within those limits by heat, noise and working space. Part 7
| Decision | Depends on | Treated in |
|---|---|---|
| D1 Array extent: which planes, how many modules, in which orientation | Roof plan and pitch; ridge orientation; pathways and the coverage threshold; roofs below escape openings; structure and roof covering | Parts 1, 2, 7 |
| D2 Inverter architecture and string grouping | Planes and shading; tracker count and limits; coupling efficiency; rapid-shutdown method | Parts 3, 4, 8 |
| D3 Storage energy, and the job it is bought for | Evening load; tariff spread; marginal efficiency; competing thermal stores | Parts 4, 5 |
| D4 Backup scope: whole house, managed, or critical loads | Inverter continuous rating; the load stack; which loads can be shed; service arrangement | Part 5 |
| D5 Interconnection route | Busbar and main ratings; power control listing and acceptance; service arrangement and supply-side access | Part 6 |
| D6 Equipment location and mounting | Aggregate limits by location; separations; heat; fan noise; working space; anchorage | Part 7 |
| Part | Array | Inverter | Battery |
|---|---|---|---|
| 1 · Roof | Pathways, setbacks, module fit | — | — |
| 2 · Production | Orientation, tilt, yield | — | — |
| 3 · Strings and inverters | String length, grouping | Trackers, DC:AC ratio, clipping | — |
| 4 · Value | Self-consumption | Conversion losses | Arbitrage, break-even |
| 5 · Storage and backup | Recharge in an outage | Continuous rating | Energy, autonomy |
| 6 · Interconnection | — | Route, power control | Islanding equipment |
| 7 · Siting and structure | Attachment loads | Location | Location limits, heat, noise |
| 8 · Code and the utility | Rapid shutdown, permit | Disconnects, marking | Listing, fire code |
Table 1 maps the parts to the three components. Subsections that cover one component carry an Applies to tag. An Informs tag marks the subsections behind each decision above.
1 · Roof: what the fire code leaves for modules
Bottom line. The usable roof is a code result, not a geometric one: a pathway from eave to ridge and a clear band at the ridge take 14–21% of each plane, and with installer margins and whole-module rounding 36–39% of the plan carries no module.
Pathways and a ridge setback reserve fire-service access
ArrayInverterBattery
Informs D1
The 2025 CRC (R329.6, numbered R324.6 in the 2022 edition) keeps roofs workable for fire fighters. It requires at least two 36 in pathways from the lowest roof edge to the ridge on separate roof planes, one on the street or driveway side, and a 36 in pathway on or next to every plane that carries modules. At a horizontal ridge it requires a clear setback on both sides: 18 in where the array covers no more than 33% of the plan-view roof area, 36 in above that. With an NFPA 13D sprinkler system the thresholds become 66% and the same widths. Roofs of 2:12 or less are exempt. Modules may not sit on any roof below an emergency escape and rescue opening, and a 36 in pathway must reach the opening (Windows & Doors · Escape openings).
Figure 1 draws the reference gable: a 40 × 35 ft footprint (the spec's 1,400 sf ceiling) with 1.5 ft eaves and 1 ft rakes, 42 × 38 ft in plan, 1,596 sf. Each plane is 42 ft wide and 20.0 ft from eave to ridge along the slope. A 6 in margin at the eave and the far rake is installer practice for wind edge zones and access, not a code rule.
The ridge setback depends on the coverage it produces
ArrayInverterBattery
Informs D1
The setback is chosen by the coverage, and the coverage is a result of the setback. Table 2 fits a 430 W module class (1,762 × 1,134 mm, 20.4 sf in plan at 4:12) to one plane. At the 18 in setback, portrait fits 3 rows of 10, 30 modules, which cover 38% of the roof's plan area; that exceeds 33%, which requires the 36 in setback, which leaves room for only 2 rows, 20 modules. The code tests the layout as designed, so the compliant maximum is the largest layout that stays under 33%: 25 modules (510 sf of 527 allowed), 10.75 kW. Removing the 5 modules that cross the threshold avoids losing 10 (Figure 2).
Module orientation changes the result only in one branch. Landscape fits 4 rows of 6 at either setback, because four landscape rows (15.1 ft) fit inside both the 18.0 ft and the 16.5 ft depth budgets; three portrait rows need 17.5 ft and fit only the first. Arrays on both planes cover more than 33% together, so both take the 36 in setback; the two-plane maximum is 48 modules in landscape, 20.64 kW, covering 61% of the plan.
| Ridge setback | Orientation | Rows × columns | Modules | Plan coverage | Complies |
|---|---|---|---|---|---|
| 18 in | Portrait | 3 × 10 | 30 | 38% | No: over 33% |
| 18 in | Landscape | 4 × 6 | 24 | 31% | Yes |
| 36 in | Portrait | 2 × 10 | 20 | 26% | Yes |
| 36 in | Landscape | 4 × 6 | 24 | 31% | Yes |
Two sensitivities matter. The four-row landscape result clears its depth budget by 17 in, so it survives a 12 in eave margin (48 modules on two planes) but not a deeper margin or a larger module. A hip roof of the same footprint has trapezoidal long planes whose rows shorten toward the ridge and short triangular planes that hold few modules, so the same coverage arithmetic gives fewer modules.
A layout drawn to the 18 in setback and then filled is non-compliant if the filled layout passes 33%. The check is on the final module count in plan view, not on the setback assumed at the start.
2 · Production: orientation, tilt and the shape of the day
Bottom line. At a 4:12 pitch a plane facing east or west yields about 86% of a south plane and a north plane about 70%; the two planes of a gable together yield almost the same whichever way the ridge runs.
Annual yield is plane-of-array irradiance times a performance ratio
ArrayInverterBattery
Informs D1
E annual AC energy, kWh · P_DC array rating at standard test conditions, kW · H_POA annual irradiation on the plane, kWh/m² · PR performance ratio, 0.75–0.85
a kilowatt of modules delivers its plane's yearly sunshine in kWh/m², less temperature, soiling, wiring and inverter losses.
A clear-sky geometric model at 37.4° N, weighted by typical monthly clearness for a coastal climate zone 3–4 reference, gives 1,938 kWh/m² a year on a south plane at 18.4°; with a performance ratio of 0.82 that is about 1,600 kWh per kW. Absolute yields vary ±10% with local fog and haze; the ratios between orientations, which the arguments here rest on, vary by about ±0.03 against an hourly simulation. Figure 3 and Table 3 give the ratios by facing and tilt.
| Pitch | Tilt | South | East or west | North |
|---|---|---|---|---|
| Flat | 0.0° | 0.89 | 0.89 | 0.89 |
| 2:12 | 10.0° | 0.96 | 0.88 | 0.80 |
| 4:12 | 18.4° | 1.00 | 0.86 | 0.70 |
| 6:12 | 26.6° | 1.02 | 0.83 | 0.61 |
| 8:12 | 33.7° | 1.03 | 0.80 | 0.53 |
| 12:12 | 45.0° | 1.01 | 0.76 | 0.41 |
The two planes of a gable sum to a near-horizontal array
ArrayInverterBattery
Informs D1
i angle of incidence on each plane · β tilt · α_s solar altitude
for planes facing opposite ways at the same tilt, the azimuth terms cancel, leaving twice a horizontal surface scaled by the cosine of the tilt.
Opposite planes tilted at β see beam irradiance whose azimuth-dependent terms are equal and opposite, so whenever the sun is above both planes their sum is fixed by the sun's altitude alone. At 4:12 a plane is in its own shade only when the sun is below 18° behind it, near sunrise and sunset or at low winter sun. The result: a full two-plane array produces almost the same energy and the same daily shape whether the ridge runs east–west or north–south (Figure 4). With 10.32 kW on each plane, south plus north gives 28,000 kWh a year and east plus west 28,000 kWh, within 1%.
Ridge orientation still matters for a partial array. With one plane filled, the south plane yields 17,000 kWh and an east or west plane 15,000 kWh, 14% less. Adding the second plane, which also costs a module on the first, adds 11,000 kWh a year to a south plane and 13,000 kWh to an east or west plane, a marginal yield of 1,100–1,400 kWh per added kW against 1,600 for a south plane alone. These are statements on two axes: the two-plane array produces the most energy, and its second plane returns less per installed kilowatt than the first (Table 4).
Annual production by roof case
| Roof case | Modules | kW DC | Annual kWh | kWh per kW |
|---|---|---|---|---|
| One plane, south | 25 | 10.75 | 17,000 | 1,600 |
| One plane, east or west | 25 | 10.75 | 15,000 | 1,400 |
| Two planes, south and north | 48 | 20.64 | 28,000 | 1,400 |
| Two planes, east and west | 48 | 20.64 | 28,000 | 1,400 |
3 · Strings and inverters: grouping, voltage and clipping
Bottom line. A tracker imposes one operating point on everything wired to it, so modules in different light in one series string belong on different trackers; string length is bounded by cold-morning voltage, and the inverter's AC rating clips what the array produces above it.
Series mismatch on one tracker peaks at a third of the output
ArrayInverterBattery
Informs D2
two equal groups of modules in series on one tracker; current proportional to irradiance, voltage nearly constant
the tracker either runs both groups at the weak group's current or bypasses the weak group; it keeps the better of the two, and the shortfall is largest when one group sees half the light of the other.
A series string carries one current. With two groups at different irradiance, the maximum power point tracker can run the string at the weak group's current with both conducting, or at the strong group's current with the weak group bypassed by its diodes. The loss peaks at 33% when r = 0.5 (Figure 5). A south and a north plane at 4:12 pass through r = 0.5 on most days, at hours of high production; the loss never goes negative. On separate trackers it is zero. Two strings of equal length in parallel on one tracker are a different case: maximum-power voltage barely changes with irradiance, so a parallel east and west pair loses a few percent at most, typically from temperature differences.
Shade from a vent, a chimney or a neighbor's roof is the same problem inside one string. Module-level electronics (microinverters or optimizers) remove it by construction; string inverters remove it by allocation, one orientation and one shading pattern per tracker. The specification that matters for a split array is the count of independent trackers and their current limits.
String length is bounded by cold-morning voltage and the tracking window
ArrayInverterBattery
Informs D2
V_oc open-circuit voltage at 25 °C · β_Voc its temperature coefficient, about −0.25 to −0.30 %/°C · T_min extreme minimum design temperature, °C
a cold module at sunrise has its highest voltage, and the string's total must stay below what the inverter is rated for.
690.7(A) takes the module manufacturer's coefficient with the ASHRAE extreme annual mean minimum for the site; coastal California sites sit near −2 to 0 °C. For the reference module and a 550 V, 60–480 V inverter, the longest string is 13 modules and the practical shortest three (Figure 6). Currents are checked separately: the circuit current is 1.25 × I_sc (690.8(A)), and a tracker publishes both the array short-circuit current it accepts and the operating current above which it limits output.
String limits for the reference module
V_oc 39.0 V and −0.25 %/°C at −2 °C give 41.6 V per module, so 550 V ÷ 41.6 V admits 13 in series; cold V_mp of 35.1 V keeps 13 modules under the 480 V tracking ceiling. At a 65 °C cell V_mp falls to 28.6 V, so three modules (86 V) is the practical minimum above the 60 V floor. A 13.9 A I_sc gives a circuit current of 17.4 A; a 13.2 A I_mp on a 13 A tracker limits output by about 1.5% at peak, a performance loss rather than a code failure, while an array I_sc above the tracker's short-circuit rating is outside its listing.
Rapid shutdown decides where electronics sit on the roof
ArrayInverterBattery
Informs D2
690.12 requires conductors on a building to drop to safe levels within 30 seconds of initiation, so a fire fighter on the roof is not on energized DC. Outside the array boundary, 1 ft around the array, conductors fall to 30 V. Inside it, the 2023 NEC accepts a PV hazard control system listed to UL 3741, or controlled conductors at 80 V or less. A 13-module string runs about 541 V cold, so either route needs devices on the roof: module-level electronics (a microinverter or optimizer behind each module), or mid-circuit interrupters that split each string into segments, listed with the inverter as a hazard control system. Microinverters have no DC array to shut down; string inverters keep the conversion on the ground and add one device per few modules. The choice is where the roof electronics sit, not whether there are any.
A DC:AC ratio above one trades clipped peaks for fuller shoulders
ArrayInverterBattery
Informs D2
Arrays are rated at standard test conditions they rarely reach: at a 45 °C cell, with soiling and wiring losses, clear-sky noon output runs near 86% of nameplate after the inverter. Oversizing the array against the inverter's AC rating fills the morning and afternoon at the cost of clipping the noon peak. Figure 7 shows the clipped share of annual output by DC:AC ratio. A split array, whose two planes peak at different hours and whose sum is flatter, clips about half as much as the same array facing south.
The two-plane maximum, 20.6 kW on an 11.5 kW inverter, is a ratio of 1.79; it clips about 5% of annual output and exceeds the 20 kW DC input of a single 11.5 kW storage-inverter class unit. Either a second inverter or a smaller array follows from the equipment, not from the roof.
4 · Value: what a kilowatt-hour is worth by the path it takes
Bottom line. Under net billing an exported kilowatt-hour earns the utility's avoided cost, a few cents, while one used or stored displaces a retail time-of-use price; a battery is a device for moving energy across a price spread, and it earns only when the spread exceeds its losses.
Coupling decides how many conversions a stored kilowatt-hour makes
Solar reaches a load through a chain of conversions, each quoted against a different denominator (Figure 8). In a DC-coupled hybrid the array charges the battery on the DC side and one inverter serves the house: a class-typical unit quotes 97.5% from solar to the house and 89% from solar through the battery to the house. In an AC-coupled system the PV inverter converts to AC and the battery converts back and forth again; its battery round trip of about 88.5% comes on top of the PV inverter. The figure that governs a storage decision is the marginal one: the stored path against delivering the same energy now.
DC-coupled 0.89 ÷ 0.975 = 0.913 · AC-coupled: the battery's AC round trip, about 0.885
the share of a kilowatt-hour that survives being stored instead of used at once; the PV inverter's loss is common to both paths and cancels.
The same kilowatt-hour is worth four to seven times more used or stored than exported
Informs D3
The CPUC's net billing tariff (D.22-12-056, for applications from 15 April 2023) credits exports at hourly values from the Avoided Cost Calculator, locked for nine years from the interconnection year, and requires residential customers to take a time-of-use rate (E-ELEC for PG&E). The reference prices in Table 5 are PG&E's E-ELEC bundled rates from 1 March 2026; a customer of a community choice aggregator pays the same delivery charges with the aggregator's generation rate. Exports are taken at a blended midday credit of 6.0¢ plus the 0.88¢ adder for 2026 interconnections.
| Period | Hours | Summer (Jun–Sep) | Winter (Oct–May) |
|---|---|---|---|
| Off-peak | Midnight–3 p.m. | 33.4 | 28.5 |
| Partial peak | 3–4 p.m., 9 p.m.–midnight | 39.0 | 29.9 |
| Peak | 4–9 p.m. | 55.2 | 32.1 |
| Export credit, blended midday | — | 6.88 | 6.88 |
E-ELEC also carries a base services charge of about $0.79 a day from March 2026, which no generation offsets. Rates scale; the ratios carry the argument.
Applying the efficiencies, a DC kilowatt-hour is worth 6.7¢ exported, 32.5¢ used as it is generated and 49.1¢ stored and discharged into the summer peak (Figure 9). In winter the stored value falls to 28.5¢ against 27.8¢ used directly: storage beats immediate use by 16.6¢ in summer and 0.8¢ in winter. Against export it wins by 42¢ and 22¢. Non-bypassable charges apply to every imported kilowatt-hour under net billing and export credits cannot offset them, which raises the value of using solar on site above the retail comparison.
Storage earns when the price ratio exceeds the inverse of the marginal efficiency
ArrayInverterBattery
P prices of the hour the energy is used and the hour it was generated
moving a kilowatt-hour from midday to evening pays only if the evening price exceeds the midday price by more than the storage loss.
The break-even ratio is 1.096 for the DC-coupled class and 1.130 for the AC-coupled class (Figure 10). The reference summer ratio, 1.66, clears both widely; the winter ratio, 1.126, clears the DC-coupled case by 2.8% and sits within 0.3% of the AC-coupled break-even, inside the uncertainty of the efficiencies. Against export, the comparison whenever the array has surplus, both clear by a factor of four or more. A few points of round-trip loss from aging or a cold battery move the winter case across the line; the summer and export cases do not move.
Storage is sized against the evening load, not the daily total
ArrayInverterBattery
Informs D3
The quantity a battery displaces is the energy used in the peak window that could have come from a store, capped by the surplus available to fill it. Table 6 builds an all-electric reference demand of 16,000 kWh a year, 44 kWh a day. EV charging is scheduled off-peak by rate design and leaves the evening; with 30% of the rest in the 4–9 p.m. window, the addressable evening load is about 10 kWh a day, three quarters of one 13.5 kWh unit.
Reference all-electric demand build-up
| End use | Basis | kWh/yr | Share |
|---|---|---|---|
| Space heating | UA 790 Btu/h·°F × 24 × 2,500 HDD ÷ 3,412 ÷ COP 3.5 | 4,000 | 24% |
| Hot water | 60 gal/day at 120 °F from 58 °F, COP 3.0 | 1,100 | 7% |
| Space cooling | Typical, CZ 3–4 | 800 | 5% |
| Lighting, plug loads, ERV, dehumidifier | Typical for 2,300 sf | 5,500 | 34% |
| Induction cooking | Typical | 400 | 2% |
| Clothes drying, resistance | Typical | 700 | 4% |
| EV charging | 12,000 mi ÷ 3.5 mi/kWh × 1.10 | 3,800 | 23% |
| Total | 16,000 | 100% |
Rows rounded. Heating uses the HVAC guide's reference UA with U-0.27 windows and degree-days at a 65 °F base without a balance-point correction, an upper bound. Typical rows are illustrative.
V_alternative export (6.88¢ credited) when the array has surplus; direct use otherwise
each kilowatt-hour a day of evening load the battery covers earns the spread between its stored value and what the energy would otherwise have earned, every day of the season.
Each kilowatt-hour a day of evening load covered from stored surplus is worth about $105 a year against export at the reference prices, if the array has surplus to store every day of the year. In winter most arrays have little: a two-plane array's December output is roughly a third of its annual mean, close to the daytime load. Valued against export in summer and against direct use in winter, the figure is about $54 per kilowatt-hour a day, so the reference evening load gives about $550 rather than $1,100. Against direct use, the case where the array would otherwise have covered the load at once, the same kilowatt-hour earns $22 a year, almost all of it in summer. A second unit adds nothing to this line unless the evening load exceeds the first unit; its case is backup depth (Part 5).
A battery bought for bill savings is sized to the evening load; a battery bought for backup is sized to the outage load set. The two give opposite answers on whether a second unit pays.
A thermal store shifts its stored heat divided by the COP
Informs D3
Any load moved from evening into midday captures the same spread with no round-trip loss, but a thermal store shifts electricity at the heat pump's efficiency. Heating a 50 gal tank 20 °F above its setpoint at midday stores 2.4 kWh of heat, about 0.8 kWh of electricity at COP 3 (HVAC · Peak-hour draw). A 900 sf, 4 in heated slab stores 8,700 Btu per °F; a 3 °F swing is 7.6 kWh of heat, 2.2 kWh of electricity at COP 3.5, and only where the slab is insulated below and at its edge (Insulation · Heated slabs). Together they shift a few kilowatt-hours a day, a fraction of the evening load, and they cost nothing but control.
5 · Storage and backup: power, energy and scope
Bottom line. An islanded house runs out of power the instant demand exceeds the inverter's continuous rating and out of energy when the battery reaches its reserve; the first decides which loads may run, the second for how long.
Continuous rating decides which loads may run together
ArrayInverterBattery
Informs D4
The reference storage inverter delivers 11.5 kW continuously and starts motors up to 185 A locked rotor. Against the all-electric load stack in Electrical · Reference load stack, the charger alone equals it and the range nearly matches it; no two of the large loads in Figure 11 fit together. Whole-house backup on one unit energizes every circuit; it does not allow every load to run.
Three things close the gap: a second full unit, which doubles power and energy (a DC expansion pack adds energy only); automatic shedding of the charger, supplementary heat and dryer on loss of grid, which is a control architecture (Lighting · Load shedding); or occupants managing loads by hand. The first is equipment, the second controls, the third behavior.
Autonomy is usable energy divided by the mean load of the set kept on
ArrayInverterBattery
E_usable battery energy above its backup reserve, kWh · P_mean mean demand of the loads kept on, kW
hours of backup are stored energy over the average draw of whatever stays on.
With the full 13.5 kWh, no reserve kept and no solar input, the whole house without EV charging lasts about 9 h; essential loads alone last about 75 h (Figure 12). Heating dominates winter backup: at a mean December temperature difference of 20 °F the reference envelope's heat pump draws about 1.3 kW, which brings the essential set down to about 9 h, or 16 h with the setpoint lowered to halve it. With the array running, a two-plane array's December output of roughly a third of its annual daily mean recharges a unit on most days.
Backup scope is a choice between wiring, controls and behavior
ArrayInverterBattery
Informs D4
Table 7 compares the four scopes by how each handles the power limit.
| Scope | How it is built | Power limit handled by | Consequences |
|---|---|---|---|
| Whole house | Transfer device islands every circuit | Occupants | No circuit moves; load-side or PCS route |
| Whole house, managed | As above; large loads shed on loss of grid | Controls | Shed list and control wiring at rough-in |
| Critical loads panel | Chosen circuits on a backed-up panel | Wiring | Fixed autonomy; changes are alterations; second panel |
| Grid-tied, no islanding | Bill savings only | — | Simplest; no backup |
6 · Interconnection: three routes and what gates each
Bottom line. Article 705 offers three ways to connect a source to a dwelling service, and each is gated by something different: a busbar rating, a listed control, or physical access ahead of the service disconnect.
Three Article 705 routes connect a source to the service
ArrayInverterBattery
Informs D5
Load side, 705.12. The source breaker lands on a panel bus. Under the 120% rule the largest backfeed breaker is 1.2 × bus − main, with the breaker at the opposite end and labeled (Electrical · Busbar backfeed): a 200 A bus with a 200 A main admits 40 A, below the 60 A a 48 A inverter needs; a 225 A bus with a 200 A main admits 70 A. The rule applies to every bus between the source and the service.
Power control, 705.13. A power control system listed to UL 1741 (PCS) limits the current a source can push onto a bus or conductor to a configured value, and the code then sizes that bus to the setting rather than to the source's full output. A storage inverter with a PCS listing can be set to export no more than the bus can take, or to discharge only to the house. Sources outside the control still meet 705.12 on their own.
Supply side, 705.11. The source connects between the meter and the service disconnect, where no panel bus is involved; the conductors and their overcurrent protection are sized to the source under 705.11. The tap point must be reachable, which the service arrangement decides. A supply-side source runs in parallel with the grid; to back up the house, an islanding device has to sit between the utility and both the tap and the loads.
Feeder, 705.12(A). Where a meter-main disconnect feeds an interior panel, the source may connect to the feeder between them, sized under 705.12(A) rather than against a bus (Electrical · Service arrangements).
Table 8 sets the three routes side by side.
| Route | Gated by | Whole-house backup | Decided when |
|---|---|---|---|
| 705.12 load side | Bus and main ratings; breaker at the opposite end, labeled | Yes, with a transfer device | The panel is bought |
| 705.13 power control | UL 1741 PCS listing; the setting; building department acceptance; other sources still meet 705.12 | Yes | The inverter is chosen |
| 705.11 supply side | An accessible tap ahead of the service disconnect; conductor and overcurrent sizing | Only with separate islanding | The service arrangement is chosen |
Which route is open is set by equipment chosen in the Electrical guide: the bus and main ratings and the service arrangement, including a storage gateway ahead of the load panels. Under a PCS the bus rating still bounds the setting. Where a gateway or transfer device becomes the service equipment, the bonding moves to it and the existing panel becomes a subpanel (Electrical · Grounding and bonding).
Every source is marked at the service and has its own disconnect
Informs D5
705.10 requires a permanent plaque or directory at each service equipment location showing every power source on the premises and its disconnect. 705.20 requires a disconnecting means for each source; 706.15 requires one for the storage system that opens all its conductors and can be locked open. Replacing service equipment also brings the outdoor emergency disconnect of 230.85, which on a house with storage identifies where the other sources are isolated (Electrical · Provisions engaged).
7 · Siting and structure: the roof, the wall and the garage
Bottom line. Wind uplift, not weight, sizes roof attachments; the battery's location is limited by aggregate energy per location class and then by heat, noise and working space.
Uplift, not weight, sizes roof attachments
ArrayInverterBattery
The CRC (R329.4) requires the roof under an array to carry two load cases, dead load including the modules plus snow, and dead load without them plus roof live load or snow, and the array and its supports to resist the component and cladding wind loads of Table R301.2.1(1). Modules, rails and attachments weigh about 3.0 psf, a small addition to a tile roof's dead load (Framing · Area loads). Each attachment carries the loads on its tributary area, attachment spacing along the rail times the spacing between rails (Figure 14).
Net uplift on rooftop arrays near edges and corners runs 20–40 psf at the basic wind speeds of coastal California (ASCE 7 Chapter 29, typical); at 30 psf a 4 ft × 2.9 ft tributary area pulls 348 lb, and the screw has to develop it in the truss top chord rather than the sheathing. A fastener into a top chord is not a cut, but the truss manufacturer's limits on edge distance and spacing govern (Framing · No truss member is cut).
Expedited permit paths (the California Solar Permitting Guidebook, SolarAPP+) carry their own structural eligibility criteria for typical roofs; a design outside them, or a building department asking for analysis, needs the truss drawings and an engineer. The criteria are confirmed with the path used.
On a concrete tile roof the underlayment, not the tile, is the waterproofing. Tile hooks or flashed standoffs pass through it, and an array has to come off to replace it; felt underlayment of the 1985–2005 vintage is at or past its typical service life, which makes the roof and the array one decision.
Aggregate energy limits by location decide where storage may go
ArrayInverterBattery
Informs D6
The fire code (CFC 1207.11, carried into the 2025 CRC as R330, numbered R328 in 2022) caps an individual unit at 20 kWh, limits the total in each location class (Table 9) and on the property to 600 kWh; above the residential limits the full CFC 1207.1–1207.9 applies. Units are spaced 3 ft apart unless large-scale fire testing to UL 9540A supports closer spacing, which manufacturers of the 13.5 kWh class document. Storage is not permitted in sleeping rooms, closets opening into them or habitable space. In an attached garage the code adds protection where the unit is subject to vehicle damage, and a heat alarm interconnected with the smoke alarms where the garage stays at or below 100 °F (a heat detection system otherwise); the garage separation of R302.6, ½ in gypsum on the wall and ⅝ in Type X under habitable rooms above, is already required (Insulation · Garage boundary).
| Location | Aggregate, kWh | Conditions |
|---|---|---|
| Utility closets, basements, storage or utility spaces inside the dwelling | 40 | Finished or noncombustible walls and ceilings |
| Attached garage | 80 | Separation from the dwelling per R302.6; vehicle impact protection; interconnected heat alarm |
| On or within 3 ft of an exterior wall | 100 | 200 where the wall and eaves are noncombustible |
| Detached garage or accessory structure | 200 | 600 at 10 ft or more from property lines and the dwelling |
| Outdoors on the ground | 200 | 3 ft from property lines and the dwelling; 600 at 10 ft |
| Sleeping rooms, closets opening into them, habitable space | Not permitted | — |
Values from the 2022 CFC Supplement Table 1207.11.4 as summarized by San Francisco Fire Department guidance; 2025 values under Verify below.
The 2025 CRC moved solar and storage provisions to R329 and R330 and added markings for building-integrated systems. The aggregate limits, the door-and-window separation and the garage detection rule are confirmed against the adopted CFC 1207.11 and CRC R330 before a location is chosen.
Heat, noise and anchorage separate the permitted locations
ArrayInverterBattery
Informs D6
The 13.5 kWh class operates to 50 °C and derates above 40 °C (104 °F). An uninsulated garage on a slab follows outdoor temperature with a lag and rarely exceeds 40 °C in a mild climate; a south- or west-facing exterior wall in afternoon sun can put an enclosure 15–20 °C above ambient during the hours of full discharge. Cooling fans run under 50 dBA at 1 m typically and 62 dBA at maximum, which coincides with peak discharge: about 52 dBA at 10 ft in free field, and the path into a room is the nearest window rather than the wall the unit hangs on (Soundproofing · Facade composite). Earlier residential editions also kept exterior units 3 ft from doors and windows into the dwelling.
Where component anchorage design applies (ASCE 7 §13.1.4 exempts some components of 400 lb or less mounted within 4 ft of the floor), a 287 lb wall-mounted unit at ground level in Seismic Design Category D sees a lateral design force governed by the code's minimum, 0.3 · S_DS · I_p · W_p, about 86 lb at S_DS 1.0 and I_p 1.0. Four structural screws into studs or blocking carry it easily; drywall does not. Where the wall is a braced wall panel its sheathing and nailing stay intact (Framing · Existing braced panels). Equipment working space in front of the gateway and disconnects competes with the panel's own clear space on a garage wall (Electrical · Working space).
Table 10 compares the permitted locations.
| Location | Heat exposure | Noise path | Space and access |
|---|---|---|---|
| Attached garage wall | Low; lags outdoor air | Through the garage–house wall | Shares wall with panel, charger, car |
| Shaded exterior wall | Lowest outdoors | Nearest window | No interior space |
| Sunlit south or west wall | High at afternoon discharge | Nearest window | Often the free wall |
| Interior utility space | None | Inside the acoustic envelope | 40 kWh limit; floor area |
8 · Code, permits and the utility
Which codes apply
Four parts of Title 24 govern a residential system, all from 1 January 2026: the California Electrical Code (Part 3, the 2023 NEC) for Articles 690, 705 and 706; the California Residential Code (Part 2.5) for roof access, structure and storage location; the California Fire Code (Part 9) for PV (1205) and storage (1207); and the Energy Code (Part 6). AB 130 (2025) holds residential building standards at this cycle until 1 June 2031, which bars most new local amendments; it does not reach the utility's interconnection rules, the CPUC tariff, or the discretion the code itself gives the fire code official to waive pathways where rooftop operations will not be used.
The Energy Code requires PV and battery readiness on newly constructed dwellings (§150.1(c)14, §150.0(s)); it imposes neither on an alteration that adds no floor area, and an interior remodel cannot trade array size against envelope performance. Because no code requires the system, it remains eligible for the net billing export adder, which excludes systems required by the building code.
Figure 15 draws which provisions a project engages; Table 11 lists them.
| Section | Requirement | Why |
|---|---|---|
| CEC 690.7, 690.8 | Maximum system voltage at the coldest temperature; circuit current 1.25 × I_sc | Equipment and conductor ratings |
| CEC 690.12 | Rapid shutdown (Part 3); label at 690.12(D), formerly 690.56(C) | Fire fighters on the roof |
| CEC 705.10–705.20 | Source directory at the service; one of three connection routes; a disconnect for each source | Utility and fire service know every source |
| CEC 706.15 | Storage disconnect opening all conductors, lockable open | Isolation for service |
| CRC R329.4, R329.6 | Roof load cases and wind; pathways, ridge setbacks, escape openings | Roof load; fire access |
| CRC R330; CFC 1207.11 | Unit and aggregate limits by location, spacing, garage protection | Fire spread from batteries |
| Energy Code §150.1(c)14 | PV on new dwellings only | Not engaged by an interior alteration |
Permit, utility and covenants run as separate processes
The building department issues the electrical and building permits and inspects; the utility processes the Rule 21 interconnection application and grants permission to operate (PTO) after the building department's final. California requires cities and counties to offer automated online permitting for residential solar paired with storage (SB 379, 2022), on the standard path for a typical grid-tied system; a service change or a supply-side connection can move a project off it. The fire code official decides any waiver of pathways.
The tariff sets the system's size. Under net billing, estimated annual production may not exceed 150% of the most recent 12 months of usage; a customer whose usage has recently increased, or will, may use projected usage with an oversizing attestation, and the added load is expected within 12 months of PTO. For a house converting from gas, historic usage understates the all-electric load several times over: a 6,000 kWh history allows about 9,000 kWh of production against a reference all-electric demand of 16,000 kWh. The anticipated-load documentation (heat pump, water heater, range, charger) is what makes the larger system eligible; a 9,000 kWh history would allow 13,500 kWh, still short.
California's Solar Rights Act (Civil Code §714, and §4746 for common-interest developments) limits what a homeowners' association may require of a solar system to reasonable restrictions that do not significantly raise its cost or lower its performance, and sets a time for the association to act on an application. It does not exempt the system from the association's review.
The SB 379 scope (system size and storage limits for automated permits), the Civil Code §714 cost and performance thresholds, and the building department's reading of a power control setting are confirmed before a design depends on them. Federal tax treatment changed in 2025: the §25D credit for homeowner-owned systems ended for expenditures after 31 December 2025.
Where it goes wrong
- Array sized from gross roof area. Pathways, ridge setback, margins and whole modules leave over a third of the plan without modules, removed in specific dimensions (Part 1).
- The 33% threshold read as an input. A layout drawn to the 18 in setback and filled past 33% is non-compliant on every drawing that shows it (Part 1).
- Modules on a roof below an escape window. A porch, bay or garage roof under a bedroom window excludes modules there and needs a pathway to the window (Part 1).
- Two orientations in one series string. It presents as underperformance, not a fault; only a string-by-string comparison shows it (Part 3).
- A tracker's current limit read from the wrong line. Trackers publish both an operating current and a short-circuit limit, and some vary with the shutdown device used (Part 3; rapid shutdown).
- Round-trip efficiencies compared across denominators. A battery-only round trip and a solar-to-home-through-battery figure are not comparable; the winter case turns on the difference (Part 4).
- A thermal store counted in thermal kilowatt-hours. It shifts electricity at the heat pump's COP, about a third of its stored heat (Part 4).
- Whole-house backup assumed to run the whole house. One unit's continuous rating admits one large load at a time (Part 5).
- The busbar result taken as the interconnection answer, or a PCS assumed to cover sources it does not control (Part 6).
- A gateway installed without separating neutral and ground in the old panel, which the inspector checks when the bonding moves (Part 6).
- Attachments into sheathing or spaced for convenience. Uplift is developed in the truss top chord within the truss maker's fastening limits (Part 7).
- Interconnection applied for on historic gas-house usage, which caps the system near half the all-electric load unless anticipated load is documented (Part 8).
Reference
Glossary
- ACC, ACC Plus
- Avoided Cost Calculator: the CPUC model that sets hourly export values under net billing. ACC Plus is a temporary per-kWh adder for residential customers enrolling in the tariff's first five years.
- Array boundary
- 690.12: the region 1 ft from the array in all directions, inside and outside which different rapid-shutdown limits apply.
- DC:AC ratio
- Array DC rating at standard test conditions divided by the inverter's continuous AC rating.
- Clipping
- Energy the array could produce but the inverter cannot pass because DC power exceeds its AC rating.
- DC coupling, AC coupling
- Whether the battery charges on the array's DC side through a shared inverter, or on the house's AC side through its own inverter.
- Marginal efficiency
- Term of this guide: solar-through-battery-to-home efficiency divided by solar-to-home efficiency.
- MPPT
- Maximum power point tracker: the control that sets one operating voltage for everything connected to it.
- Net billing tariff (NBT)
- California's tariff for new interconnections since 15 April 2023; PG&E markets it as the Solar Billing Plan.
- PCS
- Power control system: a listed control that limits source current on a bus or conductor (705.13).
- Performance ratio
- Annual AC energy divided by what the array's STC rating would deliver from the plane-of-array irradiation.
- PTO
- Permission to operate: the utility's authorization to energize a generating facility.
- PVHCS
- Photovoltaic hazard control system listed to UL 3741, a route to rapid shutdown inside the array boundary.
- Specific yield
- Annual AC energy per kW of DC rating.
- STC
- Standard test conditions: 1,000 W/m², 25 °C cell.
Formula sheet
Array size and what it supports
Table 12 maps array size to production and to the share of the reference demand.
| Modules | kW DC | Plan area, sf | kWh/yr, all south | kWh/yr, split planes | Split, share of demand |
|---|---|---|---|---|---|
| 10 | 4.3 | 204 | 6,800 | 5,800 | 36% |
| 20 | 8.6 | 408 | 14,000 | 12,000 | 72% |
| 25 | 10.8 | 510 | 17,000 | 15,000 | 90% |
| 36 | 15.5 | 735 | 25,000 | 21,000 | 129% |
| 48 | 20.6 | 979 | 33,000 | 28,000 | 172% |
430 W modules at 4:12, 1,600 kWh/kW due south; demand 16,000 kWh. Rows above 25 modules need both planes or the 36 in setback.
Figure color legend
Red: deficient, or fails the stated criterionAmber: marginal or conditionalGreen: meets the criterionGray: existing or baselineTeal: neutral quantity, reference line or annotation; never a grade
In Figure 1 red marks area the code reserves for pathways and amber the ridge setback whose width is conditional on coverage. In Figure 13 amber marks the bus the load-side rule limits.
Code points and inputs to confirm
- 2025 CRC R329 and R330 text and numbering; CFC 1207.11 aggregate limits as adopted
- Fire code official's practice on pathway waivers and on hip and valley pathways
- 690.12 methods accepted inside the array boundary; the inverter's listed shutdown devices
- Building department acceptance of a 705.13 power control setting, and whether the setting is reviewed at plan check
- The ASHRAE extreme minimum temperature for the site under 690.7
- The utility's current export values, adder and sizing rules at the application date
- SB 379 automated-permit scope; Civil Code §714 thresholds
- Truss design drawings and the manufacturer's fastening limits; the site's design wind speed and S_DS
Sources
- NFPA 70, National Electrical Code (2023): 690.7, 690.8, 690.12, 705.10–705.20, 706.15; Solar Power World, 2023 code changes: rapid shutdown (2024) for the 690.12 changes and the move of the label to 690.12(D).
- 2025 California Residential Code, Chapter 3, R329 and R330, via GoCodeBook, the City of Grass Valley summary of 2025 CRC changes and ICC Digital Codes; pathway and setback text as in the 2021 IRC R324.
- 2022 California Fire Code Supplement, Table 1207.11.4, as summarized by San Francisco Fire Department, 5.12 Energy Storage Systems in R-3 Occupancies; City of Monte Sereno, Energy Storage Systems (2022 CRC R328).
- CPUC D.22-12-056; PG&E Electric Schedule NBT — sizing at 150% of the last 12 months, projected usage and the oversizing attestation, nine-year lock-in, ACC Plus values by enrollment year, exclusion of code-required systems, E-ELEC as the required rate, non-bypassable charges.
- PG&E E-ELEC prices effective 1 March 2026 and the base services charge, as reported by RateReliefCA and EnergySage (2026).
- Tesla, Powerwall 3 Datasheet (North America): 13.5 kWh, 11.5 kW, six trackers at 13 A I_mp and 15 A I_sc, 60–480 V tracking, 89% and 97.5% efficiencies, 287 lb, 40 °C derate, 50–62 dBA, UL 1741 PCS and UL 9540A. Used only as a class reference.
- ASHRAE clear-sky model coefficients (ASHRAE Handbook — Fundamentals, 1985 tables) for the irradiance model; monthly clearness illustrative.
- ASCE 7-22, Chapters 13 and 29 (component force minimum and exemptions; rooftop solar wind loads), typical values. The 4 psf / 50 lb deemed-adequate test in some tip sheets is a Washington amendment, not California text.
- Congressional Research Service and IRS guidance on the 2025 termination of the §25D credit.
- Companion guides: Electrical, Framing, HVAC, Soundproofing, Insulation, Windows & Doors, Plumbing, Lighting (set v2).
Set v2 draft 1, 2026-10-23: rewritten as a generic theory guide to spec set v2 from the v1 guide (archived). Roof geometry moved to the spec's reference footprint; CRC sections renumbered to the 2025 cycle (R329, R330); storage aggregate limits corrected to CFC 1207.11 (40/80/100/200 kWh); the v1 structural exemption (a Washington amendment) replaced by the R329.4 load cases; rapid shutdown treated in Part 3; series and parallel mismatch separated; winter storage value conditioned on surplus; tracker current limits updated to the current class datasheet; orientation factors, opposite-plane summation and clipping computed from one irradiance model; thermal stores counted in electric-equivalent kWh; tariff values checked against the 2026 schedule; house values moved to the House Project Guide. Values from one script. Draft 1a: Lighting links repointed to the v2 guide.