body.sv-lang-fr .ast-primary-header-bar,body.sv-lang-fr #masthead,body.sv-lang-fr .main-header-bar,body.sv-lang-fr .ast-above-header-actual,body.sv-lang-fr .ast-below-header-actual,body.sv-lang-fr .ast-mobile-header-content,body.sv-lang-fr .ast-breadcrumbs-wrapper,body.sv-lang-fr .entry-header,body.sv-lang-fr .entry-title,body.sv-lang-fr .ast-archive-description{display:none!important} body.sv-lang-fr .svth-page{–c-navy:#0A2540;–c-deep:#071322;–c-orange:#F97316;–c-orange-dark:#EA580C;–c-blue:#38BDF8;–c-line:#E2E8F0;–c-soft:#F8FAFC;–c-ink:#102235;–c-muted:#5f7084;font-family:Manrope,Inter,system-ui,sans-serif;color:var(–c-ink);background:#fff} body.sv-lang-fr .svth-wrap{max-width:1240px;margin:0 auto;padding:0 40px} body.sv-lang-fr .svth-header{position:sticky;top:0;z-index:50;border-bottom:1px solid #e7eef6;background:rgba(255,255,255,.96);backdrop-filter:blur(14px)} body.sv-lang-fr .svth-nav{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:28px} body.sv-lang-fr .svth-logo{display:inline-flex;align-items:center;flex:0 0 auto;width:174px;height:42px;line-height:0} body.sv-lang-fr .svth-logo-img{width:174px;height:42px;object-fit:contain;object-position:left center} body.sv-lang-fr .svth-menu{display:flex;align-items:center;gap:26px;color:#203650;font-size:13px;font-weight:800} body.sv-lang-fr .svth-nav-item{position:relative} body.sv-lang-fr .svth-nav-link{display:inline-flex;min-height:76px;align-items:center;gap:7px;color:#203650;transition:color .16s;text-decoration:nonewhite-space:nowrap} body.sv-lang-fr .svth-nav-link:hover{color:var(–c-orange)} body.sv-lang-fr .svth-nav-link.is-active{color:var(–c-orange)} body.sv-lang-fr .svth-nav-arrow{width:13px;height:13px;transition:transform .16s} body.sv-lang-fr .svth-submenu{position:absolute;top:100%;left:-12px;z-index:55;display:grid;min-width:258px;gap:3px;padding:10px;border:1px solid #dbe5ef;border-radius:8px;background:#fff;box-shadow:0 18px 42px rgba(10,37,64,.16);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .16s,transform .16s,visibility .16s} body.sv-lang-fr .svth-nav-item:hover .svth-submenu,body.sv-lang-fr .svth-nav-item:focus-within .svth-submenu{opacity:1;visibility:visible;transform:translateY(0)} body.sv-lang-fr .svth-nav-item:hover .svth-nav-arrow,body.sv-lang-fr .svth-nav-item:focus-within .svth-nav-arrow{transform:rotate(180deg)} body.sv-lang-fr .svth-submenu a{display:block;padding:10px 12px;border-radius:6px;color:#0A2540;font-size:13px;line-height:1.24;white-space:nowrap;text-decoration:none} body.sv-lang-fr .svth-submenu a:hover{background:#f3f7fb;color:var(–c-orange)} body.sv-lang-fr .svth-top-quote{display:inline-flex;min-height:45px;align-items:center;justify-content:center;padding:0 20px;border-radius:6px;background:var(–c-orange);color:#fff;font-size:13px;font-weight:900;text-decoration:none;box-shadow:0 14px 26px rgba(249,115,22,.28)} body.sv-lang-fr .svth-hero{background:linear-gradient(135deg,#071322 0%,#0A2540 60%,#1A365D 100%);color:#fff;padding:72px 0 64px} body.sv-lang-fr .svth-breadcrumb{margin:0 0 16px;color:#c8d3df;font-size:13px} body.sv-lang-fr .svth-breadcrumb a{color:var(–c-orange);text-decoration:none} body.sv-lang-fr .svth-kicker{display:inline-block;margin:0 0 14px;padding:5px 12px;border-radius:999px;background:rgba(249,115,22,.2);color:#FFB37A;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase} body.sv-lang-fr .svth-hero h1{margin:0 0 16px;font-size:clamp(34px,4.8vw,54px);font-weight:900;line-height:1.08;letter-spacing:-.02em;color:#fff;max-width:880px} body.sv-lang-fr .svth-hero p{margin:0;max-width:760px;color:#c8d3df;font-size:17px;line-height:1.65} body.sv-lang-fr .svth-section{padding:72px 0;border-top:1px solid var(–c-line)} body.sv-lang-fr .svth-section-soft{background:var(–c-soft)} body.sv-lang-fr .svth-section-head{max-width:820px;margin:0 auto 40px;text-align:center} body.sv-lang-fr .svth-section-head .svth-kicker{color:var(–c-orange);background:rgba(249,115,22,.12)} body.sv-lang-fr .svth-section-head h2{margin:12px 0 14px;font-size:clamp(26px,3vw,36px);font-weight:900;color:var(–c-navy);letter-spacing:-.02em} body.sv-lang-fr .svth-section-head p{margin:0;color:var(–c-muted);font-size:15.5px;line-height:1.6} body.sv-lang-fr .svth-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1240px;margin:0 auto} body.sv-lang-fr .svth-tool-card{position:relative;display:flex;flex-direction:column;padding:32px;border:1px solid var(–c-line);border-radius:14px;background:#fff;box-shadow:0 18px 44px rgba(10,37,64,.06);transition:transform .18s,box-shadow .18s} body.sv-lang-fr .svth-tool-card.is-active{border:2px solid var(–c-orange);box-shadow:0 22px 56px rgba(249,115,22,.18)} body.sv-lang-fr .svth-tool-card.is-soon{background:var(–c-soft);opacity:.88} body.sv-lang-fr .svth-tool-card.is-active:hover{transform:translateY(-4px);box-shadow:0 28px 64px rgba(249,115,22,.24)} body.sv-lang-fr .svth-tool-badge{position:absolute;top:14px;right:14px;padding:5px 12px;border-radius:999px;font-size:10.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase} body.sv-lang-fr .svth-tool-badge.live{background:var(–c-orange);color:#fff} body.sv-lang-fr .svth-tool-badge.soon{background:rgba(56,189,248,.14);color:#0369A1} body.sv-lang-fr .svth-tool-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;margin:0 0 18px;border-radius:14px;background:rgba(249,115,22,.12);color:var(–c-orange);font-size:30px;font-weight:900} body.sv-lang-fr .svth-tool-card.is-soon .svth-tool-icon{background:rgba(56,189,248,.12);color:#0369A1} body.sv-lang-fr .svth-tool-card h3{margin:0 0 10px;font-size:21px;font-weight:900;line-height:1.22;color:var(–c-navy)} body.sv-lang-fr .svth-tool-card p{margin:0 0 22px;color:var(–c-muted);font-size:14px;line-height:1.6} body.sv-lang-fr .svth-tool-card ul{display:grid;gap:6px;margin:0 0 24px;padding:0;list-style:none;color:var(–c-ink);font-size:13.5px;line-height:1.5} body.sv-lang-fr .svth-tool-card li:before{content:””;display:inline-block;width:5px;height:5px;margin-right:9px;border-radius:50%;background:var(–c-orange);vertical-align:middle} body.sv-lang-fr .svth-tool-card.is-soon li:before{background:#94a3b8} body.sv-lang-fr .svth-tool-cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:8px;background:var(–c-orange);color:#fff;font-size:14px;font-weight:900;text-decoration:none;box-shadow:0 12px 28px rgba(249,115,22,.3);transition:background .15s} body.sv-lang-fr .svth-tool-cta:hover{background:var(–c-orange-dark)} body.sv-lang-fr .svth-tool-cta.is-disabled{background:#cbd5e1;cursor:not-allowed;box-shadow:none;pointer-events:none} body.sv-lang-fr .svth-why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1100px;margin:0 auto} body.sv-lang-fr .svth-why-card{padding:28px;border:1px solid var(–c-line);border-radius:10px;background:#fff} body.sv-lang-fr .svth-why-card .svth-why-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin:0 0 14px;border-radius:10px;background:rgba(56,189,248,.12);color:#0369A1;font-size:22px} body.sv-lang-fr .svth-why-card h3{margin:0 0 8px;font-size:17px;font-weight:900;color:var(–c-navy)} body.sv-lang-fr .svth-why-card p{margin:0;color:var(–c-muted);font-size:14px;line-height:1.6} body.sv-lang-fr .svth-disclaimer{max-width:900px;margin:36px auto 0;padding:22px 26px;border:1px solid rgba(220,38,38,.25);border-radius:10px;background:rgba(220,38,38,.04);color:#4B1D1D;font-size:13.5px;line-height:1.65} body.sv-lang-fr .svth-disclaimer strong{color:#991B1B} body.sv-lang-fr .svth-footer{padding:48px 0 36px;background:var(–c-deep);color:#c8d3df;font-size:13.5px;line-height:1.65} body.sv-lang-fr .svth-footer a{color:var(–c-orange);text-decoration:none} body.sv-lang-fr .svth-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;margin:0 0 24px} body.sv-lang-fr .svth-footer-grid h5{margin:0 0 14px;color:#fff;font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase} body.sv-lang-fr .svth-footer-grid a{display:block;margin:0 0 6px} @media(max-width:1024px){body.sv-lang-fr .svth-menu{display:none!important}} @media(max-width:900px){body.sv-lang-fr .svth-tools-grid,body.sv-lang-fr .svth-why-grid,body.sv-lang-fr .svth-footer-grid{grid-template-columns:1fr;gap:18px}body.sv-lang-fr .svth-wrap{padding:0 22px}}
/* ===== SAVOLTURE BATTERY CALCULATOR ===== */ .svcalc-wrap *{box-sizing:border-box;margin:0;padding:0} .svcalc-wrap{font-family:-apple-system,BlinkMacSystemFont,’Segoe UI’,sans-serif;color:#1e293b;max-width:960px;margin:0 auto;padding:24px 16px} .svcalc-hero{text-align:center;padding:40px 24px 32px;background:linear-gradient(135deg,#fff7ed,#f0f9ff);border-radius:16px;margin-bottom:32px;border:1px solid #fed7aa} .svcalc-hero h1{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;color:#1e293b;margin-bottom:10px} .svcalc-hero p{color:#64748b;font-size:1rem;max-width:600px;margin:0 auto} /* Steps */ .svcalc-steps{display:flex;gap:8px;margin-bottom:32px;flex-wrap:wrap} .svcalc-step-btn{flex:1;min-width:120px;padding:12px 8px;border:2px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;font-size:.9rem;font-weight:600;color:#94a3b8;transition:.2s;text-align:center} .svcalc-step-btn.active{border-color:#f97316;background:#fff7ed;color:#f97316} .svcalc-step-btn.done{border-color:#22c55e;background:#f0fdf4;color:#16a34a} .svcalc-step-num{display:block;font-size:1.4rem;font-weight:800;margin-bottom:2px} /* Panels */ .svcalc-panel{display:none;animation:fadeIn .3s ease} .svcalc-panel.active{display:block} @keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}} .svcalc-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:24px;margin-bottom:20px;box-shadow:0 1px 4px rgba(0,0,0,.05)} .svcalc-card h2{font-size:1.2rem;font-weight:700;color:#1e293b;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid #f97316;display:flex;align-items:center;gap:8px} /* Step 1 – Location */ .svcalc-state-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px} .svcalc-field{flex:1;min-width:200px} .svcalc-field label{display:block;font-size:.85rem;font-weight:600;color:#374151;margin-bottom:6px} .svcalc-field select,.svcalc-field input{width:100%;padding:10px 12px;border:1.5px solid #d1d5db;border-radius:8px;font-size:.95rem;color:#1e293b;background:#fff;outline:none;transition:.2s} .svcalc-field select:focus,.svcalc-field input:focus{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.1)} .svcalc-sun-display{background:#fff7ed;border:1.5px solid #fed7aa;border-radius:10px;padding:14px 18px;display:flex;align-items:center;gap:12px;margin-top:4px} .svcalc-sun-icon{font-size:2rem} .svcalc-sun-label{font-size:.8rem;color:#92400e;font-weight:600} .svcalc-sun-val{font-size:1.5rem;font-weight:800;color:#f97316} .svcalc-autonomy-row{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap} .svcalc-autonomy-btn{flex:1;min-width:80px;padding:10px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:.9rem;font-weight:600;color:#64748b;transition:.2s;text-align:center} .svcalc-autonomy-btn.active{border-color:#f97316;background:#fff7ed;color:#f97316} /* Step 2 – Appliances */ .svcalc-cat-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px} .svcalc-cat-tab{padding:6px 12px;border:1.5px solid #e2e8f0;border-radius:20px;background:#fff;cursor:pointer;font-size:.8rem;font-weight:600;color:#64748b;transition:.2s;white-space:nowrap} .svcalc-cat-tab.active{border-color:#f97316;background:#f97316;color:#fff} .svcalc-app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-bottom:16px} .svcalc-app-card{border:1.5px solid #e2e8f0;border-radius:10px;padding:12px 14px;background:#f8fafc;display:flex;align-items:center;gap:10px;transition:.15s} .svcalc-app-card:hover{border-color:#f97316;background:#fff7ed} .svcalc-app-card.added{border-color:#22c55e;background:#f0fdf4} .svcalc-app-name{flex:1;font-size:.88rem;font-weight:600;color:#1e293b} .svcalc-app-watts{font-size:.78rem;color:#64748b;margin-top:2px} .svcalc-add-btn{padding:5px 10px;border:none;border-radius:6px;background:#f97316;color:#fff;font-size:.8rem;font-weight:700;cursor:pointer;transition:.15s;white-space:nowrap} .svcalc-add-btn:hover{background:#ea580c} .svcalc-add-btn.added{background:#22c55e} /* Load table */ .svcalc-table-wrap{overflow-x:auto;margin-bottom:12px} table.svcalc-tbl{width:100%;border-collapse:collapse;font-size:.88rem} .svcalc-tbl th{background:#f1f5f9;padding:10px 8px;text-align:left;font-weight:700;color:#374151;border-bottom:2px solid #e2e8f0;white-space:nowrap} .svcalc-tbl td{padding:8px 6px;border-bottom:1px solid #f1f5f9;vertical-align:middle} .svcalc-tbl tr:hover td{background:#fffbf5} .svcalc-tbl input[type=number]{width:70px;padding:5px 8px;border:1.5px solid #d1d5db;border-radius:6px;font-size:.85rem;text-align:center} .svcalc-tbl input[type=number]:focus{border-color:#f97316;outline:none} .svcalc-wh-cell{font-weight:700;color:#f97316} .svcalc-del{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1rem;padding:2px 6px;border-radius:4px} .svcalc-del:hover{background:#fef2f2} .svcalc-totals-bar{display:flex;gap:16px;flex-wrap:wrap;background:#f8fafc;border-radius:10px;padding:14px 18px;border:1px solid #e2e8f0} .svcalc-total-item{text-align:center} .svcalc-total-label{font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.03em} .svcalc-total-val{font-size:1.4rem;font-weight:800;color:#1e293b;margin-top:2px} .svcalc-total-val.orange{color:#f97316} .svcalc-custom-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-top:12px} .svcalc-custom-row input{padding:8px 10px;border:1.5px solid #d1d5db;border-radius:8px;font-size:.9rem} .svcalc-custom-row input:focus{border-color:#f97316;outline:none} /* Step 3 – Results */ .svcalc-result-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px} .svcalc-result-box{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:18px;text-align:center} .svcalc-result-box.highlight{border-color:#f97316;background:#fff7ed} .svcalc-result-box .label{font-size:.78rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px} .svcalc-result-box .val{font-size:1.8rem;font-weight:800;color:#1e293b} .svcalc-result-box .val.orange{color:#f97316} .svcalc-result-box .unit{font-size:.85rem;color:#94a3b8;margin-top:2px} /* Product recommendations */ .svcalc-rec-title{font-size:1rem;font-weight:700;color:#1e293b;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid #e2e8f0} .svcalc-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:8px} .svcalc-product{border:2px solid #e2e8f0;border-radius:12px;padding:18px;background:#fff;text-align:center;transition:.2s;position:relative} .svcalc-product.best{border-color:#f97316;background:#fff7ed} .svcalc-product .best-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:#f97316;color:#fff;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap} .svcalc-product h4{font-size:.95rem;font-weight:700;color:#1e293b;margin-bottom:4px} .svcalc-product .kwh{font-size:1.4rem;font-weight:800;color:#f97316;margin:8px 0 4px} .svcalc-product .units-needed{font-size:.85rem;color:#374151;margin-bottom:12px} .svcalc-product a{display:inline-block;padding:8px 16px;background:#f97316;color:#fff;border-radius:8px;font-size:.85rem;font-weight:700;text-decoration:none;transition:.15s} .svcalc-product a:hover{background:#ea580c} .svcalc-disclaimer{font-size:.78rem;color:#94a3b8;line-height:1.6;margin-top:16px;padding:12px 16px;background:#f8fafc;border-radius:8px;border-left:3px solid #e2e8f0} /* Buttons */ .svcalc-btn{padding:12px 28px;border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;transition:.2s} .svcalc-btn-primary{background:#f97316;color:#fff} .svcalc-btn-primary:hover{background:#ea580c;transform:translateY(-1px)} .svcalc-btn-ghost{background:#f1f5f9;color:#374151;margin-right:10px} .svcalc-btn-ghost:hover{background:#e2e8f0} .svcalc-nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid #f1f5f9} /* Mobile */ @media(max-width:600px){ .svcalc-app-grid{grid-template-columns:1fr} .svcalc-result-summary{grid-template-columns:1fr 1fr} .svcalc-products{grid-template-columns:1fr} } /* sv-mobile-svth-v1 */ @media (max-width:900px){ .svth-tools-grid{grid-template-columns:1fr!important;gap:18px!important} .svth-why-grid{grid-template-columns:1fr!important;gap:18px!important} .svth-section{padding:48px 0!important} .svth-section h2{font-size:27px!important} } @media (max-width:480px){ .svth-section{padding:36px 0!important} }

⚡ 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

🔋 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.
Obtenez un devis gratuit →
/* 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 += ‘
‘ + badge + ‘

‘ + esc(o.p.name) + ‘

‘ + ‘
‘ + o.total.toFixed(1) + ‘ kWh
‘ + ‘
‘ + o.units + (o.units > 1 ? ‘ units’ : ‘ unit’) + ‘ needed
‘ + ‘View Product →‘ + ‘
‘; }); c.innerHTML = html; } /* ── 初始化 ───────────────────────────────────────────────────────────────── */ function init() { goStep(1); showSun(); updateTotals(); } if (document.readyState === ‘loading’) { document.addEventListener(‘DOMContentLoaded’, init); } else { init(); } })(); {“@context”:”https://schema.org”,”@graph”:[{“@type”:”WebApplication”,”@id”:”https://savolture.com/fr/tools/off-grid-battery-calculator/#webpage”,”url”:”https://savolture.com/fr/tools/off-grid-battery-calculator/”,”name”:”⚡ Calculateur de batterie hors réseau (2026) : outil de dimensionnement gratuit”,”description”:”⚡ Calculateur de batterie hors réseau (2026) : outil de dimensionnement gratuit : documentation technique et approvisionnement direct d’usine de batteries LiFePO4 pour installateurs et distributeurs.”,”inLanguage”:”fr”,”author”:{“@id”:”https://savolture.com/#organization”},”publisher”:{“@id”:”https://savolture.com/#organization”},”applicationCategory”:”UtilityApplication”,”operatingSystem”:”All”},{“@type”:”Organization”,”@id”:”https://savolture.com/#organization”,”name”:”Savolture”,”url”:”https://savolture.com/”,”inLanguage”:”fr”}]}
Scroll to Top
Get a Quote