Daikin Ururu Sarara FTXZ50N WIFI Inverter Klimageräte-Set 5 kW

Produktmerkmale:

Falls Sie keinen Fachbetrieb für die Montage Ihrer Anlage haben, bieten wir Ihnen gerne die Vermittlung eines zertifizierten Fachbetriebs für die bundesweite Montage oder Inbetriebnahme an. So erfüllen Sie die Anforderungen der EU-Verordnung 517/2014 zum Chemikalienklimaschutz (Art. 11, Abs. 5).
Hinweis! Split-Klimageräte müssen nach Klimaschutzverordnung (EU) 2024/2215 von einem zertifizierten Fachbetrieb installiert werden. Wir möchten darauf hinweisen, dass die Einbaupreise, sowie die Einbauzeiten aufgrund unterschiedlicher regionaler Fachbetrieben voneinander abweichen können.
Hinweis! Bitte beachten Sie, dass im Lieferumfang von Split-Klimageräten keine Kältemittelleitungen enthalten sind.
Diese erhalten Sie in der Rubrik: Zubehör

Angaben gemäß der Verordnung (EU) 626/2011
Energielabel »»
Produktdatenblatt »»

Unser Preis:

3.248,93 € *
Inhalt 1 Stück
* inkl. ges. MwSt. zzgl. Versandkosten

Bestellware, Lieferzeit ca. 7-14 Werktage


Bestell-Nr.: 1451

if(!document.getElementById('paypal-smart-payment-script')) { var script = document.createElement("script"); script.type = "module"; script.id = "paypal-smart-payment-script"; script.src = "https://cdn02.plentymarkets.com/92oct1bax888/plugin/2/paypal/js/smartPaymentScript.min.js"; script.setAttribute("data-client-id", "AfslQana4f4CQjHvRBnUc6vBJg5jgJuZFwM-SbrTiGKUAqB7MrxQv3QWFdQ6U1h7ogMDokT1DNBzRxMw"); script.setAttribute("data-user-id-token", ""); script.setAttribute("data-merchant-id", "Y9ZBGN2R54ACY"); script.setAttribute("data-currency", "EUR"); script.setAttribute("data-append-trailing-slash", ""); script.setAttribute("data-locale", "de_DE"); script.setAttribute("sandbox", ""); script.setAttribute("googlePayComponent", 0); script.setAttribute("applePayComponent", 0); script.setAttribute("logToken", "46d3ce42ded3578c9a21bb1dd8a3b4d9"); document.body.appendChild(script); } else { var script = document.getElementById('paypal-smart-payment-script'); script.src = "https://cdn02.plentymarkets.com/92oct1bax888/plugin/2/paypal/js/smartPaymentScript.min.js"; script.setAttribute("data-client-id", "AfslQana4f4CQjHvRBnUc6vBJg5jgJuZFwM-SbrTiGKUAqB7MrxQv3QWFdQ6U1h7ogMDokT1DNBzRxMw"); script.setAttribute("data-user-id-token", ""); script.setAttribute("data-merchant-id", "Y9ZBGN2R54ACY"); script.setAttribute("data-currency", "EUR"); script.setAttribute("data-append-trailing-slash", ""); script.setAttribute("data-locale", "de_DE"); script.setAttribute("sandbox", ""); script.setAttribute("googlePayComponent", 0); script.setAttribute("applePayComponent", 0); script.setAttribute("logToken", "46d3ce42ded3578c9a21bb1dd8a3b4d9"); }

Pflichtangaben:

Energieeffizienzklasse1:
Jährlicher Stromverbrauch2 (kWh): 550/705
Kühlleistung3 max. (kW): 5,0
SEER4 (W): 8,60
Gerätetyp: Kühlen und Heizen
Kühlungsart: Luftkühlung
Heizleistung5 max. (kW): 6,3
Kältemitteltyp/GWP8: R-32/675
Schalldruckpegel7, Innengerät
(Kühlen/Heizen), (dB(A)):
19
SCOP6 (W): 5,50
Schalldruckpegel7, Außengerät
(Kühlen/Heizen), (dB(A)):
48

Technische Daten »»


Exklusiver Klimakomfort zu jeder Zeit

Daikin Ururu Sarara FTXZ50N Inverter Wandklimageräte-Set bestehend aus:
1 x Innengerät FTXZ50N
1 x Außengerät RXZ50N

Mit Ururu Sarara bietet DAIKIN ein Klimagerät, das zu jeder Jahreszeit einzigartigen Premium-Komfort garantiert. Neben der Temperatur regelt es mit Be- und Entfeuchtung auch die Luftfeuchtigkeit und bietet eine Lüftungsfunktion mit Frischluft.

PREISGEKRÖNTES DESIGN

  • Im Jahr 2013 Gewinner des begehrten Red Dot Design Award in der Kategorie „Klimaanlage“ Ururu sarara - reddot award

INTELLIGENTE REGELUNG DER LUFTFEUCHTIGKEIT

  • Vermeidet im Winter trockene Luft und sorgt im Sommer für Entfeuchtung

FRISCHLUFT ZU JEDER JAHRESZEIT

  • Sensor „Intelligentes Auge" – lenkt Luftstrom von Personen im Raum weg

BENUTZERFREUNDLICHE BEDIENUNG

  • Bedienen Sie das System anhand einer Infrarotfernbedienung, einer App oder als Bestandteil Ihres Hausautomatisierungssystems

ENERGIEEFFIZIENZ

  • Höchste Werte bezüglich Energieeffizienz Energieeffizienzklasse A+++ Dank moderner Energiespartechnik

5 Luftbehandlungstechniken

1. Heizen und Kühlen

Das Ururu Sarara kann jeden Raum schnell und effizient heizen oder kühlen und wird so zu einem unschätzbaren Bestandteil Ihres Zuhauses.

2. Ururu-Befeuchtung

Die Temperatur allein ist kein Maß für Wohlbefinden. 
Die uns umgebende Luft enthält von Natur aus eine bestimmte Menge an Feuchtigkeit. Bei einer zu trockenen Luft im Raum kommt es nicht nur zu einem Gefühl der Kühle, sondern es kommt auch zu trockener Haut und gar zu Halsbeschwerden. Das intelligente Befeuchtungssystem von Ururu Sarara entzieht der Außenluft genau die richtige Menge an Feuchtigkeit. 
Ururu Sarara - humidification - 20Ururu Sarara - humidification - 50Temperatur 22 °C Luftfeuchtigkeit 20 % Bei trockener Luft empfinden Sie selbst bei relativ hohen Temperaturen eine gewisse Kälte.Temperatur 22 °C Luftfeuchtigkeit 50 % In einem Raum mit befeuchteter Luft empfinden Sie eine vergleichsweise höhere Wärme.

3. Sarara-Entfeuchtung

Für das Kühlen eines Raums in der Sommerzeit gibt es mehrere Möglichkeiten. 
Im Sommer steigt die Umgebungstemperatur, und die Raumluft fühlt sich warm und schwül an. Bei herkömmlichen Systemen muss der Raum gekühlt werden, mit dem entsprechenden Verlust an Energie und dem entsprechenden Stromverbrauch. Das intelligente Entfeuchtungssystem von Ururu Sarara entzieht der Raumluft automatisch und effizient die überschüssige Feuchtigkeit und hält dabei zu jedem Zeitpunkt eine gleichbleibende Temperatur aufrecht. 
Ururu Sarara - dehumidification 80 Ururu Sarara - dehumidification 50 Temperatur 25 °C Luftfeuchtigkeit 80 % Bei höherer Luftfeuchtigkeit empfinden Sie bei der gleichen Raumtemperatur eine gewisse Schwüle.Temperatur 25 °C Luftfeuchtigkeit 50 % In einem Raum mit entfeuchteter Luft empfinden Sie eine vergleichsweise niedrigere Temperatur.

4. Lüftung

Frischluft, auch bei geschlossenen Fenstern 
Im Gegensatz zu einer herkömmlichen Klimaanlage leitet das Ururu Sarara klimatisierte Frischluft in den Raum. Aufgrund der hohen Lüftungsleistung kann das System einen Raum von mehr als 26 m2 in weniger als zwei Stunden vollständig mit Frischluft auffüllen.

5. Luftreinigung

Ständig gereinigte und allergenfreie Luft durch DAIKIN Flash Streamer-Technologie 
Beim Ururu Sarara wird die eingehende Luft erst durch Staub- und Pollenfilter geleitet. Anschließend werden Geruchsstoffe wie Tabakrauch und Küchengerüche im fotokatalytischen Luftreinigungsfilter aufgebrochen. In der Endstufe bricht der Flash Streamer sämtliche noch vorhandenen Überreste an schädlichen Chemikalien, Viren und Schimmelpilzen auf. 

Technologie

Sensor „Intelligetes Auge" – lenkt Luftstom von Personen im Raum weg

DAIKIN hat einen Sensor „Intelligent Eye“ für das Ururu Sarara entwickelt. Bei diesem Sensor handelt es sich um einen Bewegungssensor, der erkennt, wenn sich Personen im Raum befinden. Wenn sich keine Personen im Raum aufhalten, wird die Leistung des Geräts abgesenkt, und nach einer bestimmten Zeit wird das Gerät sogar gänzlich ausgeschaltet. Der Sensor erkennt jedoch auch den Aufenthaltsort von Personen im Raum und richtet den Luftstrom von Personen weg. Eine echt intelligente Art und Weise einer Regelung der Temperatur im Raum, und dies ohne die Atmosphäre im Raum zu ruinieren.

Automatische Filterreinigungsfunktion

Klimaanlagen sind mit Filtern ausgestattet, die die Luft auf ihrem Weg durch das Gerät reinigen. Je mehr Partikel sich im Filter ansammeln, desto geringer wird die Wirkung des Filters. Mit dem topmodernen Selbstreinigungssystem von Ururu Sarara gehört dieses Problem jedoch der Vergangenheit an. Mit selbstreinigenden Filtern wird ein konstanter Luftstromvolumen erzielt, und gleichzeitig verbrauchen diese Geräte 25 % weniger Energie.

Für ein perfektes Klima

Ururu Sarara bietet nicht nur ein Maximum an Komfort. Auch der Maßstab für Energieeffizienz wird hier neu definiert – mit dem neuen Kältemittel R32.

WiFi- Adapter inclusive


Angaben zur GPSR Produktsicherheitsverordnung:

Hersteller

Name: DAIKIN Airconditioning Germany GmbH
Adresse: Inselkammerstrasse 2 , 82008 Unterhaching , Deutschland
Kontakt: info@daikin.de

Verantwortliche Stelle in der EU
Ein in der EU ansässiger Wirtschaftsbeteiligter, der sicherstellt, dass das Produkt allen erforderlichen Vorschriften entspricht.

EU-Verantwortlicher Name: DAIKIN Airconditioning Germany GmbH
EU-Verantwortliche Adresse: Inselkammerstrasse 2, 82008 Unterhaching, Deutschland
EU-Verantwortlicher Kontakt: info@daikin.de



Technische Daten:

Modell Innengerät FTXZ50N
Modell Außengerät RXZ50N
Kälteleistung min./nom./max.(kW) 0,60~5,00~5,80
Heizleistung min./nom./max.(kW) 0,60~6,30~9,40
Kühlen SEER/Energieeffizienzklasse 1) 8,60/A+++
Heizen SCOP/Energieeffizienzklasse 1) 5,50/A+++
Jährlicher Stromverbrauch (Kühlen/Heizen) (kWh) 2) 203/550
Hinweise:
1) Energieeffizienzklasse: Skala von A (am effizientesten) bis G (am wenigsten effizient).
2) Jährlicher Stromverbrauch: basierend auf durchschnittlich 500 Betriebsstunden pro Jahr bei Volllast (= Nennleistung).
Technische Daten - Innengerät
Abmessungen (HxBxT) (mm) 295x798x372
Gewicht (kg) 15
Farbe der Vorderblende Weiß
Luftvolumenstrom Kühlen H / N / SN (m³/min) 15,0 / 9,2 / 6,6 / 4,6
Luftvolumenstrom Kühlen H / N / SN (m³/min) 14,4 / 10,7 / 7,7 / 5,9
Schalldruckpegel Kühlen H / N / SN (dB(A)) 47 / 38 / 30 / 23
Schalldruckpegel Heizen H / N / SN (dB(A)) 44 / 38 / 31 / 24
Schallleistungspegel Kühlen H (dB(A)) 60 / 59
Rohrleitungsanschlüsse Flüssigkeit (mm) ø6,35
Rohrleitungsanschlüsse Gas (mm) ø9,52
Rohrleitungsanschlüsse Kondensat (mm) ø18,0
Kältemitteltyp R32
Stromversorgung (V1) 1~, 220 bis 240V, 50Hz
* Während des Befeuchtungsvorgangs ist der Schallpegel etwas höher als im Normalbetrieb.
Technische Daten - Außengeräte
WÄRMEPUMPE - INVERTERGEREGELT RXZ50N
Abmessungen (HxBxT) (mm) 693 x 795 x 300
Gewicht (kg) 50
Gehäusefarbe weiß
Schalldruckpegel Kühlen H (dB(A)) 49
Schalldruckpegel Heizen H (dB(A)) 50
Schallleistungspegel Kühlen H (dB(A)) 63
Verdichter Vollhermetischer Swingverdichter
Kältemitteltyp R32
Kältemittelfüllmenge (kg) 1.4
Max. Leitungslänge (m) 10
Max. Niveauunterschied (m) 8
Betriebsbereich Kühlen H (°C Trockenkugel) -10~43
Betriebsbereich Heizen H (°C Feuchtkugel) -20~18
Stromversorgung (V1) 1~, 220 bis 240 V, 50 Hz
   
Hinweis:
1) V1 = 1 = , 220 - 240 V, 50 Hz

Produkte mit ähnlichen Merkmalen:

Kühlen

Heizen

WARUM KLIMAPROFIS?

  • Expertise: Unser Team von Klimaexperten steht Ihnen mit Rat und Tat zur Seite, um sicherzustellen, dass Sie die perfekte Kühllösung für Ihre Bedürfnisse finden.
  • Qualität: Wir bieten nur Produkte von renommierten Herstellern, um sicherzustellen, dass Sie nicht nur Kühlen oder Heizen, sondern auch Langlebigkeit genießen.
  • Stilvolles Design: Wir glauben, dass Klimakontrolle nicht auf Kosten des Stils gehen muss. Unsere Geräte sind so gestaltet, dass sie sich harmonisch in Ihr Ambiente einfügen.
console.log('PropertyWizard v1.3.0 loaded (shadow+iframe+picker)', cfg); const toIdSet=s=>new Set(String(s||'').split(',').map(x=>x.trim()).filter(v=>/^\d+$/.test(v)).map(Number)); const isUrl=v=>/^https?:\/\//i.test(String(v||'')); const labelFor=pid=>cfg.labelMap[pid+'_de']||cfg.labelMap[pid+'_en']||('Property '+pid); const once=(el,k)=>{const key='__pw_'+k; if(el[key])return false; el[key]=true; return true;}; function injectStyles(doc){ try{ const s=doc.createElement('style'); s.textContent=CSS_INJECT; (doc.head||doc.documentElement).appendChild(s); }catch(e){} } function getDocs(){ const docs=[document]; document.querySelectorAll('iframe').forEach(f=>{ try{ if(f.contentDocument){ docs.push(f.contentDocument); injectStyles(f.contentDocument); } }catch(e){ /* cross-origin, ignore */ } }); return docs; } function getShards(doc){ const shards=[doc]; // collect shadow roots const all = Array.from(doc.querySelectorAll('*')); for(let i=0;is.trim()).filter(Boolean); const genericAttrSelectors=['[data-variation-id]','[data-variationid]','[data-variationId]','[data-item-id]','[data-vid]','[data-variation]','[data-product-id]','[data-productid]']; const basketSelectors=['.basket-item','.basket-list-item','[data-basket-item]']; const schemaSelectors=['[itemscope][itemtype*=\"Product\"]','[itemtype*=\"schema.org/Product\"]']; const linkSelectors=['a[href*=\"/item/\"]','a[href*=\"/artikel/\"]','a[href*=\"/produkt/\"]','a[href*=\"/p/\"]']; function overrideFor(ctxKey){ switch(ctxKey){ case 'category': return ""; case 'search': return ""; case 'crossSelling': return ""; case 'slider': return ""; case 'basket': return ""; } return ""; } function nearestCard(node){ let el=node; let depth=0; while(el && depth<6){ if(el.className && /product|item|tile|card|box|cmp|grid|list/i.test(String(el.className))) return el; el = el.parentElement; depth++; } return node.parentElement || node; } function autoDiscoverRoots(shards){ const candidates=[]; for(const sh of shards){ const kids = Array.from(sh.querySelectorAll(':scope > *')); // top-level children in this shard // If no direct children container, scan elements with many children const scan = kids.length? kids : Array.from(sh.querySelectorAll('*')).filter(e=>e.children && e.children.length>=6).slice(0,200); for(const el of scan){ if(!el.children || el.children.length<6) continue; const groups = new Map(); const arr = Array.from(el.children); arr.forEach(k=>{ const tag = k.tagName.toLowerCase(); const cls = Array.from(k.classList).sort().join('.'); const key = tag+(cls?'.'+cls:''); if(!groups.has(key)) groups.set(key, []); groups.get(key).push(k); }); groups.forEach(list=>{ if(list.length>=6){ const score = list.reduce((acc,k)=>acc+ (k.querySelector('a[href],img')?1:0),0) / list.length; candidates.push({list, score}); } }); } } if(!candidates.length) return []; candidates.sort((a,b)=> b.score - a.score || b.list.length - a.list.length); return candidates[0].list; } function detectRoots(ctxKey){ const docs=getDocs(); let by='none'; let nodes=[]; for(const doc of docs){ const shards=getShards(doc); const ov = overrideFor(ctxKey).trim(); let found=[]; if(ctxKey==='basket'){ found = qAll(shards, basketSelectors); if(found.length){ by = (doc !== document ? 'iframe' : 'basket'); nodes.push(...found); continue; } } if(ov){ found=qAll(shards, [ov]); if(found.length){ by='override'; nodes.push(...found); continue; } } if(defaultTileSelectors.length){ found=qAll(shards, defaultTileSelectors); if(found.length){ by='classes'; nodes.push(...found); continue; } } found = qAll(shards, genericAttrSelectors).map(nearestCard); if(found.length){ by='data-*'; nodes.push(...found); continue; } found = qAll(shards, schemaSelectors).map(nearestCard); if(found.length){ by='schema'; nodes.push(...found); continue; } found = qAll(shards, linkSelectors).map(nearestCard); if(found.length){ by='links'; nodes.push(...found); continue; } // auto found = autoDiscoverRoots(shards); if(found && found.length){ by='auto'; nodes.push(...found); continue; } } nodes = [...new Set(nodes)]; return {by, nodes}; } function renderBadge(doc, pid,value){ const w=doc.createElement('span');w.className='pw-badge pw-muted'; const i=doc.createElement('span');i.className='pw-icon';i.innerHTML='📄';w.appendChild(i); const c=doc.createElement(isUrl(value)?'a':'span'); if(isUrl(value)){c.href=value;c.target='_blank';c.rel='noopener';} c.textContent=labelFor(String(pid)); w.appendChild(c); return w; } function addTileMarker(tile){ if(!cfg.debug.showTileMarkers) return; if(tile.querySelector('.pw-marker')) return; const doc=tile.ownerDocument||document; const m=doc.createElement('span'); m.className='pw-marker'; m.textContent='PW'; if(!tile.style.position) tile.style.position='relative'; tile.appendChild(m); } function pickTarget(tile,placement,customSelector){ const sel=(r,s)=>r.querySelector(s); if(customSelector){const n=sel(tile,customSelector); if(n) return n;} const cand={afterPrice:['[data-testing=\"current-price\"]','.price','.price-box','.price-wrapper .text-muted','.cmp-price'], afterTitle:['.item-title a','.item-title','h3 a','h3','.title a','.title'], afterImage:['.thumb a','.thumb img','.item-image a','.item-image img','.cmp-image img']}[placement]||['.item-title','.title']; for(const s of cand){const n=sel(tile,s); if(n) return n;} return tile.firstElementChild||tile; } function extractId(tile){ const a = tile.querySelector('a[href]'); const dataIds = [ tile.getAttribute('data-variation-id'), tile.getAttribute('data-variationid'), tile.getAttribute('data-item-id'), tile.getAttribute('data-product-id'), tile.dataset?.variationId, tile.dataset?.itemId, tile.dataset?.productId ].filter(Boolean); if(dataIds.length) return String(dataIds[0]).match(/\d+/)?.[0] || null; if(a){ const m = String(a.getAttribute('href')||'').match(/(\d{4,})/g); if(m && m.length) return m[m.length-1]; } return null; } function timeoutPromise(ms){ return new Promise((_,rej)=>setTimeout(()=>rej(new Error('timeout')),ms)); } async function fetchJson(url, useCred){ const opt = {headers: {'Accept':'application/json'}}; if(useCred) opt.credentials = 'same-origin'; const res = await Promise.race([fetch(url,opt), timeoutPromise(cfg.apiFetch.timeoutMs)]); if(!res.ok) throw new Error('HTTP '+res.status); return res.json().catch(()=> ({})); } async function fetchPropsById(id){ for(const p of cfg.apiFetch.paths){ const url = p.replace('{id}', encodeURIComponent(id)); try{ const j = await fetchJson(url, cfg.apiFetch.useCredentials); if(Array.isArray(j) && j.length && (j[0]?.property || j[0]?.texts || j[0]?.id)) return j; const keys = cfg.apiFetch.propPath.split('.'); let cur=j; for(const k of keys){ if(cur && typeof cur==='object' && k in cur) cur=cur[k]; else { cur=null; break; } } if(Array.isArray(cur)) return cur; if(j && j.variation && Array.isArray(j.variation.properties)) return j.variation.properties; }catch(e){} } return null; } function ensureOverlay(doc){ if(!cfg.debug.enabled || !cfg.debug.overlay) return null; if(doc!==document) return null; // overlay nur im Top-Dokument let el=document.getElementById('pw-overlay'); if(!el){ el=document.createElement('div'); el.id='pw-overlay'; el.className='pw-overlay'; el.title='PW Overlay — Alt+R: Root-Highlight, Alt+P: DOM-Picker'; document.body.appendChild(el); } return el; } function domPickerActivate(){ let last=null; function over(e){ if(last) last.classList.remove('pw-pick'); last = e.target; last.classList.add('pw-pick'); e.preventDefault(); e.stopPropagation(); } function out(e){ if(last){ last.classList.remove('pw-pick'); last=null; } } function click(e){ e.preventDefault(); e.stopPropagation(); if(!last) return; // compute simple selector path const path=[]; let el=last; let depth=0; while(el && el!==document.body && depth<5){ const id = el.id ? '#'+el.id : ''; const cls = (el.className && typeof el.className==='string') ? '.'+el.className.split(/\s+/).filter(Boolean).slice(0,2).join('.') : ''; path.unshift(el.tagName.toLowerCase()+id+cls); el=el.parentElement; depth++; } const selector = path.join(' > '); localStorage.setItem('pw.selectorOverride.category', selector); alert('PW: Root-Selector gespeichert:\n'+selector+'\nReload, um ihn zu verwenden.'); deactivate(); } function key(e){ if(e.key==='Escape'){ deactivate(); } } function deactivate(){ document.removeEventListener('mousemove', over, true); document.removeEventListener('mouseout', out, true); document.removeEventListener('click', click, true); document.removeEventListener('keydown', key, true); if(last){ last.classList.remove('pw-pick'); last=null; } } document.addEventListener('mousemove', over, true); document.addEventListener('mouseout', out, true); document.addEventListener('click', click, true); document.addEventListener('keydown', key, true); } function processContext(ctxKey){ const ctx=cfg.contexts[ctxKey]; // merge in local override from picker const lsOverride = localStorage.getItem('pw.selectorOverride.'+ctxKey); if(lsOverride && !overrideFor(ctxKey)) { cfg.themeHints.knownTileClasses = lsOverride; } const ids = toIdSet(ctx.propertyIds); const allowNoIds = true; if(!ids.size && !allowNoIds) return; // bei Force trotzdem laufen const bucket=detectRoots(ctxKey); const roots=[...new Set(bucket.nodes)]; let processed=0, matchedCount=0, fetchedOk=0, fetchedFail=0, idx=0; const overlay=ensureOverlay(document); const upd=()=>{ if(overlay) overlay.innerHTML = 'PW ctx='+ctxKey+' by='+bucket.by+' roots='+roots.length+' matched='+matchedCount+' fetched='+fetchedOk+'/'+(fetchedOk+fetchedFail); }; upd(); if(cfg.debug.enabled) console.log('[PropertyWizard] %s by=%s roots=%d', ctxKey, bucket.by, roots.length); if(cfg.debug.picker){ document.addEventListener('keydown', (ev)=>{ if(ev.altKey && (ev.key==='p' || ev.key==='P')){ domPickerActivate(); } }); } async function processTile(tile){ addTileMarker(tile); const doc = tile.ownerDocument || document; let props=null; const s=tile.querySelector('script[type=\"application/json\"]'); if(s){ try{ const o=JSON.parse(s.textContent||'{}'); if(Array.isArray(o?.properties)) props=o.properties; if(Array.isArray(o?.variationProperties)) props=o.variationProperties; }catch(e){} } if(!props && cfg.apiFetch.enabled){ const id = extractId(tile); if(id){ try{ props = await fetchPropsById(id); if(Array.isArray(props)&&props.length){ tile.__pw_props=props; fetchedOk++; } else { fetchedFail++; } } catch(e){ fetchedFail++; } upd(); } } let matched=false; if(Array.isArray(props) && props.length){ const m = props.find(p=>{ const pid=p?.property?.id||p?.id||p?.propertyId; const val=p?.texts?.value||p?.value||p?.selection?.name||p?.valueText; return ids.has(Number(pid)) && val; }); if(m){ matched=true; matchedCount++; const pid=m.property?.id||m.id||m.propertyId; const val=m.texts?.value||m.value||m.selection?.name||m.valueText; const target=tile.querySelector(ctx.selector) || pickTarget(tile,ctx.placement,''); const badge=renderBadge(doc, pid,val); if(!(target && target.parentNode && target.parentNode.insertBefore(badge, target.nextSibling))){ tile.appendChild(badge); } } } if(!matched && cfg.debug.forceRender){ const target=tile.querySelector(ctx.selector) || pickTarget(tile,ctx.placement,''); const b=renderBadge(doc, 0,''); b.textContent='PW (force)'; if(!(target && target.parentNode && target.parentNode.insertBefore(b, target.nextSibling))){ tile.appendChild(b); } } } async function run(){ const conc = 4; let running=0; let qIndex=0; return new Promise(resolve=>{ const kick=()=>{ while(running{ running--; processed++; kick(); if(running===0 && (qIndex>=roots.length || processed>=cfg.performance.maxTiles)) resolve(); }); } }; kick(); }); } run(); const mo=new MutationObserver(()=>{ const again=detectRoots(ctxKey); const newRoots=[...new Set(again.nodes)]; if(newRoots.length!==roots.length){ roots.length=0; roots.push(...newRoots); upd(); run(); } }); mo.observe(document, {subtree:true, childList:true}); window.addEventListener('load', ()=> setTimeout(()=>{ const again=detectRoots(ctxKey); if(again.nodes.length!==roots.length){ roots.length=0; roots.push(...again.nodes); upd(); run(); } }, 500)); ['popstate','pushstate','replacestate'].forEach(evt=> window.addEventListener(evt, ()=> setTimeout(()=>{ const again=detectRoots(ctxKey); if(again.nodes.length!==roots.length){ roots.length=0; roots.push(...again.nodes); upd(); run(); } }, 300))); } const onReady=fn=>(document.readyState==='loading')?document.addEventListener('DOMContentLoaded',fn):fn(); onReady(()=>['category','search','crossSelling','slider','basket'].forEach(processContext)); })();