🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !
🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !

🔥LAST DAY 48% OFF 🔥2022 New DIY Festive Ambient Light 🎁BUY 2 FREE SHIPPING !

Price

$37.48 $34.99
Save $2.49
Free shipping on orders over 69.9

usb charging(30 days free refund ):

Please select a usb charging(30 days free refund ):

control method:

Please select a control method:

Quantity

Free returns
Sustainably made
Secure payments
 

(No need to use promotional codes, the system will automatically reduce the price after adding to the shopping cart.)

🔥 The price is limited! 🔥 Grab yours as the limited promotion available!

undefined

✅If you are not satisfied with the goods received, please contact us within 15 days after receipt, we will give you the best help!Please don't worry!

🎉Free Shipping>> Save your shipping costs

✈Handling time>> Priority is given to delivery after payment.


Lights that flow to the beat of the music? This must be very exciting!

😎 Allowing you to decorate your patio and bedroom without any worries, For all your festive light decoration needs!

【2022 NEW 😍】 Sound activated festive ambient light !

Easy to shape Wire and Wide Uses: Flexible copper wire design makes this waterproof LED lights can be applied both indoor outdoor, like teen girl room, bedroom, dormitory, bar, window, goblet, Christmas tree.

An amazing RGB copper string lights for creating marvelous decorations for Christmas, Halloween, and parties!

 🎨Amazing Bluetooth Fairy Lights: The APP control smart fairy lights are 16.4feet /32.8 long with 100 color-changing micro LEDs. The thin copper wire and smaller dewdrop-sized LED bulbs will give a delicate and cozy touch to everyday decorations and holiday decor like DIY, Wedding, Party, etc

🔊 Smart Lights with Music Sync: A built-in sensitive microphone on the controller empowers this LED string light to flash in rhythm with any music, creating a matched dynamic and romantic atmosphere. Simply immerse yourselves in music and lighting. Perfect for outdoor areas like patio, balcony, garden, dining areas

Waterproof and Shockproof:Our USB fairy string lights' waterproof IP rating is IP67. The LED is covered by polycarbonate, which is good at shockproof insulation. Ensured the long-lasting life span and safety.

🚦 Smart Control:Wi-Fi-supported fairy lights can be controlled by your voice, cellphone, or tablet wherever you are.

 

❓ Q&A 🤔

Q1: Is the light water proof or water resistant?
A1: The light string is water resistant but the USB and controller are not.

Q2: Can you choose three or more specific colors for the lights to alternate between? Like orange, purple, and green? Or just green and red?
A2: It doesn’t let you choose specific colors but there are a lot of different modes that run through different colors.

Q3: What is a good way to hang them up?
A3: Hooks are included in the package, and there is also an eyelet above the bulb to allow the wire to pass through.

Q4:How does this light sync with music?
A4: The built-in, sensitive mic allows you to sync the string lights to your favorite music or even responds to your voice. Moreover, there are 4 music modes which have different color changing patterns. You can even adjust the sensitivity of the sound sensor. The lights will dance with the rhythm of the sound and jazz the party up.

Specification:

  • Power Supply: USB powered
  • Input Voltage: DC 5V
  • Voice Control: Alexa/Echo/Google Home/Siri
  • Color: RGB/Multicolor
  • Rope Length: 16.4/32.8FT
  • Number of LED: 50/100pcs
  • Material: Leather cover + Silver wire2.
 AFTER-SALE SERVICE:

Dear Customer, purchase any product here and try it in the comfort of your own home for 30 days.

If for whatever reason you’re not completely satisfied, then return the product within 30 days. Please contact our customer service team if you need to process a return for any reason, Please include your Order number and Name.

We have 24/7/365 Ticket and Email Support. Please contact us if you need assistance.

We ship to 127 countries, including US, CA, AU and all countries in Europe.

We are convinced that we have some of the most innovative products in the world, and we hope to support this through a 90-day guarantee.

If you do not have a positive experience for any reason, we will do our best to ensure that you are 100% satisfied with the purchase.

/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1718252090972').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);
class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }, true); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);