DALI

Dali BluOS NPM-2i Modul für Sound Hub




Artikelnummer: 23745

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.plentyone.com/r1fsldf054st/plugin/61/paypal/js/smartPaymentScript.min.js"; script.setAttribute("data-client-id", "AfslQana4f4CQjHvRBnUc6vBJg5jgJuZFwM-SbrTiGKUAqB7MrxQv3QWFdQ6U1h7ogMDokT1DNBzRxMw"); script.setAttribute("data-currency", "EUR"); script.setAttribute("data-merchant-id", "89UX6CPNWLU4L"); script.setAttribute("data-append-trailing-slash", "true"); script.setAttribute("data-locale", "de_DE"); document.body.appendChild(script); }
if (typeof paypal_plenty_sdk === 'undefined' || typeof renderPayPalButtons !== 'function') { document.addEventListener('payPalScriptInitialized', () => { renderPayPalButtons( '1156651118', 'paypal', 'pay', 'rect' , 'silver' ) }); } else { renderPayPalButtons( '1156651118', 'paypal', 'pay', 'rect' , 'silver' ) }

* inkl. ges. MwSt. zzgl. Versandkosten

Dali BluOS NPM-2i Modul für Sound Hub

BluOS™ Erweiterungsmodul für den DALI SOUND HUB

Dieses Erweiterungsmodul für den DALI SOUND HUB integriert BluOS™, die innovative Streaming-Plattform von Bluesound. Diese fortschrittliche Technologie ermöglicht Verbindungen zu Ihrem lokalen Netzwerk, zu Streaming-Diensten und Internetradio. Ob in einem einzelnen Raum oder im ganzen Haus per Multiroom-Funktion – BluOS™ liefert immer die bestmögliche digitale Klangqualität.

Multiroom

BluOS™ unterstützt Multiroom-Wiedergabe und ermöglicht die Einrichtung und Verwaltung von bis zu 64 Zonen innerhalb eines Systems. Jede Zone kann individuell mit unterschiedlicher Musik und Lautstärke bespielt werden. Zudem können mehrere Räume oder Zonen zusammengefasst werden, um beispielsweise in Wohnraum und Küche die gleiche Musik zu hören.

Ein wesentlicher Vorteil der BluOS™ Multiroom-Technologie ist ihre Flexibilität: Das System kann nach Bedarf aufgebaut und erweitert werden, ohne dass vorherige Planungen für Steuerleitungen erforderlich sind. Die Steuerung und der Betrieb der Player erfolgt vollständig über das lokale Netzwerk, das bei Bedarf mit handelsüblichen Repeatern und anderem Zubehör erweitert und verbessert werden kann.

AirPlay 2

Mit dem NPM-2i Modul lässt sich der SOUND HUB per AirPlay 2 in ein Apple-Netzwerk integrieren und dann über Ihren Mac, Ihr iPhone oder Ihr iPad direkt als Wiedergabegerät auswählen. Mit aktivierter Siri Sprachsteuerung auf Ihrem Apple-Gerät genügt ein „Hey Siri, spiele das aktuelle Paul McCartney-Album“ oder „Hey Siri, spiele NDR 2“, und Ihr DALI HiFi-System startet umgehend die Wiedergabe.

BluOS™ App

Über die BluOS™-App haben Sie die volle Kontrolle über die Musik, die Sie hören möchten. Songs werden sofort wiedergegeben, wenn Sie darauf tippen. Sie können Playlists unterwegs erstellen und bearbeiten, indem Sie einfach Ihre Lieblingslieder oder -alben hinzufügen. Wiedergabelisten lassen sich in der App speichern und jederzeit anhören.

Mit der App steuern Sie die Musikwiedergabe und regeln die Lautstärke – im Multiroom-Betrieb sogar separat für jeden einzelnen Raum. Die App zeigt auch die Qualität der gestreamten Musikdaten, liefert detaillierte Informationen über die Künstler und zeigt die Albumcover an.

Als Datenquelle nutzt die App Ihre lokale Musikbibliothek, zahlreiche Musik-Streamingdienste wie TIDAL™, Spotify™, Amazon Music HD, Idagio, Deezer oder Qobuz sowie Internetradiosender und Podcasts aus der ganzen Welt. Die Wiedergabe kann über jeden BluOS™-fähigen Player in Ihrem Zuhause erfolgen. Tippen Sie einfach auf den gewünschten Song oder Radiostation und wählen Sie das BluOS™-Gerät, das Sie verwenden möchten.

MQA Zertifiziert

Die kabellosen DALI Lautsprechersysteme CALLISTO C und RUBICON C sind für die Wiedergabe von MQA-Daten zertifiziert, wenn das optionale BluOS™ Erweiterungsmodul NPM-2i im SOUND HUB installiert ist.

MQA (Master Quality Authenticated) ist kein neues Dateiformat, sondern eine innovative Methode, große Musikdateien effizient zu komprimieren und zu kodieren. Dies ermöglicht es, selbst originale Studio-Master-Aufnahmen im 24 Bit/192 kHz-Format in vergleichsweise kleinen Datenpaketen online bereitzustellen. Die Musikdaten werden in beliebigen Containern wie ALAC, FLAC oder WAV verpackt. Bei der Wiedergabe über einen BluOS™-fähigen Player wird die Datei vollständig entpackt und ohne Verluste in ihr ursprüngliches Studio-Master-Format zurückgeführt.


Konstruktion & Aufbau

  • Typ: Streaming-Erweiterungsmodul
  • Plattform: BluOS
  • Multiroom: bis zu 64 Zonen
  • Kompatibel mit: DALI Sound Hub
  • AirPlay 2: ja


Die Lieferzeiten können je nach Artikel unterschiedlich sein. Auf jeder Artikelseite finden Sie die Lieferzeit zum Artikel. Werden mehrere Artikel bestellt, so gilt für den gesamten Auftrag die jeweils höchste Lieferzeit. Wünschen Sie in so einem Fall eine Teillieferung, so kontaktieren Sie uns einfach.

{ "@context":"http://schema.org/", "@id": "https://www.ohrenschmaus-shop.de/zubehoer/upgrade-und-module/dali-bluos-npm-2i-modul-fuer-sound-hub_21551_23745/#faq", "@type":"FAQPage", "mainEntity": [{"@type":"Question","name":"Wie lange dauert die Lieferung?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Die Lieferzeiten k\u00f6nnen je nach Artikel unterschiedlich sein. Auf jeder Artikelseite finden Sie die Lieferzeit zum Artikel. Werden mehrere Artikel bestellt, so gilt f\u00fcr den gesamten Auftrag die jeweils h\u00f6chste Lieferzeit. W\u00fcnschen Sie in so einem Fall eine Teillieferung, so kontaktieren Sie uns einfach."}}] }
(function () { if (document.getElementById('os-attr-style-v3')) return; var chev = 'url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 8%27%3E%3Cpath d=%27M1 1.5l5 5 5-5%27 fill=%27none%27 stroke=%27%23434748%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E")'; var css = [ 'body .widget-attribute{margin-bottom:1.75rem !important;transition:opacity .15s ease}', 'html.va-init body .widget-attribute{opacity:0 !important;pointer-events:none !important}', 'body .widget-attribute .v-s-boxes,body .widget-attribute .va-dd{transition:opacity .15s ease}', 'body .widget-attribute.va-busy .v-s-boxes,body .widget-attribute.va-busy .va-dd{opacity:.5;pointer-events:none}', '.widget-attribute .input-unit{position:relative;background:#fff;border:1px solid #d9dcdd !important;border-radius:6px;margin-bottom:1.25rem;overflow:visible !important;cursor:pointer;box-shadow:none !important;transition:border-color .2s ease,opacity .15s ease}', '.widget-attribute .input-unit:hover,.widget-attribute .input-unit:focus-within,.widget-attribute .input-unit.is-open{border-color:var(--os-accent) !important;box-shadow:none !important}', '.widget-attribute .input-unit.va-dd label{display:none !important}', '.widget-attribute .input-unit.va-dd[data-va-label]{margin-top:calc(24px + .5rem)}', '.widget-attribute .input-unit.va-dd[data-va-label]::before{content:attr(data-va-label);position:absolute;left:-1px;bottom:calc(100% + .5rem);white-space:nowrap;font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;line-height:24px;color:var(--os-black);pointer-events:none}', '.widget-attribute .input-unit .custom-select{height:auto;min-height:2.75rem;padding:.6rem 3rem .6rem 1rem;border:0 !important;border-radius:6px;background:transparent !important;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:.95rem;font-weight:400;line-height:1.3;color:var(--os-black);box-shadow:none !important;outline:none !important;pointer-events:none}', '.va-chev{position:absolute;right:1rem;top:50%;width:12px;height:8px;background:' + chev + ' no-repeat center / 12px 8px;transform:translateY(-50%);transition:transform .2s ease;pointer-events:none}', '.va-dd.is-open .va-chev{transform:translateY(-50%) rotate(180deg)}', '.va-list{display:none;position:absolute;left:-1px;right:-1px;top:calc(100% + 6px);z-index:50;max-height:320px;overflow-y:auto;padding:6px;background:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.08);cursor:default}', '.va-dd.is-open .va-list{display:block}', '.va-opt{display:flex;align-items:center;justify-content:space-between;padding:.6rem .85rem;border-radius:5px;font-size:1rem;font-weight:300;line-height:1.4;color:var(--os-black);cursor:pointer;transition:background-color .15s ease}', '.va-opt:hover{background:var(--os-accent);color:var(--os-black)}', '.va-opt.is-selected{font-weight:400}', '.va-opt.is-selected::after{content:"";flex:none;width:5px;height:10px;margin:-3px 2px 0 1rem;border-right:1.5px solid var(--os-accent-dim);border-bottom:1.5px solid var(--os-accent-dim);transform:rotate(45deg)}', '.va-opt.is-selected:hover::after{border-color:var(--os-black)}', '.va-opt.is-disabled{color:var(--os-dunkelgrau);cursor:not-allowed}', '.va-opt.is-disabled:hover{background:transparent}', 'body .widget-attribute .v-s-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--va-col,6rem),100%),1fr));gap:.5rem;position:relative;padding:0 0 1.25rem 2.25rem !important;margin-left:var(--va-ml,0px) !important;margin-right:var(--va-mr,0px) !important}', 'body .widget-attribute .v-s-boxes.images{display:flex;flex-wrap:wrap}', 'body .widget-attribute .v-s-boxes[data-va-label]::before{content:attr(data-va-label);grid-column:1 / -1;flex:0 0 100%;order:-1;font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;line-height:24px;color:var(--os-black)}', 'body .widget-attribute .v-s-boxes .v-s-box{width:100%;min-width:0;display:flex;align-items:center;justify-content:center;text-align:center;min-height:2.75rem;margin:0 !important;padding:0 1rem;border:1px solid #d9dcdd !important;border-radius:6px;background:#fff !important;color:var(--os-black);font-size:.95rem;font-weight:400;letter-spacing:normal;text-transform:none;line-height:1.3;white-space:nowrap;box-shadow:none !important;outline:none !important;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}', 'body .widget-attribute .v-s-boxes.images .v-s-box{width:auto;flex:0 0 auto;padding:0}', 'body .widget-attribute .v-s-boxes .v-s-box.empty-option{display:none !important}', 'body .widget-attribute .v-s-boxes .v-s-box:hover:not(.invalid){border-color:var(--os-accent) !important}', 'body .widget-attribute .v-s-boxes .v-s-box.active,body .widget-attribute .v-s-boxes .v-s-box.active:focus{border-color:var(--os-accent) !important;background:rgba(161,198,57,.12) !important;color:var(--os-black) !important;font-weight:500;box-shadow:none !important;outline:none !important}', 'body .widget-attribute .v-s-boxes .v-s-box.invalid{opacity:.45;border-style:dashed !important}', '.va-step::after{content:attr(data-va-step);position:absolute;left:0;top:0;width:24px;height:24px;border:1px solid #d9dcdd;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:500;line-height:1;color:var(--os-dunkelgrau);box-sizing:border-box;transition:background-color .2s ease,border-color .2s ease,color .2s ease}', '.va-dd.va-step{margin-left:2.25rem;width:calc(100% - 2.25rem) !important;max-width:calc(100% - 2.25rem) !important}', '.va-dd.va-step::after{left:calc(-2.25rem - 1px);top:calc(-24px - .5rem - 1px)}', '.va-dd.va-step:not([data-va-label])::after{top:50%;transform:translateY(-50%)}', '.va-step.is-done::after{content:"\\2713";background:var(--os-accent);border-color:var(--os-accent);color:#fff}', '.va-hide{display:none !important}', '.va-loose{font-size:0 !important}' ].join(''); var el = document.createElement('style'); el.id = 'os-attr-style-v3'; el.textContent = css; document.head.appendChild(el); /* Zurücksetzen nur, wenn die URL keine Varianten-ID enthält */ function shouldReset(){ var p = location.pathname.replace(/\/+$/, ''); if(/_\d+_\d+$/.test(p)) return false; return /_\d+$/.test(p) || /\/a-\d+$/.test(p); } var doReset = shouldReset(); if(doReset) document.documentElement.classList.add('va-init'); var initTimer = setTimeout(endInit, 3500); function endInit(){ clearTimeout(initTimer); document.documentElement.classList.remove('va-init'); } var CTRL = '.widget-attribute .v-s-boxes, .widget-attribute .va-dd'; var internal = false; function isPlaceholder(o){ if(!o) return true; var t = o.textContent.trim().toLowerCase(); return o.value === '' || o.value === '-1' || t.indexOf('bitte w') === 0; } function phIndex(sel){ return Array.prototype.findIndex.call(sel.options, isPlaceholder); } function hasColon(n){ return n && n.textContent && n.textContent.indexOf(':') > -1; } function isControl(n){ return n.classList && (n.classList.contains('v-s-boxes') || n.querySelector('.v-s-box, select')); } function findTitle(b){ var p = b.previousElementSibling; if(p && p.tagName !== 'B' && p.tagName !== 'STRONG' && hasColon(p) && !isControl(p)){ return { label: p.textContent.split(':')[0].trim(), hide: function(){ p.classList.add('va-hide'); } }; } if(p && (p.tagName === 'B' || p.tagName === 'STRONG')){ var t = p.previousSibling, txt = ''; while(t && t.nodeType !== 1){ if(t.nodeType === 3) txt = t.nodeValue + txt; t = t.previousSibling; } if(txt.indexOf(':') > -1){ var par = b.parentElement; return { label: txt.split(':')[0].trim(), hide: function(){ par.classList.add('va-loose'); p.classList.add('va-hide'); } }; } if(t && hasColon(t) && !isControl(t)){ var sp = t; return { label: sp.textContent.split(':')[0].trim(), hide: function(){ sp.classList.add('va-hide'); p.classList.add('va-hide'); } }; } } var pa = b.parentElement; if(pa && pa.children.length === 1){ var pp = pa.previousElementSibling; if(pp && hasColon(pp) && !isControl(pp)){ return { label: pp.textContent.split(':')[0].trim(), hide: function(){ pp.classList.add('va-hide'); } }; } } return null; } function setAttr(n, k, v){ if(n.getAttribute(k) !== v) n.setAttribute(k, v); } function setVar(n, k, v){ n.style.setProperty(k, v + 'px'); } function sizeCols(){ var r = document.createRange(); document.querySelectorAll('.widget-attribute .v-s-boxes:not(.images)').forEach(function(b){ var max = 0; b.querySelectorAll('.v-s-box:not(.empty-option)').forEach(function(x){ r.selectNodeContents(x); var w = r.getBoundingClientRect().width; var f = x.firstElementChild, l = x.lastElementChild; if(f) w += parseFloat(getComputedStyle(f).marginLeft) || 0; if(l) w += parseFloat(getComputedStyle(l).marginRight) || 0; var cs = getComputedStyle(x); w += parseFloat(cs.paddingLeft) + parseFloat(cs.paddingRight) + 2; if(w > max) max = w; }); if(max){ var v = Math.ceil(max) + 'px'; if(b.style.getPropertyValue('--va-col') !== v) b.style.setProperty('--va-col', v); } }); } function align(){ var dd = document.querySelector('.widget-attribute .va-dd'); var L, R; if(dd && dd.offsetWidth){ var d = dd.getBoundingClientRect(); L = d.left - parseFloat(getComputedStyle(dd).marginLeft || 0); R = d.right; } else { var w = document.querySelector('.widget-attribute'); if(!w) return; var wr = w.getBoundingClientRect(), cs = getComputedStyle(w); L = wr.left + parseFloat(cs.paddingLeft); R = wr.right - parseFloat(cs.paddingRight); } document.querySelectorAll('.widget-attribute .v-s-boxes').forEach(function(b){ var r = b.getBoundingClientRect(); if(!r.width) return; var ml = parseFloat(b.style.getPropertyValue('--va-ml')) || 0; var mr = parseFloat(b.style.getPropertyValue('--va-mr')) || 0; if(Math.abs(L - r.left) > .5) setVar(b, '--va-ml', ml + (L - r.left)); if(Math.abs(r.right - R) > .5) setVar(b, '--va-mr', mr + (r.right - R)); }); } function apply(){ document.querySelectorAll('.widget-attribute .input-unit select').forEach(function(sel){ var u = sel.closest('.input-unit'); u.classList.add('va-dd'); var lb = u.querySelector('label'); if(lb && lb.textContent.trim()) setAttr(u, 'data-va-label', lb.textContent.trim()); if(!u.querySelector('.va-chev')){ var c = document.createElement('span'); c.className = 'va-chev'; u.appendChild(c); } if(!u.querySelector('.va-list')){ var l = document.createElement('div'); l.className = 'va-list'; u.appendChild(l); } }); document.querySelectorAll('.widget-attribute .v-s-boxes').forEach(function(b){ var t = findTitle(b); if(t && t.label){ setAttr(b, 'data-va-label', t.label); t.hide(); } }); var n = 0; document.querySelectorAll(CTRL).forEach(function(c){ n++; c.classList.add('va-step'); setAttr(c, 'data-va-step', String(n)); var done; if(c.classList.contains('va-dd')){ var s = c.querySelector('select'); done = s && s.selectedIndex > -1 && !isPlaceholder(s.options[s.selectedIndex]); } else { done = !!c.querySelector('.v-s-box.active:not(.empty-option)'); } c.classList.toggle('is-done', !!done); }); sizeCols(); align(); align(); } var busyTimer; function setBusy(on){ document.querySelectorAll('.widget-attribute').forEach(function(w){ w.classList.toggle('va-busy', on); }); clearTimeout(busyTimer); if(on) busyTimer = setTimeout(function(){ setBusy(false); }, 4000); } var resetDone = false; function initialReset(tries){ if(resetDone) return; if(!doReset){ resetDone = true; endInit(); return; } tries = tries || 0; var boxCount = document.querySelectorAll('.widget-attribute .v-s-boxes').length; var hasEmpty = !!document.querySelector('.widget-attribute .v-s-box.empty-option'); var hasPh = Array.prototype.some.call(document.querySelectorAll('.widget-attribute .input-unit select'), function(s){ return phIndex(s) > -1; }); if(!hasEmpty && !hasPh){ if(tries < 60) setTimeout(function(){ initialReset(tries + 1); }, 50); else { apply(); endInit(); } return; } resetDone = true; var steps = []; for(var i = 0; i < boxCount; i++){ (function(i){ steps.push(function(){ var c = document.querySelectorAll('.widget-attribute .v-s-boxes')[i]; if(!c) return false; var empty = c.querySelector('.v-s-box.empty-option'); if(!empty || !c.querySelector('.v-s-box.active:not(.empty-option)')) return false; internal = true; empty.click(); internal = false; return true; }); })(i); } var selCount = document.querySelectorAll('.widget-attribute .input-unit select').length; for(var j = 0; j < selCount; j++){ (function(j){ steps.push(function(){ var s = document.querySelectorAll('.widget-attribute .input-unit select')[j]; if(!s) return false; var ph = phIndex(s); if(ph < 0 || s.selectedIndex === ph) return false; s.selectedIndex = ph; s.dispatchEvent(new Event('change', {bubbles:true})); return true; }); })(j); } var k = 0; (function next(){ if(k >= steps.length){ setTimeout(function(){ apply(); endInit(); }, 30); return; } var acted = steps[k++](); setTimeout(next, acted ? 60 : 0); })(); } function snapshot(skip){ var s = []; document.querySelectorAll(CTRL).forEach(function(c, i){ if(c === skip) return; if(c.classList.contains('va-dd')){ var sel = c.querySelector('select'), o = sel.options[sel.selectedIndex]; if(o && !isPlaceholder(o)) s.push({ i: i, dd: true, v: o.value }); } else { var a = c.querySelector('.v-s-box.active:not(.empty-option)'); if(a) s.push({ i: i, dd: false, t: a.textContent.trim() }); } }); return s; } function restore(s){ var k = 0; (function next(){ if(k >= s.length){ apply(); setBusy(false); return; } var it = s[k++]; var c = document.querySelectorAll(CTRL)[it.i]; if(c){ if(it.dd){ var sel = c.querySelector('select'); if(sel && sel.value !== it.v){ sel.value = it.v; sel.dispatchEvent(new Event('change', {bubbles:true})); } } else { var cur = c.querySelector('.v-s-box.active:not(.empty-option)'); if(!cur || cur.textContent.trim() !== it.t){ var tgt = Array.prototype.find.call(c.querySelectorAll('.v-s-box:not(.empty-option)'), function(x){ return x.textContent.trim() === it.t; }); if(tgt) tgt.click(); } } } setTimeout(next, 120); })(); } function deselect(skip, doIt){ var s = snapshot(skip); setBusy(true); internal = true; doIt(); internal = false; setTimeout(function(){ restore(s); }, 150); } document.addEventListener('click', function(e){ if(internal || !e.target || !e.target.closest) return; var box = e.target.closest('.widget-attribute .v-s-box.active:not(.empty-option)'); if(!box) return; var cont = box.closest('.v-s-boxes'); var empty = cont.querySelector('.v-s-box.empty-option'); if(!empty) return; e.preventDefault(); e.stopPropagation(); deselect(cont, function(){ empty.click(); }); }, true); function raise(u, on){ [u.closest('.widget-attribute'), u.closest('.widget')].forEach(function(w){ if(!w) return; w.style.position = on ? 'relative' : ''; w.style.zIndex = on ? '1000' : ''; }); } function closeAll(){ document.querySelectorAll('.va-dd.is-open').forEach(function(u){ u.classList.remove('is-open'); raise(u, false); }); } function render(u){ var sel = u.querySelector('select'), list = u.querySelector('.va-list'); list.innerHTML = ''; Array.prototype.forEach.call(sel.options, function(o, i){ if(isPlaceholder(o)) return; var it = document.createElement('div'); it.className = 'va-opt' + (i === sel.selectedIndex ? ' is-selected' : '') + (o.disabled ? ' is-disabled' : ''); it.textContent = o.textContent.trim(); it.setAttribute('data-idx', i); list.appendChild(it); }); } document.addEventListener('click', function(e){ if(!e.target || !e.target.closest) return; var opt = e.target.closest('.va-opt'); if(opt){ if(opt.classList.contains('is-disabled')) return; var dd = opt.closest('.va-dd'); var sel = dd.querySelector('select'); closeAll(); if(opt.classList.contains('is-selected')){ var ph = phIndex(sel); if(ph > -1){ deselect(dd, function(){ sel.selectedIndex = ph; sel.dispatchEvent(new Event('change', {bubbles:true})); }); } return; } sel.selectedIndex = +opt.getAttribute('data-idx'); sel.dispatchEvent(new Event('change', {bubbles:true})); setTimeout(apply, 50); return; } var u = e.target.closest('.va-dd'); if(u && !e.target.closest('.va-list')){ var wasOpen = u.classList.contains('is-open'); closeAll(); if(!wasOpen){ render(u); u.classList.add('is-open'); raise(u, true); } return; } if(!u) closeAll(); if(e.target.closest('.v-s-box')) setTimeout(apply, 50); }); document.addEventListener('keydown', function(e){ if(e.key === 'Escape') closeAll(); }); window.addEventListener('resize', apply); if(document.fonts && document.fonts.ready) document.fonts.ready.then(apply); new MutationObserver(apply).observe(document.body, {childList:true, subtree:true}); apply(); if(document.readyState !== 'loading') initialReset(); else document.addEventListener('DOMContentLoaded', function(){ initialReset(); }); })(); (function () { if (document.getElementById('os-basket-style')) return; var css = [ '.single .add-to-basket-container{display:flex;align-items:stretch;gap:.5rem}', '.single .add-to-basket-container .quantity-input-container{flex:none;margin:0 !important}', '.single .qty-box{height:3.25rem !important;border:1px solid #d9dcdd !important;border-radius:6px !important;overflow:hidden;background:#fff;transition:border-color .2s ease}', '.single .qty-box:hover,.single .qty-box:focus-within{border-color:var(--os-accent) !important}', '.single .qty-box .qty-input{width:3rem;border:0 !important;background:transparent !important;font-size:1rem;font-weight:400;color:var(--os-black);box-shadow:none !important;outline:none !important}', '.single .qty-box .qty-btn-container{border-left:1px solid #eee !important;background:#fff !important}', '.single .qty-box .qty-btn{width:2rem;background:#fff !important;border:0 !important;border-radius:0 !important;color:var(--os-dunkelgrau) !important;font-size:.7rem;box-shadow:none !important;transition:color .15s ease,background-color .15s ease}', '.single .qty-box .qty-btn:hover:not(:disabled){background:rgba(161,198,57,.15) !important;color:var(--os-black) !important}', '.single .qty-box .qty-btn-seperator{background:#eee !important;height:1px}', '.single .add-to-basket-container .btn-primary{min-height:3.25rem;border:0 !important;border-radius:6px !important;font-size:.95rem;font-weight:400;letter-spacing:.04em;box-shadow:none !important;transition:background-color .2s ease,color .2s ease}', '.single .add-to-basket-container .btn-primary:hover:not(:disabled):not(.disabled){background:var(--os-accent) !important;color:var(--os-black) !important}', '.single .paypalSmartButtons{width:100% !important;max-width:none !important;margin-top:.5rem !important;border-radius:6px;overflow:hidden}' ].join(''); var el = document.createElement('style'); el.id = 'os-basket-style'; el.textContent = css; document.head.appendChild(el); })(); (function () { // Im ShopBuilder-Editor nichts verändern if (/isContentBuilder/.test(location.search)) return; // ===== CSS (später in die CSS-Datei) ===== var css = '' + '.os-acc-head{display:flex;justify-content:space-between;align-items:center;width:100%;margin:0;padding:16px 12px 16px 0;background:none;border:0;border-top:1px solid #e0e0e0;cursor:pointer;text-align:left;font:inherit;font-weight:400;font-size:1.15rem;color:#333;transition:color .15s ease;}' + '.os-acc-head svg{flex-shrink:0;transition:transform .2s ease;}' + '.os-acc-head[aria-expanded="false"]:hover{color:var(--os-accent,#8cc63f);}' + '.os-acc-head[aria-expanded="true"]{color:#000;font-weight:700;}' + '.os-acc-head[aria-expanded="true"] svg{transform:rotate(180deg);}' + '.os-acc-head:focus-visible{outline:2px solid currentColor;outline-offset:-2px;}' + '[data-os-wrap]{margin-top:0 !important;margin-bottom:0 !important;padding-top:0 !important;padding-bottom:0 !important;}' + '[data-os-gapb]{margin-bottom:0 !important;padding-bottom:0 !important;}' + '[data-os-gapt]{margin-top:0 !important;padding-top:0 !important;}' + '[data-os-first]{margin-top:0 !important;padding-top:0 !important;}' + '[data-os-last]{margin-bottom:0 !important;padding-bottom:0 !important;border-bottom:0 !important;}' + '[data-os-body]{margin-top:0 !important;margin-bottom:0 !important;padding-bottom:28px !important;border:0 !important;}' + '[data-os-closed],[data-os-empty]{display:none !important;}' + '.os-acc-end{border-top:1px solid #e0e0e0;margin-bottom:2rem;}' + '.os-dl{display:flex;align-items:center;gap:8px;width:fit-content;margin-bottom:6px;color:inherit;text-decoration:none !important;transition:color .15s ease;}' + '.os-dl:last-child{margin-bottom:0;}' + '.os-dl svg{flex-shrink:0;}' + '.os-dl:hover{color:var(--os-accent,#8cc63f);}' + '.os-dl:hover span{text-decoration:underline;}'; var old = document.getElementById('os-acc-css'); if (old) old.parentNode.removeChild(old); var s = document.createElement('style'); s.id = 'os-acc-css'; s.textContent = css; document.head.appendChild(s); // ===== JS ===== var GROUPS = [ { key: 'beschreibung', label: 'Beschreibung', open: false }, { key: 'technik', label: 'Technische Daten', open: false }, { key: 'downloads', label: 'Downloads', open: false }, { key: 'sicherheit', label: 'Produktsicherheit', open: false } ]; var ATTRS = ['data-os-body', 'data-os-first', 'data-os-last', 'data-os-closed', 'data-os-empty', 'data-os-wrap', 'data-os-gapb', 'data-os-gapt']; // Sichtbarer Text (ohne Script/Style) function textWalker(el) { return document.createTreeWalker(el, NodeFilter.SHOW_TEXT, { acceptNode: function (n) { var p = n.parentNode; while (p && p !== el) { if (p.tagName === 'SCRIPT' || p.tagName === 'STYLE' || p.tagName === 'NOSCRIPT') return NodeFilter.FILTER_REJECT; p = p.parentNode; } return n.nodeValue.trim() ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT; } }); } function hasContent(el) { if (el.tagName === 'SCRIPT' || el.tagName === 'STYLE') return false; return !!textWalker(el).nextNode() || !!el.querySelector('img, a[href], table, iframe, video'); } function isMarked(el) { return /(^|\s)os-acc-(beschreibung|technik|downloads|sicherheit)(\s|$)/.test(el.className || ''); } // Äußersten Container finden, der nur dieses Widget enthält function topWrapper(el) { var cur = el; while (cur.parentElement && cur.parentElement !== document.body) { var p = cur.parentElement; if (p.id === 'vue-app' || p.tagName === 'MAIN' || isMarked(p)) break; var kids = Array.prototype.filter.call(p.children, function (c) { return c.tagName !== 'SCRIPT' && c.tagName !== 'STYLE' && !c.classList.contains('os-acc-head') && !c.classList.contains('os-acc-end'); }); if (kids.length !== 1) break; cur = p; } return cur; } function markChain(node, top, attr) { var e = node.nodeType === 3 ? node.parentElement : node; while (e) { e.setAttribute(attr, ''); if (e === top) break; e = e.parentElement; } } // Leere Absätze/Umbrüche entfernen, Rand oben/unten angleichen function tidy(top) { top.setAttribute('data-os-body', ''); top.querySelectorAll('p, div, section, span, h1, h2, h3, h4, h5, h6, ul, ol, li').forEach(function (e) { if (!hasContent(e)) e.setAttribute('data-os-empty', ''); }); var w = textWalker(top); var first = w.nextNode(), last = first, n; while ((n = w.nextNode())) last = n; if (!first) return; top.querySelectorAll('br').forEach(function (br) { if ((br.compareDocumentPosition(first) & Node.DOCUMENT_POSITION_FOLLOWING) || (last.compareDocumentPosition(br) & Node.DOCUMENT_POSITION_FOLLOWING)) { br.setAttribute('data-os-empty', ''); } }); markChain(first, top, 'data-os-first'); markChain(last, top, 'data-os-last'); } // Container, die nur Überschrift + eigene Widgets enthalten: Abstände auf 0 function markWrap(btn, tops) { var p = btn.parentElement, child = null; while (p && p !== document.body && p.id !== 'vue-app' && p.tagName !== 'MAIN') { var ok = Array.prototype.every.call(p.children, function (c) { return c === btn || c === child || tops.indexOf(c) !== -1 || c.classList.contains('os-acc-end') || c.tagName === 'SCRIPT' || c.tagName === 'STYLE' || c.hasAttribute('data-os-empty') || !hasContent(c); }); if (!ok) break; p.setAttribute('data-os-wrap', ''); child = p; p = p.parentElement; } } // Abstände der Container zwischen zwei Überschriften entfernen (z. B. Tab-Widget) function closeGap(a, b, allTops) { var w = document.createTreeWalker(document.body, NodeFilter.SHOW_ELEMENT), n, zero = []; w.currentNode = a; while ((n = w.nextNode()) && n !== b) { if (a.contains(n) || n.contains(b)) continue; if (allTops.some(function (t) { return t === n || t.contains(n); })) continue; if (!n.getClientRects().length) continue; if (n.getBoundingClientRect().height > 0) return; // echter Inhalt dazwischen if (!hasContent(n)) zero.push(n); // leeres Element ohne Höhe, aber evtl. mit Abstand } zero.forEach(function (z) { z.setAttribute('data-os-empty', ''); }); var p = a.parentElement; while (p && !p.contains(b)) { p.setAttribute('data-os-gapb', ''); p = p.parentElement; } p = b.parentElement; while (p && !p.contains(a)) { p.setAttribute('data-os-gapt', ''); p = p.parentElement; } } function build() { // Aufräumen bei erneutem Aufruf document.querySelectorAll('.os-acc-head, .os-acc-end').forEach(function (n) { n.parentNode.removeChild(n); }); ATTRS.forEach(function (a) { document.querySelectorAll('[' + a + ']').forEach(function (n) { n.removeAttribute(a); }); }); var allTops = [], heads = [], lastTop = null; GROUPS.forEach(function (g) { var marked = Array.prototype.slice.call(document.querySelectorAll('.os-acc-' + g.key)); var tops = []; marked.forEach(function (el) { var top = topWrapper(el); if (hasContent(el)) { if (tops.indexOf(top) === -1) tops.push(top); } else { top.setAttribute('data-os-empty', ''); } }); if (!tops.length) return; tops.sort(function (a, b) { return a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1; }); tops.forEach(tidy); var btn = document.createElement('button'); btn.type = 'button'; btn.className = 'os-acc-head'; btn.innerHTML = '' + g.label + '' + ''; tops[0].parentNode.insertBefore(btn, tops[0]); markWrap(btn, tops); function apply() { tops.forEach(function (el) { if (g.open) el.removeAttribute('data-os-closed'); else el.setAttribute('data-os-closed', ''); }); btn.setAttribute('aria-expanded', g.open ? 'true' : 'false'); } btn.addEventListener('click', function () { g.open = !g.open; apply(); }); apply(); allTops = allTops.concat(tops); heads.push(btn); var t = tops[tops.length - 1]; if (!lastTop || (lastTop.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING)) { lastTop = t; } }); if (!lastTop) return; // Abschlusslinie direkt unter dem letzten Bereich var end = document.createElement('div'); end.className = 'os-acc-end'; lastTop.parentNode.insertBefore(end, lastTop.nextSibling); // Leere Elemente zwischen den Bereichen und direkt darunter ausblenden var parents = []; heads.concat([end]).forEach(function (h) { if (parents.indexOf(h.parentNode) === -1) parents.push(h.parentNode); }); parents.forEach(function (p) { var started = false, afterEnd = false; Array.prototype.forEach.call(p.children, function (c) { if (c.classList.contains('os-acc-head')) { started = true; return; } if (c === end) { afterEnd = true; return; } if (!started || allTops.indexOf(c) !== -1) return; if (allTops.some(function (t) { return c.contains(t); })) return; if (afterEnd === 'stop') return; if (!hasContent(c)) { c.setAttribute('data-os-empty', ''); } else if (afterEnd) { afterEnd = 'stop'; } }); }); // Lücken zwischen den Überschriften schließen for (var i = 0; i < heads.length - 1; i++) closeGap(heads[i], heads[i + 1], allTops); } function init() { setTimeout(build, 0); } if (document.readyState === 'complete') init(); else window.addEventListener('load', init); document.addEventListener('onVariationChanged', init); if (window.jQuery) window.jQuery(document).on('onVariationChanged', init); })(); (function () { if (document.getElementById('os-attr-missing-style')) return; var RED = 'var(--os-red, #df6d80)'; var css = [ '.va-blocked{cursor:not-allowed}', '.va-blocked > .btn-primary:disabled,.va-blocked > .btn-primary.disabled{pointer-events:none}', 'body .widget-attribute .v-s-boxes.va-missing:not(.is-done) .v-s-box:not(.empty-option){border-color:' + RED + ' !important}', 'body .widget-attribute .v-s-boxes.va-missing:not(.is-done)[data-va-label]::before{color:' + RED + '}', 'body .widget-attribute .input-unit.va-dd.va-missing:not(.is-done){border-color:' + RED + ' !important}', 'body .widget-attribute .input-unit.va-dd.va-missing:not(.is-done)[data-va-label]::before{color:' + RED + '}', 'body .widget-attribute .va-step.va-missing:not(.is-done)::after{border-color:' + RED + ';color:' + RED + '}', '@keyframes va-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}', 'body .widget-attribute .va-shake{animation:va-shake .35s ease}' ].join(''); var el = document.createElement('style'); el.id = 'os-attr-missing-style'; el.textContent = css; document.head.appendChild(el); var BTN = '.add-to-basket-container .btn-primary'; function isDisabled(b){ return b && (b.disabled || b.classList.contains('disabled')); } function sync(){ document.querySelectorAll(BTN).forEach(function(b){ if(b.parentElement) b.parentElement.classList.toggle('va-blocked', !!isDisabled(b)); }); } function missing(){ return Array.prototype.filter.call( document.querySelectorAll('.widget-attribute .va-step'), function(c){ return !c.classList.contains('is-done'); } ); } function markMissing(){ var list = missing(); if(!list.length) return false; list.forEach(function(c){ c.classList.add('va-missing'); c.classList.remove('va-shake'); void c.offsetWidth; c.classList.add('va-shake'); setTimeout(function(){ c.classList.remove('va-shake'); }, 400); }); var r = list[0].getBoundingClientRect(); if(r.top < 80 || r.bottom > window.innerHeight){ list[0].scrollIntoView({ behavior: 'smooth', block: 'center' }); } return true; } document.addEventListener('click', function(e){ if(!e.target || !e.target.closest) return; var wrap = e.target.closest('.va-blocked'); if(!wrap) return; var b = wrap.querySelector(':scope > .btn-primary'); if(!isDisabled(b)) return; if(markMissing()){ e.preventDefault(); e.stopPropagation(); } }, true); new MutationObserver(sync).observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['disabled', 'class'] }); sync(); })();
Angaben zur Produktsicherheit:

Hersteller: DALI GmbH, Berliner Ring 89, 64625 Bensheim, Deutschland
Kontakt: kontakt@dali-speakers.de

In der EU verantwortliche Person:
DALI GmbH, Berliner Ring 89, 64625 Bensheim, Deutschland
Kontakt: kontakt@dali-speakers.de


Hinweis: Jede Bewertung wird vor ihrer Veröffentlichung auf ihre Echtheit überprüft, sodass sichergestellt ist, dass Bewertungen nur von Verbrauchern stammen, die die bewerteten Produkte auch tatsächlich erworben bzw. genutzt haben.

Mehr von der Marke


Das könnte dir auch gefallen