2000 W EcoFlow STREAM 5000 Balkonkraftwerk | Set mit Mikrowechselrichter und 4 x 500 W DAH bifacial Solarmodul ohne Halterung und 5 kWh Speicher

Sale price2.017,05 € Regular price2.374,05 €
Save 15%Sold out

Tax included. Shipping calculated at checkout

SKU: EF10-205020

Derzeit nicht verfügbar

Optional: Halterung & Zubehör direkt mitbestellen

1Halterung
2Zubehör
3Übersicht

Brauchst du eine Halterung?

Wähle eine Halterung oder fahre ohne Halterung mit dem Zubehör fort.

🔩Ja, Halterung benötigtEin oder mehrere Halterungssets auswählen
Nein, keine HalterungDirekt zum optionalen Zubehör
Für dieses Produkt ist aktuell keine passende Halterung hinterlegt.

Weiteres Zubehör

Optional: Wähle ein oder mehrere Zubehörprodukte aus.

EcoFlow Smart Meter BKW
Optional · Optionales Zubehör
Ecoflow Smart Meter
69,99 €99,00 €
-29 %

Deine Auswahl

Prüfe die Zusammenstellung und lege alles gemeinsam in den Warenkorb.

Konfiguration
Regulärer Gesamtpreis0,00 €
Dein Preis0,00 €
Gesamtsumme0,00 €
function initBkwPdpConfigurator(sectionRoot) { var root = sectionRoot || document.getElementById('bkw-pdp-template--28525878673783__bkw_bau_pdp_88mDzA'); if (!root || root.dataset.bkwInitialized === 'true') return; root.dataset.bkwInitialized = 'true'; var moduleCount = String(root.dataset.moduleCount || ''); var currency = "EUR"; var state = { step: 1, maxStep: 1, holderNeeded: null, holderQuantities: {}, accessories: [] }; var trigger = root.querySelector('[data-bkw-pdp-open]'); var panelOuter = root.querySelector('[data-bkw-pdp-panel]'); var panels = Array.prototype.slice.call(root.querySelectorAll('[data-panel]')); var indicators = Array.prototype.slice.call(root.querySelectorAll('[data-step-indicator]')); function money(cents) { return new Intl.NumberFormat('de-DE', { style: 'currency', currency: currency || 'EUR' }).format((Number(cents) || 0) / 100); } function setSelected(el, selected) { if (!el) return; el.classList.toggle('is-selected', selected); el.setAttribute('aria-pressed', selected ? 'true' : 'false'); } function readProduct(card) { return { type: card.dataset.productType, handle: card.dataset.productHandle, title: card.dataset.title, variantId: Number(card.dataset.variantId), price: Number(card.dataset.price) || 0, comparePrice: Number(card.dataset.comparePrice) || 0, available: card.dataset.available !== 'false', image: card.dataset.image || '', holderKind: card.dataset.holderKind || '', accessoryLabel: card.dataset.accessoryLabel || '' }; } // Hauptprodukt: liest die aktuell gewählte Variante aus dem nativen Produktformular function getMainProductForm() { return document.querySelector('form[action*="/cart/add"]'); } function getMainVariantInput() { var form = getMainProductForm(); return form ? form.querySelector('[name="id"]') : null; } function getMainProduct() { var input = getMainVariantInput(); var variantId = input ? Number(input.value) : 57335553261943; var variants = [{"id":57335553261943,"title":"Inkl. 19 % MwSt.","option1":"Inkl. 19 % MwSt.","option2":null,"option3":null,"sku":"EF10-205020","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"2000 W EcoFlow STREAM 5000 Balkonkraftwerk | Set mit Mikrowechselrichter und 4 x 500 W DAH bifacial Solarmodul ohne Halterung und 5 kWh Speicher - Inkl. 19 % MwSt.","public_title":"Inkl. 19 % MwSt.","options":["Inkl. 19 % MwSt."],"price":201705,"weight":0,"compare_at_price":237405,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":57335553294711,"title":"Inkl. 0 % MwSt. gemäß §12 Abs.3 UStG.","option1":"Inkl. 0 % MwSt. gemäß §12 Abs.3 UStG.","option2":null,"option3":null,"sku":"EF10-205020","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"2000 W EcoFlow STREAM 5000 Balkonkraftwerk | Set mit Mikrowechselrichter und 4 x 500 W DAH bifacial Solarmodul ohne Halterung und 5 kWh Speicher - Inkl. 0 % MwSt. gemäß §12 Abs.3 UStG.","public_title":"Inkl. 0 % MwSt. gemäß §12 Abs.3 UStG.","options":["Inkl. 0 % MwSt. gemäß §12 Abs.3 UStG."],"price":169500,"weight":0,"compare_at_price":199500,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}]; var variant = null; for (var i = 0; i < variants.length; i++) { if (variants[i].id === variantId) { variant = variants[i]; break; } } if (!variant && variants.length) variant = variants[0]; return { type: 'bkw', handle: "2000-w-ecoflow-stream-5000-balkonkraftwerk-set-mit-mikrowechselrichter-und-4-x-500-w-dah-bifacial-solarmodul-ohne-halterung-und-5-kwh-speicher-kopie", title: variant && variant.title !== 'Default Title' ? ("2000 W EcoFlow STREAM 5000 Balkonkraftwerk | Set mit Mikrowechselrichter und 4 x 500 W DAH bifacial Solarmodul ohne Halterung und 5 kWh Speicher" + ' - ' + variant.title) : "2000 W EcoFlow STREAM 5000 Balkonkraftwerk | Set mit Mikrowechselrichter und 4 x 500 W DAH bifacial Solarmodul ohne Halterung und 5 kWh Speicher", variantId: variant ? variant.id : 0, price: variant ? variant.price : 0, comparePrice: variant && variant.compare_at_price ? variant.compare_at_price : 0, available: variant ? variant.available : false, image: "\/\/solorkontor.shop\/cdn\/shop\/files\/305-25050_STREAM_5000_T1_0a9e76cb-2587-43ce-97a7-5115f6df0e39.jpg?v=1787135729\u0026width=500", holderKind: '', accessoryLabel: '' }; } function openPanel() { if (panelOuter) panelOuter.classList.add('is-open'); if (trigger) trigger.setAttribute('aria-expanded', 'true'); go(1); } function closePanel() { if (panelOuter) panelOuter.classList.remove('is-open'); if (trigger) trigger.setAttribute('aria-expanded', 'false'); } function togglePanel() { var isOpen = panelOuter && panelOuter.classList.contains('is-open'); if (isOpen) closePanel(); else openPanel(); } function go(step) { state.step = step; state.maxStep = Math.max(state.maxStep, step); panels.forEach(function(panel) { panel.classList.toggle('is-active', Number(panel.dataset.panel) === step); }); indicators.forEach(function(indicator) { var number = Number(indicator.dataset.stepIndicator); indicator.classList.toggle('is-active', number === step); indicator.classList.toggle('is-done', number < step); }); if (step === 3) renderSummary(); } function filterHolders() { root.querySelectorAll('[data-product-type="holder"]').forEach(function(card) { var allowed = (card.dataset.compatibleModules || '').split(',').map(function(v) { return v.trim(); }).filter(Boolean); var visible = !moduleCount || !allowed.length || allowed.indexOf(moduleCount) !== -1; card.style.display = visible ? '' : 'none'; card.classList.toggle('is-disabled', !visible); if (!visible) setQuantity(card, 0); }); var anyVisible = false; root.querySelectorAll('[data-product-type="holder"]').forEach(function(card) { if (card.style.display !== 'none') anyVisible = true; }); var empty = root.querySelector('[data-bkw-empty]'); if (empty) empty.style.display = anyVisible ? 'none' : 'block'; } function holderTotal() { var total = 0; Object.keys(state.holderQuantities).forEach(function(handle) { total += Number(state.holderQuantities[handle]) || 0; }); return total; } function setQuantity(card, quantity) { quantity = Math.max(0, Math.min(20, Number(quantity) || 0)); state.holderQuantities[card.dataset.productHandle] = quantity; var output = card.querySelector('[data-quantity-value]'); if (output) output.textContent = quantity; setSelected(card, quantity > 0); var next = root.querySelector('[data-next="1"]'); if (next && state.holderNeeded === 'yes') next.disabled = holderTotal() === 0; } function chooseHolderNeeded(choice) { state.holderNeeded = choice.dataset.holderNeeded; root.querySelectorAll('[data-holder-needed]').forEach(function(item) { setSelected(item, item === choice); }); var grid = root.querySelector('[data-holder-grid]'); var next = root.querySelector('[data-next="1"]'); if (state.holderNeeded === 'yes') { if (grid) grid.style.display = 'grid'; filterHolders(); if (next) next.disabled = holderTotal() === 0; } else { if (grid) grid.style.display = 'none'; state.holderQuantities = {}; root.querySelectorAll('[data-product-type="holder"]').forEach(function(card) { setQuantity(card, 0); }); if (next) next.disabled = false; } } function toggleAccessory(card) { var item = readProduct(card); var exists = state.accessories.some(function(a) { return a.variantId === item.variantId; }); if (exists) { state.accessories = state.accessories.filter(function(a) { return a.variantId !== item.variantId; }); setSelected(card, false); } else if (item.variantId) { state.accessories.push(item); setSelected(card, true); } } function selectedItems() { var items = []; var main = getMainProduct(); items.push({ product: main, quantity: 1, properties: { '_Konfigurator': 'BKW-Konfigurator PDP' } }); if (state.holderNeeded === 'yes') { root.querySelectorAll('[data-product-type="holder"]').forEach(function(card) { var quantity = Number(state.holderQuantities[card.dataset.productHandle]) || 0; if (quantity > 0) { items.push({ product: readProduct(card), quantity: quantity, properties: { '_Konfigurator': 'BKW-Konfigurator PDP', '_Rolle': 'Halterung', '_Montageart': card.dataset.holderKind } }); } }); } state.accessories.forEach(function(accessory) { items.push({ product: accessory, quantity: 1, properties: { '_Konfigurator': 'BKW-Konfigurator PDP', '_Rolle': 'Zubehör', '_Zubehörart': accessory.accessoryLabel } }); }); return items; } function renderSummary() { var container = root.querySelector('[data-summary-items]'); var total = 0; var regularTotal = 0; container.innerHTML = ''; selectedItems().forEach(function(entry) { total += entry.product.price * entry.quantity; regularTotal += Math.max(entry.product.comparePrice, entry.product.price) * entry.quantity; var item = document.createElement('div'); item.className = 'bkwc__summary-item'; item.innerHTML = '
' + '' + '
' + '
' + ''; var image = item.querySelector('.bkwc__summary-image'); if (entry.product.image) { image.src = entry.product.image; image.alt = entry.product.title; } else { image.remove(); } item.querySelector('strong').textContent = (entry.quantity > 1 ? entry.quantity + ' × ' : '') + entry.product.title; item.querySelector('small').textContent = entry.product.type === 'holder' ? entry.product.holderKind : entry.product.type === 'accessory' ? 'Optionales Zubehör' : 'BKW-Set'; item.querySelector('.bkwc__summary-price').textContent = money(entry.product.price * entry.quantity); container.appendChild(item); }); var savings = Math.max(0, regularTotal - total); root.querySelectorAll('[data-total]').forEach(function(el) { el.textContent = money(total); }); root.querySelector('[data-regular-total]').textContent = money(regularTotal); root.querySelector('[data-current-total]').textContent = money(total); root.querySelector('[data-savings]').textContent = money(savings); root.querySelector('[data-saving-line]').style.display = savings > 0 ? 'flex' : 'none'; } function reset() { state = { step: 1, maxStep: 1, holderNeeded: null, holderQuantities: {}, accessories: [] }; root.querySelectorAll('.bkwc__card, .bkwc__choice').forEach(function(item) { setSelected(item, false); }); root.querySelectorAll('[data-product-type="holder"]').forEach(function(card) { card.style.display = ''; card.classList.remove('is-disabled'); }); root.querySelectorAll('[data-quantity-value]').forEach(function(v) { v.textContent = '0'; }); var grid = root.querySelector('[data-holder-grid]'); if (grid) grid.style.display = 'none'; var empty = root.querySelector('[data-bkw-empty]'); if (empty) empty.style.display = 'none'; root.querySelector('[data-next="1"]').disabled = true; go(1); } function addToCart(button) { var error = root.querySelector('[data-cart-error]'); var entries = selectedItems(); var redirectTarget = (button && button.dataset.redirect === 'checkout') ? 'checkout' : 'cart'; if (!entries.length || !entries[0].product.variantId) return; var allButtons = root.querySelectorAll('[data-add-to-cart]'); allButtons.forEach(function(btn) { btn.disabled = true; }); var originalLabel = button.textContent; button.textContent = redirectTarget === 'checkout' ? 'Wird zur Kasse geleitet ...' : 'Wird hinzugefügt ...'; error.style.display = 'none'; root.classList.add('bkwc__loading'); fetch((window.Shopify && Shopify.routes && Shopify.routes.root ? Shopify.routes.root : '/') + 'cart/add.js', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, body: JSON.stringify({ items: entries.map(function(entry) { return { id: entry.product.variantId, quantity: entry.quantity, properties: entry.properties }; }) }) }) .then(function(response) { if (!response.ok) { return response.json().then(function(data) { throw new Error(data.description || 'Die Produkte konnten nicht hinzugefügt werden.'); }); } return response.json(); }) .then(function() { var root_ = (window.Shopify && Shopify.routes && Shopify.routes.root) ? Shopify.routes.root : '/'; window.location.href = root_ + redirectTarget; }) .catch(function(err) { error.textContent = err.message || 'Die Produkte konnten nicht hinzugefügt werden. Bitte prüfe die Verfügbarkeit.'; error.style.display = 'block'; allButtons.forEach(function(btn) { btn.disabled = false; }); button.textContent = originalLabel; root.classList.remove('bkwc__loading'); }); } root.addEventListener('click', function(event) { if (event.target.closest('[data-bkw-pdp-open]')) { togglePanel(); return; } var plus = event.target.closest('[data-quantity-plus]'); var minus = event.target.closest('[data-quantity-minus]'); if (plus || minus) { var holderCard = (plus || minus).closest('[data-product-card]'); var current = Number(state.holderQuantities[holderCard.dataset.productHandle]) || 0; setQuantity(holderCard, current + (plus ? 1 : -1)); return; } var choice = event.target.closest('[data-holder-needed]'); if (choice) { chooseHolderNeeded(choice); return; } var card = event.target.closest('[data-product-card]'); if (card && !card.classList.contains('is-disabled')) { if (card.dataset.productType === 'accessory') toggleAccessory(card); else if (card.dataset.productType === 'holder') { var currentQuantity = Number(state.holderQuantities[card.dataset.productHandle]) || 0; setQuantity(card, currentQuantity > 0 ? 0 : 1); } return; } var next = event.target.closest('[data-next]'); if (next && !next.disabled) { var nextStep = Number(next.dataset.next); if (nextStep === 1 && state.holderNeeded) go(2); else if (nextStep === 2) go(3); return; } var back = event.target.closest('[data-back]'); if (back) { go(Math.max(1, Number(back.dataset.back) - 1)); return; } if (event.target.closest('[data-skip-accessory]')) { go(3); return; } if (event.target.closest('[data-reset]')) { reset(); return; } var addToCartButton = event.target.closest('[data-add-to-cart]'); if (addToCartButton && !addToCartButton.disabled) { addToCart(addToCartButton); return; } }); root.addEventListener('keydown', function(event) { if (event.key === 'Escape' && panelOuter && panelOuter.classList.contains('is-open')) { closePanel(); trigger.focus(); return; } if (event.key !== 'Enter' && event.key !== ' ') return; var target = event.target.closest('[data-product-card], [data-holder-needed]'); if (target) { event.preventDefault(); target.click(); } }); indicators.forEach(function(indicator) { indicator.addEventListener('click', function() { var number = Number(indicator.dataset.stepIndicator); if (number <= state.maxStep) go(number); }); }); // Auto-Skip Halterungsschritt, falls keine Halterungsblöcke gepflegt sind var autoNext = root.querySelector('[data-next="1"][data-auto-next]'); if (autoNext) { state.holderNeeded = 'no'; autoNext.disabled = false; } // Bei Variantenwechsel im Hauptformular Summary aktuell halten. // Viele Custom-Themes (u.a. Impact) setzen den Wert des versteckten // "id"-Felds per JS (input.value = ...), ohne ein natives change-Event // auszulösen. Ein MutationObserver auf das value-Attribut fängt das // zuverlässig ab, unabhängig davon, ob ein change-Event gefeuert wird. var variantInput = getMainVariantInput(); var lastKnownVariantId = variantInput ? variantInput.value : null; function handleVariantChange() { if (!variantInput) return; if (variantInput.value === lastKnownVariantId) return; lastKnownVariantId = variantInput.value; if (state.step === 3) renderSummary(); } if (variantInput) { // Fängt native change-Events ab (z.B. bei , // wie es bei Impact und vielen Custom-Themes der Fall ist) var variantObserver = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (mutation.type === 'attributes' && mutation.attributeName === 'value') { handleVariantChange(); } }); }); variantObserver.observe(variantInput, { attributes: true, attributeFilter: ['value'] }); // Manche Themes ersetzen das Input-Element komplett statt nur den Wert zu ändern // (z.B. bei einem Re-Render der Buy-Buttons-Komponente). Dafür zusätzlich den // umliegenden Formularbereich beobachten und das Input bei Bedarf neu greifen. var mainForm = getMainProductForm(); if (mainForm) { var formObserver = new MutationObserver(function() { var freshInput = getMainVariantInput(); if (freshInput && freshInput !== variantInput) { variantInput.removeEventListener('change', handleVariantChange); variantObserver.disconnect(); variantInput = freshInput; lastKnownVariantId = variantInput.value; variantInput.addEventListener('change', handleVariantChange); variantObserver.observe(variantInput, { attributes: true, attributeFilter: ['value'] }); if (state.step === 3) renderSummary(); } }); formObserver.observe(mainForm, { childList: true, subtree: true }); } } // Zusätzliche Absicherung: Beim Öffnen des Panels immer den frischen // Wert übernehmen, auch falls Observer/Events aus irgendeinem Grund // nichts mitbekommen haben. var originalOpenPanel = openPanel; openPanel = function() { handleVariantChange(); originalOpenPanel(); }; } initBkwPdpConfigurator(); document.addEventListener('shopify:section:load', function(event) { var section = event.target.querySelector('#bkw-pdp-template--28525878673783__bkw_bau_pdp_88mDzA'); if (section) initBkwPdpConfigurator(section); });

Produktbeschreibung

Produktdetails & Downloads

Beratung & Kontakt

Fragen zum Artikel?

Falls Du weitere Fragen zum Produkt hast oder allgemein Kontakt zu uns suchst, klicke gerne auf den Button und schreibe uns eine Nachricht. Wir freuen uns auf Dich!

JETZT BERATEN LASSEN