⚡ Calculateur de batterie hors réseau (2026) : outil de dimensionnement gratuit
Entrez votre emplacement et l’utilisation quotidienne de vos appareils pour trouver le système de batterie Savolture adapté à votre maison.
1Location & Autonomy
2Appliance Load
3System Recommendation
📍 Votre emplacement
— Choose State —
AlabamaAlaska
ArizonaArkansas
CaliforniaColorado
ConnecticutDelaware
FloridaGeorgia
HawaiiIdaho
IllinoisIndiana
IowaKansas
KentuckyLouisiana
MaineMaryland
MassachusettsMichigan
MinnesotaMississippi
MissouriMontana
NebraskaNevada
New HampshireNew Jersey
New MexicoNew York
North CarolinaNorth Dakota
OhioOklahoma
OregonPennsylvania
Rhode IslandSouth Carolina
South DakotaTennessee
TexasUtah
VermontVirginia
WashingtonWest Virginia
WisconsinWyoming
☀️
Average Peak Sun Hours / Day
— hrs
🔋 Jours d’autonomie de la batterie
Combien de jours votre batterie doit-elle alimenter votre maison sans recharge solaire ? (Jours couverts, pannes)
🏠 Sélectionnez les appareils électroménagers
📊 Votre tableau de chargement
Appareil électroménager
Qté
Watts
Heures/Jour
Wh/Jour
Ajoutez des appareils ci-dessus pour commencer
Peak Load
0 W
Daily Load
0 Wh
Monthly Load
0 kWh
📈 Votre résumé énergétique
Daily Load
0
Wh/day
Monthly Usage
0
kWh/month
Battery Needed
0
kWh capacity
Min. Solar Array
—
kW PV
Capacité de la batterie = (Charge quotidienne × 2 jours d’autonomie) ÷ 80 % DoD (LiFePO₄). Estimation solaire = Charge quotidienne ÷ Heures d’ensoleillement.
🔋 Recommended Savolture Systems
Avertissement : This calculator provides a general estimate only. Actual system sizing depends on inverter efficiency, temperature, cable losses, charge controller sizing, and local electrical codes. Always consult a licensed electrician or solar professional before purchasing. Results are not a quote or guarantee of system performance.
/* sv-calc-v4 */
(function(){
‘use strict’;
/* ── 数据 ────────────────────────────────────────────────────────────────── */
var APPLIANCES = {
“Cuisine”:[
{n:”Blender”,w:500},{n:”Can Opener”,w:150},{n:”Coffee Machine”,w:1000},
{n:”Dishwasher”,w:1350},{n:”Espresso Machine”,w:800},
{n:”Freezer (Upright 15 cu.ft)”,w:55,fixed:1080},
{n:”Freezer (Chest 15 cu.ft)”,w:45,fixed:1080},
{n:”Fridge (20 cu.ft)”,w:60,fixed:1411},
{n:”Fridge (16 cu.ft)”,w:50,fixed:1200},
{n:”Garbage Disposal”,w:450},{n:”Electric Kettle”,w:1200},{n:”Microwave”,w:1000},
{n:”Electric Oven”,w:1200},{n:”Toaster”,w:850},{n:”Toaster Oven”,w:1200},
{n:”Stand Mixer”,w:300}
],
“Heating & Cooling”:[
{n:”Box Fan”,w:200},{n:”Ceiling Fan”,w:120},
{n:”Central AC (24,000 BTU)”,w:3800},{n:”Central AC (10,000 BTU)”,w:3250},
{n:”Furnace Fan Blower”,w:800},{n:”Space Heater”,w:1500},
{n:”Tankless Water Heater”,w:1500},{n:”Water Heater (Electric)”,w:4500},
{n:”Window AC (10,000 BTU)”,w:900},{n:”Window AC (12,000 BTU)”,w:1200},
{n:”Well Pump (1/3 HP)”,w:750}
],
“Lavage”:[
{n:”Clothes Dryer (Electric)”,w:3000},{n:”Clothes Dryer (Gas)”,w:1800},
{n:”Clothes Washer”,w:800},{n:”Iron”,w:1200}
],
“Living Room”:[
{n:”Blu-ray / DVD Player”,w:15},{n:”Cable / Satellite Box”,w:35},
{n:”TV (LCD)”,w:150},{n:”TV (Plasma)”,w:200},{n:”Satellite Dish”,w:25},
{n:”Stereo Receiver”,w:450},{n:”Video Game Console”,w:150}
],
“Éclairage”:[
{n:”LED Bulb (40W equiv)”,w:10},{n:”LED Bulb (60W equiv)”,w:13},
{n:”LED Bulb (75W equiv)”,w:18},{n:”LED Bulb (100W equiv)”,w:23},
{n:”CFL (60W equiv)”,w:18},{n:”CFL (100W equiv)”,w:30},
{n:”Incandescent (60W)”,w:60},{n:”Incandescent (100W)”,w:100},
{n:”Halogen (40W)”,w:40}
],
“Office”:[
{n:”Desktop Computer”,w:200},{n:”Gaming PC”,w:500},{n:”Laptop”,w:60},
{n:”LCD Monitor”,w:30},{n:”Modem”,w:7},{n:”Printer”,w:100},
{n:”Router / WiFi”,w:7},{n:”Smartphone Charging”,w:6},{n:”Tablet Charging”,w:8}
],
“Tools”:[
{n:’Band Saw (14″)’,w:1100},{n:’Belt Sander (3″)’,w:1000},
{n:’Chain Saw (12″)’,w:1100},{n:’Circular Saw (7.25″)’,w:900},
{n:’Circular Saw (8.25″)’,w:1400},{n:’Disc Sander (9″)’,w:1200},
{n:’Drill (1/4″)’,w:250},{n:’Drill (1/2″)’,w:750},
{n:”Hedge Trimmer”,w:450},{n:”Weed Eater”,w:500}
],
“Miscellaneous”:[
{n:”Clock Radio”,w:7},{n:”Curling Iron”,w:150},{n:”Dehumidifier”,w:280},
{n:”Electric Shaver”,w:15},{n:”Electric Blanket”,w:200},{n:”Hair Dryer”,w:1500},
{n:”Humidifier”,w:200},{n:”Sewing Machine”,w:100},{n:”Vacuum”,w:1000}
]
};
var PRODUCTS = [
{name:”100Ah LiFePO₄”,kwh:4.8, url:”/products/100ah-lithium-battery/”},
{name:”200Ah LiFePO₄”,kwh:9.6, url:”/products/200ah-lithium-battery/”},
{name:”314Ah LiFePO₄”,kwh:15.1, url:”/products/314ah-lithium-battery/”},
{name:”UL9540 Home Battery”,kwh:14.34,url:”/products/ul9540-home-battery/”}
];
/* ── 状态 ─────────────────────────────────────────────────────────────────── */
var sunHours = 0;
var autonomy = 2;
var rows = [];
var currentCat = “Cuisine”;
var rowId = 0;
/* ── 工具函数 ─────────────────────────────────────────────────────────────── */
function id(x) { return document.getElementById(x); }
function qsa(s) { return document.querySelectorAll(s); }
function esc(s) { return String(s).replace(/&/g,’&’).replace(//g,’>’).replace(/”/g,’"’); }
/* ── Step 导航(.active 切换面板 + step tab)──────────────────────────────── */
function goStep(n) {
var i;
for (i = 1; i <= 3; i++) {
var panel = id('svcalc-panel-' + i);
if (panel) { panel.classList.toggle('active', i === n); }
var tab = id('svcalc-tab-' + i);
if (tab) {
tab.classList.remove('active', 'done');
if (i === n) { tab.classList.add('active'); }
else if (i 0) ? v : 0;
var manual = id(‘svcalc-sun-manual’);
if (manual) { manual.value = ”; }
showSun();
};
window.svcalcManualSun = function() {
var inp = id(‘svcalc-sun-manual’);
if (!inp) return;
var v = parseFloat(inp.value);
sunHours = 0;
if (v > 0) { if (v <= 24) { sunHours = v; } }
var sel = id('svcalc-state');
if (sel) { if (sunHours) { sel.value = ''; } }
showSun();
};
window.svcalcSetAutonomy = function(n, btn) {
autonomy = parseInt(n, 10);
qsa('.svcalc-autonomy-btn').forEach(function(b) { b.classList.remove('active'); });
if (btn) { btn.classList.add('active'); }
};
/* ── Step 2:分类标签(事件委托)────────────────────────────────────────── */
function buildCatTabs() {
var c = id('svcalc-cat-tabs');
if (!c) return;
var html = '';
Object.keys(APPLIANCES).forEach(function(cat) {
var active = cat === currentCat ? ' active' : '';
html += '‘;
});
c.innerHTML = html;
c.onclick = function(e) {
var btn = e.target.closest(‘.svcalc-cat-tab’);
if (!btn) return;
currentCat = btn.getAttribute(‘data-cat’);
buildCatTabs();
renderAppGrid();
};
}
/* ── Step 2:电器网格(事件委托,data-idx)──────────────────────────────── */
function renderAppGrid() {
var c = id(‘svcalc-app-grid’);
if (!c) return;
var list = APPLIANCES[currentCat] || [];
var html = ”;
list.forEach(function(app, i) {
html += ‘
‘
+ ‘
‘
+ ‘
‘ + esc(app.n) + ‘
‘
+ ‘
‘ + app.w + ‘ W
‘
+ ‘
‘
+ ‘‘
+ ‘
‘;
});
c.innerHTML = html;
c.onclick = function(e) {
var btn = e.target.closest(‘.svcalc-add-btn’);
if (!btn) return;
var app = (APPLIANCES[currentCat] || [])[parseInt(btn.getAttribute(‘data-idx’), 10)];
if (!app) return;
addAppliance(app);
btn.textContent = ‘✓ Added’;
btn.classList.add(‘added’);
setTimeout(function() { btn.textContent = ‘+ Add’; btn.classList.remove(‘added’); }, 900);
};
}
function addAppliance(app) {
var hrs = app.fixed ? parseFloat((app.fixed / app.w).toFixed(2)) : 4;
rows.push({ id: rowId++, name: app.n, watts: app.w, qty: 1, hrs: hrs });
renderTable();
updateTotals();
}
window.svcalcAddAppliance = addAppliance;
window.svcalcAddCustom = function() {
var nameEl = id(‘svcalc-custom-name’);
var wattEl = id(‘svcalc-custom-watts’);
if (!nameEl || !wattEl) return;
var name = nameEl.value.trim();
var watts = parseFloat(wattEl.value);
if (!name) { alert(‘Please enter an appliance name.’); return; }
if (!watts || watts <= 0) { alert('Please enter a valid wattage.'); return; }
rows.push({ id: rowId++, name: name, watts: watts, qty: 1, hrs: 4 });
nameEl.value = ''; wattEl.value = '';
renderTable();
updateTotals();
};
/* ── Step 2:已选电器表格(data-* + 事件委托)──────────────────────────── */
function renderTable() {
var tb = id('svcalc-tbody');
if (!tb) return;
if (rows.length === 0) {
tb.innerHTML = '
Add appliances above to get started
‘;
return;
}
var html = ”;
rows.forEach(function(r) {
var wh = Math.round(r.watts * r.qty * r.hrs);
/* 列序与线上 thead 一致:Appliance, Qty, Watts, Hrs/Day, Wh/Day, 删除 */
html += ‘
‘
+ ‘
‘ + esc(r.name) + ‘
‘
+ ‘
‘
+ ‘
‘
+ ‘
‘
+ ‘
‘ + wh + ‘
‘
+ ‘
‘
+ ‘
‘;
});
tb.innerHTML = html;
tb.onchange = function(e) {
var inp = e.target;
if (!inp || inp.tagName !== ‘INPUT’) return;
var rid = parseInt(inp.getAttribute(‘data-row-id’), 10);
var field = inp.getAttribute(‘data-field’);
var val = parseFloat(inp.value);
if (isNaN(val) || val <= 0) return;
var row = null, i;
for (i = 0; i 0 ? (wh / 1000 / sunHours) : null;
var elDaily = id(‘res-daily-wh’);
var elMon = id(‘res-monthly-kwh’);
var elBatt = id(‘res-battery-kwh’);
var elSolar = id(‘res-solar-kw’);
var elAuto = id(‘res-autonomy-label’);
if (elDaily) { elDaily.textContent = Math.round(wh).toLocaleString() + ‘ Wh’; }
if (elMon) { elMon.textContent = monthly.toFixed(1) + ‘ kWh’; }
if (elBatt) { elBatt.textContent = battKwh.toFixed(1) + ‘ kWh’; }
if (elSolar) { elSolar.textContent = solarKw ? solarKw.toFixed(2) + ‘ kW’ : ‘—’; }
if (elAuto) { elAuto.textContent = autonomy; }
renderProducts(battKwh);
}
function renderProducts(neededKwh) {
var c = id(‘svcalc-products’);
if (!c) return;
if (neededKwh <= 0) {
c.innerHTML = '
Add appliances in Step 2 to see recommendations.
‘;
return;
}
/* 每款产品算需要几组 + 总容量 + 超配量;超配最小者标 Best */
var calc = PRODUCTS.map(function(p) {
var units = Math.max(1, Math.ceil(neededKwh / p.kwh));
var total = units * p.kwh;
return { p: p, units: units, total: total, over: total – neededKwh };
});
var bestIdx = 0;
calc.forEach(function(o, i) { if (o.over < calc[bestIdx].over) { bestIdx = i; } });
var html = '';
calc.forEach(function(o, i) {
var best = i === bestIdx;
var badge = best ? 'Best Match‘ : ”;
html += ‘