# Battery sizing

A React block (a whole screen) in [Beamline](https://beamline.io/)'s [Manufacturing](https://beamline.io/components/apps/manufacturing) app. Live demo: https://beamline.io/components/battery-sizing

A home battery sized beside its solar. The model and how many with capacity, power and installed price; how it runs (kept full for an outage, storing spare solar for the evening, or carrying the home through peak prices) and the backup reserve with the kWh it keeps. A simulated day hour by hour: whether the home runs on solar, battery or grid as stacked bars, the solar made as a line and the peak-price hours as a band. How self-powered the home is and how much it still takes from the grid, the bill saved a month over solar alone, and hours of backup in an outage for essentials and the whole home. Kept full for outages it says it saves nothing; a reserve that starves the evening is said.

## Use it for

- Sizing and setting up home or business energy storage with its trade-offs in view.
- Any hour-by-hour simulation where a setting moves both savings and resilience.

## Not for

- The solar price and bill ([solar-quote](https://beamline.io/components/solar-quote)).
- Live monitoring of a running system.

## Anatomy

- setup: battery, how many, capacity and price; how it runs; reserve with its kWh; why it saves nothing or what the reserve costs
- results: self-powered with grid use; savings a month over solar alone; hours in an outage
- day: legend; peak band; stacked bars by source; solar line; hours

## States

- backup only
- reserve squeezes the evening
- no battery hours

## Keyboard

- Tab through the battery, count, mode and reserve; arrows move the reserve

## Props

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `models` (required) | `BatteryModel[]` | — |  |
| `day` (required) | `EnergyDay` | — |  |
| `defaultModel` | `string` | — |  |
| `defaultUnits` | `number` | — |  |
| `defaultMode` | `BatteryMode` | — |  |
| `defaultReserve` | `number` | — | Backup reserve, 0–100 (% of capacity kept for an outage). |
| `essentialsKw` | `number` | — | Average draw in kW of the essentials and of the whole home, for outage hours. |
| `wholeHomeKw` | `number` | — |  |
| `className` | `string` | — | Classes on the documented visual root; no override by default. |
| `style` | `CSSProperties` | — | Inline styles on the documented visual root; no overrides by default. |
| `ref` | `Ref<HTMLDivElement>` | — | Receives the documented native target or imperative handle; omitted by default. |

## Built from

- select
- [number-field](https://beamline.io/components/number-field)
- [radio-cards](https://beamline.io/components/radio-cards)
- slider

## Dependencies

`lucide-react`

## Import

```tsx
import { BatterySizing } from "@beamline/battery-sizing";
```

## Get it

Battery sizing is part of Beamline UI. Install the parts you need in your React app as compiled packages or editable source. [Get Beamline](https://beamline.io/checkout?pack=complete) · [Connect your agent](https://beamline.io/connect)

## More in Manufacturing

- [Shop floor](https://beamline.io/components/shop-floor): A workshop's shop floor at one workstation: each job is a card at its work centre with why it isn't ready said in words (parts short, or the previous…
- [Production plan](https://beamline.io/components/production-plan): A production plan by month: each product's starting stock, forecast demand, replenishment and ending stock, every ending rolling into the next month's…
- [Production and lots](https://beamline.io/components/production-lots): Stock made and stored, with every movement traceable. A batch of a recipe, read as a batch sheet: the recipe, batches (in halves) and day as one sentence…
- [Print scheduler](https://beamline.io/components/print-scheduler): A print shop's production schedule. The week by station: each station's day holds its runs, with a load bar and minutes used against the station's…
- [Plan readiness](https://beamline.io/components/plan-readiness): A solar plan on its way to a permit. The design checks (fire setback from the ridge, string voltage in the cold, roof load, eave and rake setbacks, the…
- [Design inputs](https://beamline.io/components/design-inputs): What a solar design is checked against, and what the home really uses. Code standards and site conditions (building, electrical and fire codes, wind…
- [Solar quote](https://beamline.io/components/solar-quote): A residential solar quote. The system's price at its rate per watt with adders, discounts and incentives each switched on or off: discounts come off one…
- [Roof layout](https://beamline.io/components/roof-layout): The roof of a solar design. The roof in plan with every face's panels drawn as they lie under its roof type's rules (projected from the slope), each…
- [Electrical design](https://beamline.io/components/electrical-design): The electrical side of a solar design. The existing service set up from a named way of connecting to it (a load-side breaker or a supply-side tap), the…
- [Field conditions](https://beamline.io/components/field-conditions): A farm's fields and what each one's conditions are. The fields as a searchable list (each with its outline, crop, area and the layer's value, or Not…
- [Grazing plan](https://beamline.io/components/grazing-plan): Mobs on a grazing rotation, on the farm's map: with a map base, its parcels are the paddocks, each filled by where it stands in the chosen mob's plan (on…
- [Run of show](https://beamline.io/components/run-of-show): One service or event plan's order, run more than once: sections and items with each occurrence's start time in its own column, each item's length dragged…
- [Sound library](https://beamline.io/components/sound-library): A library of sounds (or any media a person auditions before using): a search by words and #tags with facets as filters, a live "3 filters · 12 results"…
- [Tag manager](https://beamline.io/components/tag-manager): Tags for one or several items at once (sounds, photos, documents). Nested tag groups are edited in place (rename, new tag), and a folded group still says…

Part of [Beamline UI: polished, editable React components and complete screens for custom applications](https://beamline.io/). [Build your own style from any look; tokens, fonts, radii, motion; not only colours](https://beamline.io/docs/customize).
