Your System Details

13.3 kW
Daily household usage
  • Low (10 kWh)
  • Standard (20 kWh)
  • High (30 kWh)
  • Very High (40 kWh)
15 kWh
$

Your Estimated Savings

0Solar generation
0Usable battery capacity
0Excess solar available
0Energy stored & used
Solar used directly (daytime)$0.00
Battery stored & used (night)$0.00
+ VPP bonus$0.00
Total daily savings$0.00
$0Annual savings
-Est. battery payback
Get A Free Quote Based On This

Estimate assumes 25% of electricity is used during the day and 75% at night, a flat rate of $0.40/kWh, and a flat $1.75/day Virtual Power Plant (VPP) bonus. Battery payback uses night-time battery savings plus the VPP bonus. Actual savings vary by household and location.

wala ID. Header/footer me bhi wahi ID hai. Popup published ho, Condition = Include > Entire Site, Triggers all OFF. */ var QUOTE_POPUP_ID = 423; /* ---------- helpers ---------- */ var $ = function (id) { return root.querySelector('#' + id); }; var solar = $('scSolar'), batt = $('scBatt'), cost = $('scCost'); var usage = 20; var current = {}; // abhi ki selection (popup form me bhejne ke liye) function money(n, d) { return '$' + n.toLocaleString('en-US', { minimumFractionDigits: d, maximumFractionDigits: d }); } function num(n, d) { return n.toLocaleString('en-US', { minimumFractionDigits: d, maximumFractionDigits: d }); } function buildTicks(el, values, unit) { el.innerHTML = ''; values.forEach(function (v, i) { var s = document.createElement('span'); s.textContent = v + (i === values.length - 1 ? ' ' + unit : ''); s.style.left = 'calc(10px + (100% - 20px) * ' + (i / (values.length - 1)) + ')'; el.appendChild(s); }); } function paint(input, fillEl, ticksEl) { var r = input.value / (input.max - input.min); fillEl.style.width = 'calc(10px + (100% - 20px) * ' + r + ')'; Array.prototype.forEach.call(ticksEl.children, function (s, i) { s.classList.toggle('on', i == input.value); }); } /* ---------- CALCULATION ---------- */ function calculate() { var kw = SOLAR_SIZES[solar.value]; var battKwh = BATT_SIZES[batt.value]; var price = parseFloat(cost.value) || 0; var gen = kw * SUN_HOURS; // solar generation / day var dayUse = usage * DAY_SHARE; // din ka use var nightUse = usage - dayUse; // raat ka use var direct = Math.min(gen, dayUse); // solar seedha ghar me use var excess = Math.max(gen - dayUse, 0); // bachi hui solar var usable = battKwh * BATT_USABLE; // usable battery capacity var stored = Math.min(usable, nightUse, excess); // battery se raat ko actual use var savDirect = direct * RATE; var savBatt = stored * RATE; var total = savDirect + savBatt + VPP_DAILY; var annual = total * 365; var battAnnual = (savBatt + VPP_DAILY) * 365; // sirf battery se hone wali saving var payback = battAnnual > 0 ? price / battAnnual : 0; $('scSolarVal').textContent = kw + ' kW'; $('scBattVal').textContent = battKwh + ' kWh'; solar.setAttribute('aria-valuetext', kw + ' kW'); batt.setAttribute('aria-valuetext', battKwh + ' kWh'); $('rGen').textContent = num(gen, 1) + ' kWh/day'; $('rUsable').textContent = num(usable, 1) + ' kWh'; $('rExcess').textContent = num(excess, 1) + ' kWh/day'; $('rStored').textContent = num(stored, 1) + ' kWh/day'; $('rDirect').textContent = money(savDirect, 2); $('rBatt').textContent = money(savBatt, 2); $('rVpp').textContent = money(VPP_DAILY, 2); $('rTotal').textContent = money(total, 2); $('rAnnual').textContent = money(Math.round(annual), 0); $('rPayback').textContent = payback > 0 ? num(payback, 2) + ' Years' : '-'; paint(solar, $('scSolarFill'), $('scSolarTicks')); paint(batt, $('scBattFill'), $('scBattTicks')); /* selection save (popup form + fallback link ke liye) */ current = { solar: kw, usage: usage, battery: battKwh, cost: price }; /* Fallback link: popup na khule to quote page par selection ke saath jayega */ var cta = $('scCta'); var base = (cta.getAttribute('data-base') || cta.getAttribute('href')).split('?')[0]; cta.setAttribute('data-base', base); cta.href = base + '?solar=' + kw + '&usage=' + usage + '&battery=' + battKwh + '&cost=' + price; } /* ---------- events ---------- */ buildTicks($('scSolarTicks'), SOLAR_SIZES, 'kW'); buildTicks($('scBattTicks'), BATT_SIZES, 'kWh'); solar.addEventListener('input', calculate); batt.addEventListener('input', function () { cost.value = BATT_PRICES[batt.value]; calculate(); }); cost.addEventListener('input', calculate); /* ---------- custom dropdown ---------- */ var sel = $('scSelect'), btn = $('scSelectBtn'), list = $('scOptions'); var opts = Array.prototype.slice.call(list.children), hl = 1; function setOpen(o) { sel.classList.toggle('is-open', o); btn.setAttribute('aria-expanded', o); if (o) { hl = opts.findIndex(function (li) { return li.getAttribute('aria-selected') === 'true'; }); mark(); } } function mark() { opts.forEach(function (li, i) { li.classList.toggle('is-hl', i === hl); }); } function choose(i) { opts.forEach(function (li, k) { li.setAttribute('aria-selected', k === i); }); usage = +opts[i].getAttribute('data-v'); $('scUsageText').textContent = opts[i].textContent; setOpen(false); btn.focus(); calculate(); } btn.addEventListener('click', function () { setOpen(!sel.classList.contains('is-open')); }); opts.forEach(function (li, i) { li.addEventListener('click', function () { choose(i); }); }); document.addEventListener('click', function (e) { if (!sel.contains(e.target)) setOpen(false); }); sel.addEventListener('keydown', function (e) { var open = sel.classList.contains('is-open'); if (e.key === 'Escape') { setOpen(false); return; } if (e.key === 'ArrowDown' || e.key === 'ArrowUp') { e.preventDefault(); if (!open) { setOpen(true); return; } hl = (hl + (e.key === 'ArrowDown' ? 1 : -1) + opts.length) % opts.length; mark(); } else if ((e.key === 'Enter' || e.key === ' ') && open) { e.preventDefault(); choose(hl); } }); /* ---------- POPUP BUTTON ---------- */ /* Popup ke form me agar in naamo ke fields hain (solar / usage / battery / cost), to selection apne aap fill ho jayegi. Field ID/name: form_fields[solar] ya form-field-solar. */ function fillPopupFields() { var modal = document.querySelector('.elementor-popup-modal'); if (!modal) return; Object.keys(current).forEach(function (key) { var f = modal.querySelector('[name="form_fields[' + key + ']"], #form-field-' + key); if (f) { f.value = current[key]; f.dispatchEvent(new Event('input', { bubbles: true })); f.dispatchEvent(new Event('change', { bubbles: true })); } }); } var cta = $('scCta'); cta.addEventListener('click', function (e) { var pf = window.elementorProFrontend; if (QUOTE_POPUP_ID && pf && pf.modules && pf.modules.popup && typeof pf.modules.popup.showPopup === 'function') { e.preventDefault(); pf.modules.popup.showPopup({ id: QUOTE_POPUP_ID }); setTimeout(fillPopupFields, 450); /* agar popup 700ms me nahi khula (galat ID / publish nahi), to quote page par bhej do */ setTimeout(function () { if (!document.querySelector('.elementor-popup-modal')) { window.location.href = cta.href; } }, 700); } /* Elementor Pro nahi mila: normal link (fallback page) chalega */ }); calculate(); })();
Scroll to Top

    Get an Obligation Free Quote

    Receive a Personalized proposal within 24 hours





    By filling this form you acknowledge that you have read the
    Privacy Policy,
    and you agree with them. Your data is protected by high-grade encryption.