{"title":"All Products","description":"","products":[{"product_id":"eds2-ble-5-0-smart-door-window-contact-sensor","title":"LinknLink eDS2 (BLE Contact Sensor)","description":"\u003cstyle type=\"text\/css\"\u003e\n    * {\n        margin: 0;\n        padding: 0;\n        box-sizing:border-box;\n    }\n    body, html {\n        height: 100%;\n    }\n    \/* pc端样式 *\/\n    .productDetailsBox {\n        width: 100%;\n    }\n    .productDetailsBox img {\n        margin: 0;\n    }\n    .describeBox {\n        margin-top: 20px;\n    }\n    .productDetailsBox h3 {\n        margin: 23px 0 0;\n        font-size: 18px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: bold;\n        color: #000000;\n        line-height: 20px;\n    }\n    .productDetailsBox p {\n        margin: 4px 0 0;\n        font-size: 16px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n\n    .paragraphBox {\n        margin-top: 30px;\n        padding: 20px 0 17px 22px;\n        background: #F3F3F3;\n        border: 1px solid #F3F3F3;\n        border-radius: 8px;\n    }\n\n    .paragraphDiv {\n        display: flex;\n    }\n\n    .paragraphDiv \u003e p {\n        margin: 0!important;\n        padding: 0!important;\n        font-size: 14px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n\n    .scenesBox {\n        width: 100%;\n        display: flex;\n        justify-content: space-between;\n        list-style: none !important;\n        margin: 0 !important;\n        padding: 0 !important;\n        flex-direction: row;\n        flex-wrap: wrap;\n    }\n    .scenesShowItem {\n        width: 48.5%;\n        margin-top: 40px;\n    }\n    .scenesShowItem::before {\n        background: initial !important;\n    }\n    .scenesShowItem \u003e img {\n        width: 100%;\n    }\n\n    .setUpSection {\n        padding: 25px 0 40px;\n    }\n    .setUpUL {\n        width: 100%;\n        display: flex;\n        justify-content: space-between;\n        list-style: none !important;\n        margin: 0 !important;\n        padding: 0 !important;\n        flex-direction: row;\n        flex-wrap: wrap;\n    }\n    .setUpItem {\n        width: 30%;\n    }\n    .setUpItem::before {\n        background: initial !important;\n    }\n    #setUpTitle {\n        margin-top: 40px;\n        font-size: 18px;\n        line-height: 20px;\n    }\n\n    .headerVeLinkHide {\n        display: none!important;\n    }\n    .headerImageHide {\n        display: none!important;\n    }\n    #middleImage {\n        margin-top: 40px;\n        margin-bottom: 10px;\n    }\n    #middleImage1 {\n        margin-top: 30px;\n        margin-bottom: 10px;\n    }\n    #bottomImage {\n        margin-top: 40px;\n    }\n    .bottomImageHide {\n        display: none!important;\n    }\n    .setUpItem \u003e img {\n        width: 100%;\n    }\n    #lastWord {\n        margin: 10px 34px;\n        color: #5A5B5B;\n        font-size: 14px;\n    }\n    .productDetailsBox #headerVeLink {\n        display: block;\n        width: 100%;\n        min-height:292px\n    }\n    .productDetailsBox #h3EleId {\n        font-size: 18px;\n    }\n    .productDetailsBox #setUpLIId h3 {\n        font-size: 16px;\n    }\n    .productDetailsBox #setUpLIId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsBox table {\n        border-collapse: collapse;\n        margin-top: 0!important;\n    }\n    .productDetailsBox table tr td {\n        padding: 0;\n        border-top: 1px solid #E7E7E7;\n        border-bottom: 1px solid #E7E7E7;\n        height: 45px;\n        font-size: 14px;\n        line-height: 25px;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox tr td:first-child {\n        background: #F3F3F3;\n        padding-left: 20px;\n    }\n    .productDetailsBox tr td:last-child {\n        padding-left: 20px;\n        color: black;\n        font-weight: 300;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox .bottomVeLink {\n        margin: 40px 0px 10px;\n        display: block;\n        width: 100%;\n        min-height:292px\n    }\n    .productDetailsBox .instructionVideo {\n        margin-bottom: 40px;\n        font-weight: 500;\n    }\n    .productDetailsBox .formBox {\n        padding: 30px 100px;\n        box-sizing: border-box;\n        display: flex;\n        justify-content: center;\n        flex-direction: column;\n        align-items: center;\n        border-radius: 16px;\n        background: #F3F3F3;\n        min-height: 200px;\n    }\n    .productDetailsBox .emailDescribe {\n        text-align: center;\n        font-weight: 500;\n    }\n    .productDetailsBox .emailInput {\n        width: 100%;\n        color: #000000;\n        margin: 20px 0px;\n        height: 40px;\n        text-indent:5px;\n    }\n    .productDetailsBox .emailInput:-ms-input-placeholder {\n        text-align: left;\n        font-family: \"Helvetica\", sans-serif;\n        color: #c0ccda;\n    }\n    .productDetailsBox .emailInput:placeholder {\n        text-align: left;\n        font-family: \"Helvetica\", sans-serif;\n        color: #c0ccda;\n    }\n    .productDetailsBox .submitButton {\n        padding:12px 25px;\n        font-size:12px;\n        font-weight:700;\n        border-radius:18px;\n        background-color:#2c5af6;\n        color:#FFFFFF;\n        border-width:0px;\n        cursor: pointer;\n        margin-top: 20px;\n    }\n\n    \/* FAQ 折叠模块 *\/\n    .productDetailsBox .faqBox {\n        margin-top: 40px;\n        padding: 24px 22px;\n        background: #F3F3F3;\n        border: 1px solid #E7E7E7;\n        border-radius: 8px;\n    }\n    .productDetailsBox .faqTitle {\n        margin: 0 0 18px 0 !important;\n        font-size: 22px;\n        line-height: 24px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .productDetailsBox .faqItem {\n        border-top: 1px solid #D9D9D9;\n    }\n    .productDetailsBox .faqItem:first-of-type {\n        border-top: none;\n    }\n    .productDetailsBox .faqQuestion {\n        width: 100%;\n        padding: 18px 34px 18px 0;\n        background: transparent;\n        border: 0;\n        cursor: pointer;\n        text-align: left;\n        position: relative;\n        font-size: 16px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .productDetailsBox .faqQuestion:after {\n        content: \"+\";\n        position: absolute;\n        right: 0;\n        top: 50%;\n        transform: translateY(-50%);\n        font-size: 24px;\n        line-height: 24px;\n        font-weight: 300;\n    }\n    .productDetailsBox .faqItem.active .faqQuestion:after {\n        content: \"−\";\n    }\n    .productDetailsBox .faqAnswer {\n        display: none;\n        padding: 0 0 18px 0;\n    }\n    .productDetailsBox .faqItem.active .faqAnswer {\n        display: block;\n    }\n    .productDetailsBox .faqAnswer p {\n        margin: 0 !important;\n        font-size: 14px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000;\n    }\n\n    \/* 移动端样式 *\/\n    * {\n        margin: 0;\n        padding: 0;\n        box-sizing:border-box;\n    }\n    body, html {\n        height: 100%;\n    }\n    .productDetailsMobile {\n        width: 100%;\n    }\n    .productDetailsMobile #headerImage {\n        margin: 0;\n        width: 100%;\n    }\n    .productDetailsMobile #headerVeLink {\n        display: block;\n        width: 100%;\n    }\n    .productDetailsMobile h3 {\n        font-size: 20px;\n        line-height: 22px!important;\n        margin-top: 0;\n    }\n    .productDetailsMobile #describeBox {\n        margin-top: 10px;\n    }\n    .productDetailsMobile #insertElementId {\n        margin-top: 15px;\n        padding: 13px 19px 17px 20px;\n    }\n    .productDetailsMobile #scenesBox,\n    .productDetailsMobile #setUpUL {\n        width: 100%!important;\n    }\n    .productDetailsMobile #liEleId,\n    .productDetailsMobile #setUpLIId {\n        width: 100%!important;\n        margin-top: 25px;\n    }\n    .productDetailsMobile #setUpLIId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsMobile #h3EleId {\n        margin-top: 8px!important;\n        font-size: 16px!important;\n        line-height: 18px;\n    }\n    .productDetailsMobile #scenesBoxPEleId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsMobile #setUpTitle {\n        margin-top: 25px;\n        font-size: 20px;\n    }\n    .productDetailsMobile #setUpLIId:first-child {\n        margin-top: 0;\n    }\n    .productDetailsMobile #setUpSection {\n        padding: 15px 0 25px;\n    }\n    .productDetailsMobile #middleImage {\n        width: 100%;\n        margin-bottom: 15px;\n    }\n    .productDetailsMobile #middleImage1 {\n        width: 100%;\n        margin-bottom: 15px;\n    }\n    .productDetailsMobile #bottomImage {\n        width: 100%;\n        margin-top: 40px;\n    }\n    .productDetailsMobile table tr td {\n        font-size: 14px!important;\n        height: 47px!important;\n        line-height: 16px!important;\n    }\n    .productDetailsMobile tr td:first-child {\n        padding-left: 15px;\n        width: 150px!important;\n    }\n    .productDetailsMobile #lastWord {\n        font-size: 14px!important;\n        margin: 14px 0 18px 0;\n    }\n    .productDetailsMobile .faqBox {\n        margin-top: 30px;\n        padding: 18px 16px;\n    }\n    .productDetailsMobile .faqTitle {\n        font-size: 20px;\n        line-height: 22px;\n    }\n    .productDetailsMobile .faqQuestion {\n        padding: 16px 28px 16px 0;\n        font-size: 15px;\n        line-height: 19px;\n    }\n    .productDetailsMobile .faqAnswer p {\n        font-size: 14px;\n        line-height: 18px;\n    }\n\u003c\/style\u003e\n\n\u003cdiv id=\"productDetails\" class=\"productDetailsBox\"\u003e\n    \u003cimg id=\"headerImage\" src=\"#\"\u003e\n    \u003ciframe type=\"text\/html\" id=\"headerVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"#\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cdiv id=\"describeBox\" class=\"describeBox\"\u003e\u003c\/div\u003e\n    \u003csection\u003e\n        \u003cul id=\"scenesBox\" class=\"scenesBox\"\u003e\u003c\/ul\u003e\n    \u003c\/section\u003e\n    \u003cimg id=\"middleImage\" src=\"#\"\u003e\n    \u003cimg id=\"middleImage1\" src=\"#\"\u003e\n    \u003ctable width=\"100%\"\u003e\n        \u003ctbody id=\"tbodyid\"\u003e\u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/MRqyYPRk0Ko?si=fhoip6nzUrxvI-Le\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cp class=\"instructionVideo\"\u003eVideo by Fattelo da Solo\u003c\/p\u003e\n\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/vw1d-O4Luy8?si=X9gfHbHikqi-fPMy\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cp class=\"instructionVideo\"\u003eVideo by Smart Home UK-Martin Mierzejewski\u003c\/p\u003e\n\n    \u003cdiv class=\"faqBox\"\u003e\n        \u003ch3 class=\"faqTitle\"\u003eFrequently Asked Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eDoes this door and window sensor work on its own?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eNo. This BLE contact sensor needs to be used with a compatible LinknLink hub such as eRemote HA or eMotion Ultra to support app-based routines, notifications, and automation features.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eWhat can I monitor with this contact sensor?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eYou can monitor doors, windows, drawers, cabinets, closets, and other open-close points. The sensor detects whether they are open or closed based on the distance change between the two sensor parts.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eCan I receive alerts when a door or window opens?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eYes. When paired with a compatible LinknLink hub, you can receive push notifications and use the sensor state as a trigger for smart home automations.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eDoes it work with Alexa and Google Home?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eIt can work with LinknLink and Alexa routines for automation use cases when paired with a compatible hub. This makes it useful for security alerts, lighting scenes, and energy-saving routines.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eHow long does the battery last?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eThe sensor uses a CR1632 button cell. Under typical test conditions, standby time can reach about 8 months, though actual battery life depends on usage frequency.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp id=\"lastWord\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    {\/*此行以上不要动*\/}\n    var resources = {\n        headerImage:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1-_-kit-DC.jpg?v=1773141770',\n        headerVeLink:'https:\/\/www.youtube.com\/embed\/WsX_CHry92k?si=2uPKdPk4mY5SAoFG',\n        introduction:{\n            title:'Smart BLE Door \u0026 Window Contact Sensor',\n            text:'A compact Bluetooth 5.0 contact sensor for doors, windows, drawers, and cabinets. Get status monitoring, instant alerts, and automation triggers when paired with a compatible LinknLink hub.',\n            paragraph:[\n                '【Works with a Compatible LinknLink Hub】This BLE contact sensor needs to be used with a compatible hub such as eRemote HA or eMotion Ultra for app-based notifications, routines, and automation features.',\n                '【Monitor Doors, Windows, and More】The sensor detects whether doors, windows, drawers, closets, or cabinets are open or closed by sensing the distance change between the two sensor parts.',\n                '【Instant Push Notifications】Improve security and awareness by receiving alerts when unexpected entry is detected. This makes it a practical choice for doors, windows, and other access points.',\n                '【Smart Automations in LinknLink and Alexa】Use the contact status as a trigger for routines such as turning on lights, notifying users, or shutting down appliances when a window is opened.',\n                '【Bluetooth 5.0 and Compact Design】The compact body is easy to install with stickers and requires no tools. With Bluetooth 5.0 low energy design, standby time can reach around 8 months under test conditions.'\n            ]\n        },\n        scenes: [\n            {\n                image:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0620\/4496\/2972\/files\/P1_fd9b8f2f-aceb-4d3c-a0a6-04b35765055a.png?v=1709271607',\n                title:'Instant Push Notifications',\n                text:[\n                    'Improve home security and privacy by setting push alerts when unexpected entry is detected through a door, window, cabinet, or drawer.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0620\/4496\/2972\/files\/A_4.png?v=1709272565',\n                title:'Reliable Open\/Close Detection',\n                text:[\n                    'Know whether a door or window is open or closed, and use the sensor state to trigger actions in LinknLink, Alexa, or your wider smart home workflow.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0620\/4496\/2972\/files\/A_6-Routines.png?v=1709272565',\n                title:'Automation Triggers in LinknLink and Alexa',\n                text:[\n                    'Use contact sensor events as routine triggers to automate lighting, alerts, security responses, and convenience scenes.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0620\/4496\/2972\/files\/9c1872b8a6ab5cf8ee437d24fb04d181_c2e4e47b-e1af-4bc1-a334-77ce42fe8077.png?v=1709272565',\n                title:'Smarter and More Energy-Saving',\n                text:[\n                    'When an open window is detected, your automation can turn off the air conditioner or heater to reduce wasted energy and lower utility costs.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0620\/4496\/2972\/files\/DS-1.png?v=1709271606',\n                title:'Compact Design',\n                text:[\n                    'Small, elegant, and easy to install. The sensor can be placed neatly with stickers and requires no tools.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0620\/4496\/2972\/files\/DS_6f4467bc-78dd-4d7b-ae70-1901223f418a.png?v=1709271606',\n                title:'Bluetooth 5.0 Low Energy',\n                text:[\n                    'Bluetooth low energy design helps deliver long standby time, with test results showing up to about 8 months depending on usage.'\n                ]\n            }\n        ],\n        bottomImage:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0574\/9597\/8169\/files\/06-STEP1.jpg?v=1627605555',\n        middleImage:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0620\/4496\/2972\/files\/DS-_-_2.png?v=1709271605',\n        middleImage1:'',\n        tableData: [\n            {\n                title: 'Product',\n                text: 'Door \/ Window Contact Sensor'\n            },{\n                title: 'Model',\n                text: 'CGH1'\n            },{\n                title: 'Rated Voltage',\n                text: 'DC 3.0V'\n            },{\n                title: 'Battery',\n                text: 'CR1632 button cell'\n            },{\n                title: 'Wireless',\n                text: 'Bluetooth 5.0 Low Energy'\n            },{\n                title: 'Main Body Size',\n                text: '44 × 21.5 × 13 mm'\n            },{\n                title: 'Magnet Size',\n                text: '29 × 14 × 7 mm'\n            },{\n                title: 'Main Body Net Weight',\n                text: '6 g (battery not included)'\n            },{\n                title: 'Magnet Net Weight',\n                text: '7 g'\n            },{\n                title: 'FCC ID',\n                text: '2AQ3F-CGH1'\n            },{\n                title: 'App',\n                text: 'LinknLink (supports iOS 11 \/ Android 5.1 and above)'\n            }\n        ],\n        lastWord:'Functions such as routines require a compatible LinknLink hub like eRemote HA or eMotion Ultra, purchased separately. The 8-month standby time is based on test conditions and varies with actual usage frequency.'\n    };\n    {\/*此行以下不要动*\/}\n    \/\/ rem适配\n    if((navigator.userAgent.match(\/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|wOSBrowser|BrowserNG|WebOS)\/i))) {\n        if (document.documentElement.clientWidth === 320 || document.documentElement.clientWidth === 375 || document.documentElement.clientWidth === 414 || document.documentElement.clientWidth === 411 || document.documentElement.clientWidth === 360) {\n            var productDetailsEle = document.getElementById(\"productDetails\");\n            productDetailsEle.classList.add(\"productDetailsMobile\");\n        }\n    }\n\n    var headerVeLinkEle = document.getElementById(\"headerVeLink\");\n    if (resources.headerVeLink !== '') {\n        headerVeLinkEle.src = resources.headerVeLink;\n    } else {\n        headerVeLinkEle.classList.add('headerVeLinkHide');\n    }\n\n    var headerImageEle = document.getElementById(\"headerImage\");\n    if (resources.headerImage !== '') {\n        headerImageEle.src = resources.headerImage;\n    } else {\n        headerImageEle.classList.add('headerImageHide');\n    }\n\n    var describeBoxEle = document.getElementById(\"describeBox\");\n\n    var insertElement = document.createElement(\"h3\");\n    insertElement.innerText = resources.introduction.title;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"p\");\n    insertElement.innerText = resources.introduction.text;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"div\");\n    insertElement.id = \"insertElementId\";\n    insertElement.classList.add(\"paragraphBox\");\n    for (var i = 0; i \u003c resources.introduction.paragraph.length; i++) {\n        var eleDiv = document.createElement(\"div\");\n        eleDiv.id = \"eleDivid\";\n        eleDiv.classList.add('paragraphDiv');\n        eleDiv.innerHTML = '\u003cp\u003e•\u003cdiv style=\"width: 5px;\"\u003e\u003c\/div\u003e\u003c\/p\u003e\u003cp\u003e' + resources.introduction.paragraph[i] + '\u003c\/p\u003e';\n        insertElement.appendChild(eleDiv);\n    }\n    describeBoxEle.appendChild(insertElement);\n\n    var scenesBoxEle = document.getElementById(\"scenesBox\");\n    for (var j = 0; j \u003c resources.scenes.length; j++) {\n        var scene = resources.scenes[j];\n        var liEle = document.createElement(\"li\");\n        liEle.id = \"liEleId\";\n        liEle.key = 'scenes' + j;\n        liEle.classList.add(\"scenesShowItem\");\n\n        var imgEle = document.createElement(\"img\");\n        imgEle.src = scene.image;\n        liEle.appendChild(imgEle);\n\n        var h3Ele = document.createElement(\"h3\");\n        h3Ele.id = \"h3EleId\";\n        h3Ele.innerText = scene.title;\n        liEle.appendChild(h3Ele);\n\n        var pEle = document.createElement(\"p\");\n        pEle.id = \"scenesBoxPEleId\";\n        pEle.innerHTML = '\u003cp\u003e' + scene.text[0] + '\u003c\/p\u003e';\n        liEle.appendChild(pEle);\n        scenesBoxEle.appendChild(liEle);\n    }\n\n    var middleImageEle = document.getElementById(\"middleImage\");\n    if (resources.middleImage) {\n        middleImageEle.src = resources.middleImage;\n    } else {\n        middleImageEle.classList.add('bottomImageHide');\n    }\n\n    var middleImageEle1 = document.getElementById(\"middleImage1\");\n    if (resources.middleImage1) {\n        middleImageEle1.src = resources.middleImage1;\n    } else {\n        middleImageEle1.classList.add('bottomImageHide');\n    }\n\n    for (var k = 0; k \u003c resources.tableData.length; k++) {\n        var tbodyid = document.getElementById(\"tbodyid\");\n        var tableTrEle = document.createElement(\"tr\");\n        var trItem = resources.tableData[k];\n\n        var tdFirst = document.createElement(\"td\");\n        tdFirst.innerText = trItem.title;\n        tableTrEle.appendChild(tdFirst);\n\n        var tdSecond = document.createElement(\"td\");\n        tdSecond.innerText = trItem.text;\n        tableTrEle.appendChild(tdSecond);\n        tbodyid.appendChild(tableTrEle);\n    }\n\n    var lastWordEle = document.getElementById(\"lastWord\");\n    lastWordEle.innerText = resources.lastWord;\n\n    var submitBtn = document.getElementById('submitButton');\n    if (submitBtn) {\n        submitBtn.addEventListener('click', function(event) {\n            window.scrollTo(0, document.body.scrollHeight);\n        });\n    }\n\n    var faqButtons = document.querySelectorAll('.faqQuestion');\n    for (var m = 0; m \u003c faqButtons.length; m++) {\n        faqButtons[m].addEventListener('click', function() {\n            var parent = this.parentNode;\n            if (parent.classList.contains('active')) {\n                parent.classList.remove('active');\n            } else {\n                parent.classList.add('active');\n            }\n        });\n    }\n\u003c\/script\u003e","brand":"LinknLink","offers":[{"title":"BLE Contact Sensor","offer_id":46578218303644,"sku":null,"price":14.99,"currency_code":"USD","in_stock":true},{"title":"BLE Contact Sensor 3 Pack","offer_id":43242288939164,"sku":"","price":42.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/Door_sensor2.png?v=1776406259"},{"product_id":"eth2-ble-5-0-wireless-temperature-humidity-sensor","title":"LinknLink eTHS2: BLE TH Sensor","description":"\u003cstyle type=\"text\/css\"\u003e\n    * {\n        margin: 0;\n        padding: 0;\n        box-sizing:border-box;\n    }\n    body, html {\n        height: 100%;\n    }\n    \/* pc *\/\n    .productDetailsBox {\n        width: 100%;\n    }\n    .productDetailsBox img {\n        margin: 0;\n    }\n    .describeBox {\n        margin-top: 20px;\n    }\n    .productDetailsBox h3 {\n        margin: 23px 0 0;\n        font-size: 18px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: bold;\n        color: #000000;\n        line-height: 20px;\n    }\n    .productDetailsBox p {\n        margin: 4px 0 0;\n        font-size: 16px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n\n    .paragraphBox {\n        margin-top: 30px;\n        padding: 20px 0 17px 22px;\n        background: #F3F3F3;\n        border: 1px solid #F3F3F3;\n        border-radius: 8px;\n    }\n\n    .paragraphDiv {\n        display: flex;\n    }\n\n    .paragraphDiv \u003e p {\n        margin: 0!important;\n        padding: 0!important;\n        font-size: 14px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n\n    .scenesBox {\n        width: 100%;\n        display: flex;\n        justify-content: space-between;\n        list-style: none !important;\n        margin: 0 !important;\n        padding: 0 !important;\n        flex-direction: row;\n        flex-wrap: wrap;\n    }\n    .scenesShowItem {\n        width: 48.5%;\n        margin-top: 40px;\n    }\n    .scenesShowItem::before {\n        background: initial !important;\n    }\n    .scenesShowItem \u003e img {\n        width: 100%;\n    }\n\n    .setUpSection {\n        padding: 25px 0 40px;\n    }\n    .setUpUL {\n        width: 100%;\n        display: flex;\n        justify-content: space-between;\n        list-style: none !important;\n        margin: 0 !important;\n        padding: 0 !important;\n        flex-direction: row;\n        flex-wrap: wrap;\n    }\n    .setUpItem {\n        width: 30%;\n    }\n    .setUpItem::before {\n        background: initial !important;\n    }\n    #setUpTitle {\n        margin-top: 40px;\n        font-size: 18px;\n        line-height: 20px;\n    }\n\n    .headerVeLinkHide {\n        display: none!important;\n    }\n    .headerImageHide {\n        display: none!important;\n    }\n    #middleImage {\n        margin-top: 40px;\n        margin-bottom: 10px;\n    }\n    #middleImage1 {\n        margin-top: 30px;\n        margin-bottom: 10px;\n    }\n    #bottomImage {\n        margin-top: 40px;\n    }\n    .bottomImageHide {\n        display: none!important;\n    }\n    .setUpItem \u003e img {\n        width: 100%;\n    }\n    #lastWord {\n        margin: 10px 34px;\n        color: #5A5B5B;\n        font-size: 14px;\n    }\n    .productDetailsBox #headerVeLink {\n        display: block;\n        width: 100%;\n        min-height: 292px;\n    }\n    .productDetailsBox #h3EleId {\n        font-size: 18px;\n    }\n    .productDetailsBox #setUpLIId h3 {\n        font-size: 16px;\n    }\n    .productDetailsBox #setUpLIId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsBox table {\n        border-collapse: collapse;\n        margin-top: 0!important;\n    }\n    .productDetailsBox table tr td {\n        padding: 0;\n        border-top: 1px solid #E7E7E7;\n        border-bottom: 1px solid #E7E7E7;\n        height: 45px;\n        font-size: 14px;\n        line-height: 25px;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox tr td:first-child {\n        background: #F3F3F3;\n        padding-left: 20px;\n    }\n    .productDetailsBox tr td:last-child {\n        padding-left: 20px;\n        color: black;\n        font-weight: 300;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox .bottomVeLink {\n        margin: 40px 0px 10px;\n        display: block;\n        width: 100%;\n        min-height: 292px;\n    }\n    .productDetailsBox .instructionVideo {\n        margin-bottom: 40px;\n        font-weight: 500;\n    }\n    .productDetailsBox .formBox {\n        padding: 30px 100px;\n        box-sizing: border-box;\n        display: flex;\n        justify-content: center;\n        flex-direction: column;\n        align-items: center;\n        border-radius: 16px;\n        background: #F3F3F3;\n        min-height: 200px;\n    }\n    .productDetailsBox .emailDescribe {\n        text-align: center;\n        font-weight: 500;\n    }\n    .productDetailsBox .emailInput {\n        width: 100%;\n        color: #000000;\n        margin: 20px 0px;\n        height: 40px;\n        text-indent: 5px;\n    }\n    .productDetailsBox .emailInput:-ms-input-placeholder {\n        text-align: left;\n        font-family: \"Helvetica\", sans-serif;\n        color: #c0ccda;\n    }\n    .productDetailsBox .emailInput:placeholder {\n        text-align: left;\n        font-family: \"Helvetica\", sans-serif;\n        color: #c0ccda;\n    }\n    .productDetailsBox .submitButton {\n        padding: 12px 25px;\n        font-size: 12px;\n        font-weight: 700;\n        border-radius: 18px;\n        background-color: #2c5af6;\n        color: #FFFFFF;\n        border-width: 0px;\n        cursor: pointer;\n        margin-top: 20px;\n    }\n\n    \/* FAQ *\/\n    .productDetailsBox .faqBox {\n        margin-top: 40px;\n        padding: 24px 22px;\n        background: #F3F3F3;\n        border: 1px solid #E7E7E7;\n        border-radius: 8px;\n    }\n    .productDetailsBox .faqTitle {\n        margin: 0 0 18px 0 !important;\n        font-size: 22px;\n        line-height: 24px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .productDetailsBox .faqItem {\n        border-top: 1px solid #D9D9D9;\n    }\n    .productDetailsBox .faqItem:first-of-type {\n        border-top: none;\n    }\n    .productDetailsBox .faqQuestion {\n        width: 100%;\n        padding: 18px 34px 18px 0;\n        background: transparent;\n        border: 0;\n        cursor: pointer;\n        text-align: left;\n        position: relative;\n        font-size: 16px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .productDetailsBox .faqQuestion:after {\n        content: \"+\";\n        position: absolute;\n        right: 0;\n        top: 50%;\n        transform: translateY(-50%);\n        font-size: 24px;\n        line-height: 24px;\n        font-weight: 300;\n    }\n    .productDetailsBox .faqItem.active .faqQuestion:after {\n        content: \"−\";\n    }\n    .productDetailsBox .faqAnswer {\n        display: none;\n        padding: 0 0 18px 0;\n    }\n    .productDetailsBox .faqItem.active .faqAnswer {\n        display: block;\n    }\n    .productDetailsBox .faqAnswer p {\n        margin: 0 !important;\n        font-size: 14px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000;\n    }\n\n    \/* mobile *\/\n    * {\n        margin: 0;\n        padding: 0;\n        box-sizing:border-box;\n    }\n    body, html {\n        height: 100%;\n    }\n    .productDetailsMobile {\n        width: 100%;\n    }\n    .productDetailsMobile #headerImage {\n        margin: 0;\n        width: 100%;\n    }\n    .productDetailsMobile #headerVeLink {\n        display: block;\n        width: 100%;\n    }\n    .productDetailsMobile h3 {\n        font-size: 20px;\n        line-height: 22px!important;\n        margin-top: 0;\n    }\n    .productDetailsMobile #describeBox {\n        margin-top: 10px;\n    }\n    .productDetailsMobile #insertElementId {\n        margin-top: 15px;\n        padding: 13px 19px 17px 20px;\n    }\n    .productDetailsMobile #scenesBox,\n    .productDetailsMobile #setUpUL {\n        width: 100%!important;\n    }\n    .productDetailsMobile #liEleId,\n    .productDetailsMobile #setUpLIId {\n        width: 100%!important;\n        margin-top: 25px;\n    }\n    .productDetailsMobile #setUpLIId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsMobile #h3EleId {\n        margin-top: 8px!important;\n        font-size: 16px!important;\n        line-height: 18px;\n    }\n    .productDetailsMobile #scenesBoxPEleId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsMobile #setUpTitle {\n        margin-top: 25px;\n        font-size: 20px;\n    }\n    .productDetailsMobile #setUpLIId:first-child {\n        margin-top: 0;\n    }\n    .productDetailsMobile #setUpSection {\n        padding: 15px 0 25px;\n    }\n    .productDetailsMobile #middleImage {\n        width: 100%;\n        margin-bottom: 15px;\n    }\n    .productDetailsMobile #middleImage1 {\n        width: 100%;\n        margin-bottom: 15px;\n    }\n    .productDetailsMobile #bottomImage {\n        width: 100%;\n        margin-top: 40px;\n    }\n    .productDetailsMobile table tr td {\n        font-size: 14px!important;\n        height: 47px!important;\n        line-height: 16px!important;\n    }\n    .productDetailsMobile tr td:first-child {\n        padding-left: 15px;\n        width: 150px!important;\n    }\n    .productDetailsMobile #lastWord {\n        font-size: 14px!important;\n        margin: 14px 0 18px 0;\n    }\n    .productDetailsMobile .faqBox {\n        margin-top: 30px;\n        padding: 18px 16px;\n    }\n    .productDetailsMobile .faqTitle {\n        font-size: 20px;\n        line-height: 22px;\n    }\n    .productDetailsMobile .faqQuestion {\n        padding: 16px 28px 16px 0;\n        font-size: 15px;\n        line-height: 19px;\n    }\n    .productDetailsMobile .faqAnswer p {\n        font-size: 14px;\n        line-height: 18px;\n    }\n\u003c\/style\u003e\n\n\u003cdiv id=\"productDetails\" class=\"productDetailsBox\"\u003e\n    \u003cimg id=\"headerImage\" src=\"#\"\u003e\n    \u003ciframe type=\"text\/html\" id=\"headerVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"#\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n\n    \u003cdiv id=\"describeBox\" class=\"describeBox\"\u003e\u003c\/div\u003e\n\n    \u003csection\u003e\n        \u003cul id=\"scenesBox\" class=\"scenesBox\"\u003e\u003c\/ul\u003e\n    \u003c\/section\u003e\n\n    \u003cimg id=\"middleImage\" src=\"#\"\u003e\n    \u003cimg id=\"middleImage1\" src=\"#\"\u003e\n\n    \u003ctable width=\"100%\"\u003e\n        \u003ctbody id=\"tbodyid\"\u003e\u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/QKQLRhMo0HE?si=sMpoIEE_VX0pnB8z\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cp class=\"instructionVideo\"\u003eVideo by Jenn X Jake\u003c\/p\u003e\n\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/uL2_N-73rdI?si=pMIdV_XKe23SAWNn\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cp class=\"instructionVideo\"\u003eVideo by Mit Smart Home-Sidon\u003c\/p\u003e\n\n    \u003cdiv class=\"faqBox\"\u003e\n        \u003ch3 class=\"faqTitle\"\u003eFrequently Asked Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eDoes this TH sensor work on its own?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eNo. This BLE temperature and humidity sensor needs to be used with a compatible LinknLink hub, such as eRemote HA or eMotion Ultra, to view data remotely and access app functions.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eWhat can I monitor with this sensor?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eYou can monitor temperature and humidity in real time, view 24-hour trend graphs, and check long-term history for spaces like bedrooms, nurseries, wine storage, offices, and greenhouses.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eHow long is the data stored, and can I export it?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eYes. The system supports free data storage for up to 3 years, and you can export the data to Excel whenever needed for tracking and records.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eDoes it support Alexa and Google Home?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eIt supports Alexa voice integration, and you can use Alexa routines together with your linked hub to build smart automations based on temperature and humidity conditions.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eWhat is the battery life of the sensor?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eThe sensor uses a CR2032 battery and typically delivers at least 1 year of battery life, with no cables required for installation.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp id=\"lastWord\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    {\/*此行以上不要动*\/}\n    var resources ={\n        headerImage:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1-_-kit-TH.jpg?v=1773141287',\n        headerVeLink:'https:\/\/www.youtube.com\/embed\/FURPCMtckxg?si=6r_4_tvWFPxfOyf1',\n        introduction:{\n            title:'Smart BLE Temperature \u0026 Humidity Sensor',\n            text:'Wireless temperature and humidity monitoring with remote viewing, 24-hour graphs, long-term history, and flexible smart home automation through a compatible LinknLink hub.',\n            paragraph:[\n                '【Works with a Compatible LinknLink Hub】This BLE temperature and humidity sensor needs to be used with a compatible hub such as eRemote HA or eMotion Ultra to access app features, remote viewing, automation, and cloud history.',\n                '【Remote Viewing and 24-Hour Data Graphs】Once connected through a compatible hub, you can view real-time temperature and humidity data remotely, check intuitive 24-hour trend charts, and monitor changing conditions from anywhere.',\n                '【Up to 3 Years of Data Storage and Export】Enjoy free historical data storage for up to 3 years. You can export data to Excel at any time for analysis, records, and long-term environment tracking.',\n                '【Truly Wireless and Easy to Place】Powered by a CR2032 battery with at least 1 year of battery life, the sensor needs no cable and can be placed almost anywhere you want to monitor indoor conditions.',\n                '【Works with Alexa and Smart Automations】Use temperature and humidity data with Alexa routines and LinknLink automations to trigger actions such as turning on a heater, humidifier, or fan when conditions go outside your preferred range.'\n            ]\n        },\n        scenes: [\n            {\n                image:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0620\/4496\/2972\/files\/3-Voice_control.jpg?v=1709201909',\n                title:'Works with Alexa and Google Home',\n                text:[\n                    'Ask Alexa about the temperature or humidity in a specific room, and use routines to trigger compatible devices when environmental conditions change.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0620\/4496\/2972\/files\/02_071d8911-d2cf-4338-bb89-bc7cc62a1e88.png?v=1709201855',\n                title:'Accurate Data Anytime, Anywhere',\n                text:[\n                    'With its built-in Swiss Sensirion industrial sensor, you can monitor temperature and humidity accurately and place the sensor where it matters most.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0620\/4496\/2972\/files\/04_eacd0d39-5401-4abb-8bce-0dae5dec1fc0.png?v=1709201853',\n                title:'Notifications and Alerts',\n                text:[\n                    'View 24-hour changes on an intuitive graph and set upper and lower limits to receive alerts on your phone when data becomes abnormal.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0620\/4496\/2972\/files\/A_5-_-SensorKit.png?v=1709201871',\n                title:'Truly Wireless, Use Anywhere',\n                text:[\n                    'With BLE connectivity and a CR2032 battery, the sensor is easy to place with no cable required and at least 1 year of battery life.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0620\/4496\/2972\/files\/8-Routines.png?v=1709201980',\n                title:'LinknLink and Alexa Automations',\n                text:[\n                    'Create automations in the LinknLink app or Alexa to use BLE sensor data as triggers for smart routines and device control.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0620\/4496\/2972\/files\/A_3.png?v=1709203240',\n                title:'Free Data Storage and Export',\n                text:[\n                    'Store your historical data for up to 3 years and export it to Excel any time for records, reports, and environment tracking.'\n                ]\n            }\n        ],\n        bottomImage:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0574\/9597\/8169\/files\/06-STEP1.jpg?v=1627605555',\n        middleImage:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0620\/4496\/2972\/files\/TH-_-_2.png?v=1709259900',\n        middleImage1:'',\n        tableData: [\n            {\n                title: 'Product',\n                text: 'Smart Hygrothermograph Mini'\n            },{\n                title: 'Model',\n                text: 'MHO-C122'\n            },{\n                title: 'Rated Voltage',\n                text: 'DC 3.0V'\n            },{\n                title: 'Battery',\n                text: 'CR2032'\n            },{\n                title: 'Temperature Detection Range',\n                text: '-9.9~60°C'\n            },{\n                title: 'Humidity Detection Range',\n                text: '0~99% RH'\n            },{\n                title: 'Wireless',\n                text: 'Bluetooth 5.0 Low Energy'\n            },{\n                title: 'FCC ID',\n                text: '2AWMOMHOC122'\n            },{\n                title: 'Supported OS',\n                text: 'iOS 11.0 \/ Android™ 5.1 and above'\n            },{\n                title: 'Dimensions (mm)',\n                text: '44.5 × 44.5 × 13'\n            }\n        ],\n        lastWord: 'To use app-based remote viewing and automation features, this sensor must be paired with a compatible LinknLink hub such as eRemote HA or eMotion Ultra.'\n    };\n    {\/*此行以下不要动*\/}\n    \/\/ rem适配\n    if((navigator.userAgent.match(\/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|wOSBrowser|BrowserNG|WebOS)\/i))) {\n        if (document.documentElement.clientWidth === 320 || document.documentElement.clientWidth === 375 || document.documentElement.clientWidth === 414 || document.documentElement.clientWidth === 411 || document.documentElement.clientWidth === 360) {\n            var productDetailsEle = document.getElementById(\"productDetails\");\n            productDetailsEle.classList.add(\"productDetailsMobile\");\n        }\n    }\n\n    var headerVeLinkEle = document.getElementById(\"headerVeLink\");\n    if (resources.headerVeLink !== '') {\n        headerVeLinkEle.src = resources.headerVeLink;\n    } else {\n        headerVeLinkEle.classList.add('headerVeLinkHide');\n    }\n\n    var headerImageEle = document.getElementById(\"headerImage\");\n    if (resources.headerImage !== '') {\n        headerImageEle.src = resources.headerImage;\n    } else {\n        headerImageEle.classList.add('headerImageHide');\n    }\n\n    var describeBoxEle = document.getElementById(\"describeBox\");\n\n    var insertElement = document.createElement(\"h3\");\n    insertElement.innerText = resources.introduction.title;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"p\");\n    insertElement.innerText = resources.introduction.text;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"div\");\n    insertElement.id = \"insertElementId\";\n    insertElement.classList.add(\"paragraphBox\");\n\n    for (var i = 0; i \u003c resources.introduction.paragraph.length; i++) {\n        var eleDiv = document.createElement(\"div\");\n        eleDiv.id = \"eleDivid\";\n        eleDiv.classList.add('paragraphDiv');\n        eleDiv.innerHTML = '\u003cp\u003e•\u003cdiv style=\"width: 5px;\"\u003e\u003c\/div\u003e\u003c\/p\u003e\u003cp\u003e' + resources.introduction.paragraph[i] + '\u003c\/p\u003e';\n        insertElement.appendChild(eleDiv);\n    }\n    describeBoxEle.appendChild(insertElement);\n\n    var scenesBoxEle = document.getElementById(\"scenesBox\");\n    for (var j = 0; j \u003c resources.scenes.length; j++) {\n        var scene = resources.scenes[j];\n        var liEle = document.createElement(\"li\");\n        liEle.id = \"liEleId\";\n        liEle.key = 'scenes' + j;\n        liEle.classList.add(\"scenesShowItem\");\n\n        var imgEle = document.createElement(\"img\");\n        imgEle.src = scene.image;\n        liEle.appendChild(imgEle);\n\n        var h3Ele = document.createElement(\"h3\");\n        h3Ele.id = \"h3EleId\";\n        h3Ele.innerText = scene.title;\n        liEle.appendChild(h3Ele);\n\n        var pEle = document.createElement(\"p\");\n        pEle.id = \"scenesBoxPEleId\";\n        pEle.innerHTML = '\u003cp\u003e' + scene.text[0] + '\u003c\/p\u003e';\n        liEle.appendChild(pEle);\n\n        scenesBoxEle.appendChild(liEle);\n    }\n\n    var middleImageEle = document.getElementById(\"middleImage\");\n    if (resources.middleImage) {\n        middleImageEle.src = resources.middleImage;\n    } else {\n        middleImageEle.classList.add('bottomImageHide');\n    }\n\n    var middleImageEle1 = document.getElementById(\"middleImage1\");\n    if (resources.middleImage1) {\n        middleImageEle1.src = resources.middleImage1;\n    } else {\n        middleImageEle1.classList.add('bottomImageHide');\n    }\n\n    for (var k = 0; k \u003c resources.tableData.length; k++) {\n        var tbodyid = document.getElementById(\"tbodyid\");\n        var tableTrEle = document.createElement(\"tr\");\n        var trItem = resources.tableData[k];\n\n        var tdFirst = document.createElement(\"td\");\n        tdFirst.innerText = trItem.title;\n        tableTrEle.appendChild(tdFirst);\n\n        var tdSecond = document.createElement(\"td\");\n        tdSecond.innerText = trItem.text;\n        tableTrEle.appendChild(tdSecond);\n        tbodyid.appendChild(tableTrEle);\n    }\n\n    var lastWordEle = document.getElementById(\"lastWord\");\n    lastWordEle.innerText = resources.lastWord;\n\n    var submitBtn = document.getElementById('submitButton');\n    if (submitBtn) {\n        submitBtn.addEventListener('click', function(event) {\n            window.scrollTo(0, document.body.scrollHeight);\n        });\n    }\n\n    var faqButtons = document.querySelectorAll('.faqQuestion');\n    for (var m = 0; m \u003c faqButtons.length; m++) {\n        faqButtons[m].addEventListener('click', function() {\n            var parent = this.parentNode;\n            if (parent.classList.contains('active')) {\n                parent.classList.remove('active');\n            } else {\n                parent.classList.add('active');\n            }\n        });\n    }\n\u003c\/script\u003e\n\u003c!-- eth2-translation-cache-refresh:2026-04-23T18:54:58 --\u003e","brand":"LinknLink","offers":[{"title":"BLE TH Sensor","offer_id":43242290020508,"sku":"","price":13.99,"currency_code":"USD","in_stock":true},{"title":"BLE TH Sensor (3-Pack)","offer_id":43242290053276,"sku":"","price":34.99,"currency_code":"USD","in_stock":true},{"title":"BLE TH Sensor (5-Pack)","offer_id":46578179932316,"sku":null,"price":59.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/eTHS2.png?v=1776406268"},{"product_id":"eremote-tv-kit-pro-ir-remote-temperature-humidity-sensor","title":"LinknLink eRemote TV Kit: IR Universal Remote Hub with BLE Remote","description":"\u003cstyle type=\"text\/css\"\u003e\n    * {\n        margin: 0;\n        padding: 0;\n        box-sizing:border-box;\n    }\n    body, html {\n        height: 100%;\n    }\n    \/*pc端样式*\/\n    .productDetailsBox {\n        width: 100%;\n    }\n    .productDetailsBox img {\n        margin: 0;\n    }\n    .describeBox {\n        margin-top: 20px;\n    }\n    .productDetailsBox h3 {\n        margin: 23px 0 0;\n        font-size: 18px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: bold;\n        color: #000000;\n        line-height: 20px;\n    }\n    .productDetailsBox p {\n        margin: 4px 0 0;\n        font-size: 16px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n\n    .paragraphBox {\n        margin-top: 30px;\n        padding: 20px 0 17px 22px;\n        background: #F3F3F3;\n        border: 1px solid #F3F3F3;\n        border-radius: 8px;\n    }\n\n    .paragraphDiv {\n        display: flex;\n    }\n\n    .paragraphDiv\u003ep {\n        margin: 0!important;\n        padding: 0!important;\n        font-size: 14px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n    .scenesBox {\n        width: 100%;\n        display: flex;\n        justify-content: space-between;\n        list-style: none !important;\n        margin: 0 !important;\n        padding: 0 !important;\n        flex-direction: row;\n        flex-wrap: wrap;\n    }\n    .scenesShowItem {\n        width: 48.5%;\n        margin-top: 40px;\n    }\n    .scenesShowItem::before {\n        background: initial !important;\n    }\n    .scenesShowItem\u003eimg {\n        width: 100%;\n    }\n\n    .setUpSection {\n        padding: 25px 0 40px;\n    }\n    .setUpUL {\n        width: 100%;\n        display: flex;\n        justify-content: space-between;\n        list-style: none !important;\n        margin: 0 !important;\n        padding: 0 !important;\n        flex-direction: row;\n        flex-wrap: wrap;\n    }\n    .setUpItem {\n        width: 30%;\n    }\n    .setUpItem::before {\n        background: initial !important;\n    }\n    #setUpTitle {\n        margin-top: 40px;\n        font-size: 18px;\n        line-height: 20px;\n    }\n    .headerVeLinkHide {\n        display: none!important;\n    }\n    .headerImageHide {\n        display: none!important;\n    }\n    #middleImage {\n        margin-top: 40px;\n        margin-bottom: 10px;\n    }\n    #middleImage1 {\n        margin-top: 30px;\n        margin-bottom: 10px;\n    }\n    #bottomImage {\n        margin-top: 40px;\n    }\n    .bottomImageHide {\n        display: none!important;\n    }\n    .setUpItem\u003eimg {\n        width: 100%;\n    }\n    #lastWord {\n        margin: 10px 34px;\n        color: #5A5B5B;\n        font-size: 14px;\n    }\n    .productDetailsBox #headerVeLink {\n        display: block;\n        width: 100%;\n        min-height:292px\n    }\n    .productDetailsBox #h3EleId {\n        font-size: 18px;\n    }\n    .productDetailsBox #setUpLIId h3 {\n        font-size: 16px;\n    }\n    .productDetailsBox #setUpLIId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsBox table {\n        border-collapse: collapse;\n        margin-top: 0!important;\n    }\n    .productDetailsBox table tr td {\n        padding: 0;\n        border-top: 1px solid #E7E7E7;\n        border-bottom: 1px solid #E7E7E7;\n        height: 45px;\n        font-size: 14px;\n        line-height: 25px;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox tr td:first-child {\n        background: #F3F3F3;\n        padding-left: 20px;\n    }\n    .productDetailsBox tr td:last-child {\n        padding-left: 20px;\n        color: black;\n        font-weight: 300;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox .bottomVeLink {\n        margin: 40px 0px 10px;\n        display: block;\n        width: 100%;\n        min-height:292px\n    }\n    .productDetailsBox .instructionVideo {\n        margin-bottom: 40px;\n        font-weight: 500;\n    }\n    .productDetailsBox .formBox {\n        padding: 30px 100px;\n        box-sizing: border-box;\n        display: flex;\n        justify-content: center;\n        flex-direction: column;\n        align-items: center;\n        border-radius: 16px;\n        background: #F3F3F3;\n        min-height: 200px;\n    }\n    .productDetailsBox .emailDescribe {\n        text-align: center;\n        font-weight: 500;\n    }\n    .productDetailsBox .emailInput {\n        width: 100%;\n        color: #000000;\n        margin: 20px 0px;\n        height: 40px;\n        text-indent:5px;\n    }\n    .productDetailsBox .emailInput:-ms-input-placeholder {\n        text-align: left;\n        font-family: \"Helvetica\", sans-serif;\n        color: #c0ccda;\n    }\n    .productDetailsBox .emailInput:placeholder {\n        text-align: left;\n        font-family: \"Helvetica\", sans-serif;\n        color: #c0ccda;\n    }\n    .productDetailsBox .submitButton {\n        padding:12px 25px;\n        font-size:12px;\n        font-weight:700;\n        border-radius:18px;\n        background-color:#2c5af6;\n        color:#FFFFFF;\n        border-width:0px;\n        cursor: pointer;\n        margin-top: 20px;\n    }\n\n    \/* FAQ 折叠模块 *\/\n    .productDetailsBox .faqBox {\n        margin-top: 40px;\n        padding: 24px 22px;\n        background: #F3F3F3;\n        border: 1px solid #E7E7E7;\n        border-radius: 8px;\n    }\n    .productDetailsBox .faqTitle {\n        margin: 0 0 18px 0 !important;\n        font-size: 22px;\n        line-height: 24px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .productDetailsBox .faqItem {\n        border-top: 1px solid #D9D9D9;\n    }\n    .productDetailsBox .faqItem:first-of-type {\n        border-top: none;\n    }\n    .productDetailsBox .faqQuestion {\n        width: 100%;\n        padding: 18px 34px 18px 0;\n        background: transparent;\n        border: 0;\n        cursor: pointer;\n        text-align: left;\n        position: relative;\n        font-size: 16px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .productDetailsBox .faqQuestion:after {\n        content: \"+\";\n        position: absolute;\n        right: 0;\n        top: 50%;\n        transform: translateY(-50%);\n        font-size: 24px;\n        line-height: 24px;\n        font-weight: 300;\n    }\n    .productDetailsBox .faqItem.active .faqQuestion:after {\n        content: \"−\";\n    }\n    .productDetailsBox .faqAnswer {\n        display: none;\n        padding: 0 0 18px 0;\n    }\n    .productDetailsBox .faqItem.active .faqAnswer {\n        display: block;\n    }\n    .productDetailsBox .faqAnswer p {\n        margin: 0 !important;\n        font-size: 14px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000;\n    }\n\n    \/*移动端样式*\/\n    * {\n        margin: 0;\n        padding: 0;\n        box-sizing:border-box;\n    }\n    body, html {\n        height: 100%;\n    }\n    .productDetailsMobile {\n        width: 100%;\n    }\n    .productDetailsMobile #headerImage {\n        margin: 0;\n        width: 100%;\n    }\n    .productDetailsMobile #headerVeLink {\n        display: block;\n        width: 100%;\n    }\n    .productDetailsMobile h3 {\n        font-size: 20px;\n        line-height: 22px!important;\n        margin-top: 0;\n    }\n    .productDetailsMobile #describeBox {\n        margin-top: 10px;\n    }\n    .productDetailsMobile #insertElementId {\n        margin-top: 15px;\n        padding: 13px 19px 17px 20px;\n    }\n    .productDetailsMobile #scenesBox,\n    .productDetailsMobile #setUpUL {\n        width: 100%!important;\n    }\n    .productDetailsMobile #liEleId,\n    .productDetailsMobile #setUpLIId {\n        width: 100%!important;\n        margin-top: 25px;\n    }\n    .productDetailsMobile #setUpLIId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsMobile #h3EleId {\n        margin-top: 8px!important;\n        font-size: 16px!important;\n        line-height: 18px;\n    }\n    .productDetailsMobile #scenesBoxPEleId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsMobile #setUpTitle {\n        margin-top: 25px;\n        font-size: 20px;\n    }\n    .productDetailsMobile #setUpLIId:first-child {\n        margin-top: 0;\n    }\n    .productDetailsMobile #setUpSection {\n        padding: 15px 0 25px;\n    }\n    .productDetailsMobile #middleImage {\n        width: 100%;\n        margin-bottom: 15px;\n    }\n    .productDetailsMobile #middleImage1 {\n        width: 100%;\n        margin-bottom: 15px;\n    }\n    .productDetailsMobile #bottomImage {\n        width: 100%;\n        margin-top: 40px;\n    }\n    .productDetailsMobile table tr td {\n        font-size: 14px!important;\n        height: 47px!important;\n        line-height: 16px!important;\n    }\n    .productDetailsMobile tr td:first-child {\n        padding-left: 15px;\n        width: 150px!important;\n    }\n    .productDetailsMobile #lastWord {\n        font-size: 14px!important;\n        margin: 14px 0 18px 0;\n    }\n    .productDetailsMobile .faqBox {\n        margin-top: 30px;\n        padding: 18px 16px;\n    }\n    .productDetailsMobile .faqTitle {\n        font-size: 20px;\n        line-height: 22px;\n    }\n    .productDetailsMobile .faqQuestion {\n        padding: 16px 28px 16px 0;\n        font-size: 15px;\n        line-height: 19px;\n    }\n    .productDetailsMobile .faqAnswer p {\n        font-size: 14px;\n        line-height: 18px;\n    }\n\u003c\/style\u003e\n\n\u003cdiv id=\"productDetails\" class=\"productDetailsBox\"\u003e\n    \u003cimg id=\"headerImage\" src=\"#\"\u003e\n    \u003ciframe type=\"text\/html\" id=\"headerVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"#\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n\n    \u003cdiv id=\"describeBox\" class=\"describeBox\"\u003e\u003c\/div\u003e\n\n    \u003csection\u003e\n        \u003cul id=\"scenesBox\" class=\"scenesBox\"\u003e\u003c\/ul\u003e\n    \u003c\/section\u003e\n\n    \u003cimg id=\"middleImage\" src=\"#\"\u003e\n    \u003cimg id=\"middleImage1\" src=\"#\"\u003e\n\n    \u003ctable width=\"100%\"\u003e\n        \u003ctbody id=\"tbodyid\"\u003e\u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/7UQqHpZC-r4?si=q5t4jvc6uV9O-cuO\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cp class=\"instructionVideo\"\u003eInstructional video by Ton Time Tec-Victor G\u003c\/p\u003e\n\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/Zcet_KaNRDk?si=CXHREHC__sKdRKgf\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cp class=\"instructionVideo\"\u003eInstructional video by Jeff Keenan\u003c\/p\u003e\n\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/SJV8CgSEs9s?si=36uxjIpZ5VG8HjsT\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cp class=\"instructionVideo\"\u003eInstructional video by Francis Bush\u003c\/p\u003e\n\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/8KGoG2lmFUw?si=I9_4KHYDhmuAW7GM\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cp class=\"instructionVideo\"\u003eInstructional video by BurnsHA-Adrian Burns\u003c\/p\u003e\n\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/myV1DoyRWO0?si=ggMCWNSk4VBYkhHv\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cp class=\"instructionVideo\"\u003eInstructional video by BurnsHA-Adrian Burns\u003c\/p\u003e\n\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/vmVXFwlO2KY?si=xucFlc2yJ9ijGMhe\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cp class=\"instructionVideo\"\u003eInstructional video by myzingonline-Prashant Kumar\u003c\/p\u003e\n\n    \u003cdiv class=\"faqBox\"\u003e\n        \u003ch3 class=\"faqTitle\"\u003eFrequently Asked Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eWhat is included in eRemote TV Kit Pro?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eThe eRemote TV Kit Pro combines an eRemote Hub, a Bluetooth remote, and smart control features for IR and BLE devices, giving you an all-in-one control center for TVs and smart home scenes.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eDoes eRemote TV Kit Pro require line-of-sight like a normal IR remote?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eNo. The Bluetooth remote pairs directly with the Hub, so you can control devices from any angle without having to point directly at the TV like a traditional infrared remote.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eWhich TV brands does eRemote TV Kit Pro support?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eIt supports a wide range of smart TV brands including LG, Roku, Samsung, Philips, Panasonic, Sony, Hisense, TCL, Vizio, and more, with preset codes for several major brands built in.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eDoes it work with Alexa, Google Home, and Home Assistant?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eYes. eRemote TV Kit Pro works with Alexa and Google Home, and it also supports IR2MQTT and BLE2MQTT for Home Assistant users who want privacy-first local control.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eDoes eRemote TV Kit Pro need 2.4GHz Wi-Fi?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eYes. The Hub connects on 2.4GHz Wi-Fi. After network setup, you can use AI voice features and connect the Kit Pro into your broader smart home system.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp id=\"lastWord\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    {\/*此行以上不要动*\/}\n    var resources = {\n        headerImage:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/A_1.jpg?v=1773736136',\n        headerVeLink:'https:\/\/www.youtube.com\/embed\/CTFdAXl12mY?si=qmlEwxhdZSkmPij0',\n        introduction:{\n            title:'eRemote TV Kit Pro: The Ultimate Smart IR \u0026 BLE Control Center',\n            text:'Upgrade your traditional home entertainment with one powerful kit. Combining a 360° IR blaster with a high-performance BLE Hub and a dedicated Bluetooth remote for total control.',\n            paragraph:[\n                '【Pro-Grade Universal Control (No Line-of-Sight Required)】Experience lightning-fast control that outperforms original IR remotes. The Bluetooth Remote pairs directly with the eRemote Hub, allowing you to command your appliances from any angle—no more pointing at the TV. It features native, direct compatibility with an extensive range of Smart TVs, including LG, Roku, Samsung, Philips, Panasonic, Sony, Hisense, TCL, Vizio, and many more.',\n                '【Ready Out-of-the-Box (Offline Pairing)】The Kit Pro is designed for immediate use. You can pair the remote with the Hub without an internet connection. It comes pre-loaded with four preset code sets for Roku, Samsung, LG, and Vizio, enabling you to take control of different devices instantly with simple button presses, even before setting up your network.',\n                '【AI Voice Power by Gemini \u0026 ChatGPT】Transform how you interact with your home. Once connected to your 2.4GHz Wi-Fi, simply hold the voice button to activate an AI-driven Smart Home Agent. Powered by Gemini and ChatGPT, the system understands natural language commands. Instead of rigid phrases, you can speak naturally to control every smart device in your ecosystem.',\n                '【All-in-One BLE 5.0 Smart Hub】The eRemote TV Kit Pro is much more than an IR blaster—it is a sophisticated Bluetooth 5.0 (BLE) Hub. It serves as a central bridge for your Bluetooth Low Energy devices, such as temperature and humidity sensors, door sensors, and more, consolidating fragmented devices into one seamless, integrated smart home system.',\n                '【Fully Customizable Scene Triggers】Every button on the Bluetooth Remote is a potential trigger for your imagination. Fully integrated with Google Home and Alexa, you can configure any button to activate complex smart scenes. With a single press, trigger \"Movie Night\" (dim lights, close blinds, turn on TV) or \"Good Night\" (turn off all appliances and arm security)—making professional automation accessible to everyone.'\n            ]\n        },\n        scenes: [\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/A_-01.jpg?v=1773736179',\n                title:'AI-Driven Voice Interaction (Gemini \u0026 ChatGPT)',\n                text:[\n                    'Experience the future of home control. Powered by Gemini and ChatGPT, AI Voice Control understands natural language, not just rigid commands. Simply hold the voice button and speak naturally to control your TV, AC, and smart home devices.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/A_-02.jpg?v=1773736180',\n                title:'Upgraded Bluetooth Remote (No Pointing Required)',\n                text:[\n                    'Stop struggling with line-of-sight issues. The Pro Bluetooth Remote pairs directly with the Hub, allowing you to control devices from any angle, even behind cabinets or under a blanket.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/A_-05-_-TV-kit-pro.jpg?v=1773736180',\n                title:'Instant Setup with Pre-loaded TV Codes',\n                text:[\n                    'Get started in seconds, even without a network. The remote comes with built-in preset codes for major brands including Roku, Samsung, LG, and Vizio.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/MQTT-1.jpg?v=1773740724',\n                title:'Powerful BLE 5.0 Smart Home Hub',\n                text:[\n                    'The eRemote Hub is more than a remote—it is a high-performance Bluetooth 5.0 Hub. It bridges BLE devices such as door sensors, temperature monitors, and smart bulbs into one unified system.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/A_-06-Routines-pro.jpg?v=1773736044',\n                title:'Fully Customizable Scene Triggers',\n                text:[\n                    'Every button is a shortcut to your smart life. Each physical button on the remote can trigger complex Smart Scenes with Google Home and Alexa integration.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/MQTT_85e51b7f-73b4-4ced-844f-6a6682f6b5ee.jpg?v=1773744371',\n                title:'Privacy-First Local Control (Home Assistant Ready)',\n                text:[\n                    'Built for privacy-conscious users and smart home enthusiasts. With IR2MQTT and BLE2MQTT support, the Kit Pro integrates with Home Assistant for local control and fast response times without subscription fees.'\n                ]\n            }\n        ],\n        bottomImage:'',\n        middleImage:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1_33ad9643-79e2-4087-b02b-fd865a355a95.jpg?v=1773736471',\n        middleImage1:'',\n        tableData: [\n            {\n                title: 'Product',\n                text: 'eRemote TV Kit Pro'\n            },{\n                title: 'Model',\n                text: 'eRemote'\n            },{\n                title: 'Rating Power',\n                text: '5V DC\/1A'\n            },{\n                title: 'Communication Mode',\n                text: 'Wi-Fi 802.11b\/g\/n (2.4GHz) \/ BT (4.0 and above)'\n            },{\n                title: 'Infrared Frequency',\n                text: '38KHz'\n            },{\n                title: 'Contains FCC ID',\n                text: '2A9BE-LL8720-P'\n            },{\n                title: 'BLE Remote Pro Size',\n                text: '155 × 39.5 × 15 mm (requires 2 × AAA batteries, not included)'\n            },{\n                title: 'eRemote Hub Size',\n                text: '61 × 61 × 25 mm'\n            },{\n                title: 'Working Conditions',\n                text: '0–50°C \/ ≤85%RH'\n            }\n        ],\n        lastWord: ''\n    };\n    {\/*此行以下不要动*\/}\n    \/\/ rem适配\n    if((navigator.userAgent.match(\/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|wOSBrowser|BrowserNG|WebOS)\/i))) {\n        if (document.documentElement.clientWidth === 320 || document.documentElement.clientWidth === 375 || document.documentElement.clientWidth === 414 || document.documentElement.clientWidth === 411 || document.documentElement.clientWidth === 360) {\n            var productDetailsEle = document.getElementById(\"productDetails\");\n            productDetailsEle.classList.add(\"productDetailsMobile\");\n        }\n    }\n    var headerVeLinkEle = document.getElementById(\"headerVeLink\");\n    if (resources.headerVeLink !== '') {\n        headerVeLinkEle.src = resources.headerVeLink;\n    } else {\n        headerVeLinkEle.classList.add('headerVeLinkHide');\n    }\n\n    var headerImageEle = document.getElementById(\"headerImage\");\n    if (resources.headerImage !== '') {\n        headerImageEle.src = resources.headerImage;\n    } else {\n        headerImageEle.classList.add('headerImageHide');\n    }\n\n    var describeBoxEle = document.getElementById(\"describeBox\");\n\n    var insertElement = document.createElement(\"h3\");\n    insertElement.innerText = resources.introduction.title;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"p\");\n    insertElement.innerText = resources.introduction.text;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"div\");\n    insertElement.id = \"insertElementId\";\n    insertElement.classList.add(\"paragraphBox\");\n\n    for (var i = 0; i \u003c resources.introduction.paragraph.length; i++) {\n        var eleDiv = document.createElement(\"div\");\n        eleDiv.id = \"eleDivid\";\n        eleDiv.classList.add('paragraphDiv');\n        eleDiv.innerHTML = '\u003cp\u003e•\u003cdiv style=\"width: 5px;\"\u003e\u003c\/div\u003e\u003c\/p\u003e\u003cp\u003e' + resources.introduction.paragraph[i] + '\u003c\/p\u003e';\n        insertElement.appendChild(eleDiv);\n    }\n    describeBoxEle.appendChild(insertElement);\n\n    var scenesBoxEle = document.getElementById(\"scenesBox\");\n    for (var j = 0; j \u003c resources.scenes.length; j++) {\n        var scene = resources.scenes[j];\n        var liEle = document.createElement(\"li\");\n        liEle.id = \"liEleId\";\n        liEle.key = 'scenes' + j;\n        liEle.classList.add(\"scenesShowItem\");\n\n        var imgEle = document.createElement(\"img\");\n        imgEle.src = scene.image;\n        liEle.appendChild(imgEle);\n\n        var h3Ele = document.createElement(\"h3\");\n        h3Ele.id = \"h3EleId\";\n        h3Ele.innerText = scene.title;\n        liEle.appendChild(h3Ele);\n\n        var pEle = document.createElement(\"p\");\n        pEle.id = \"scenesBoxPEleId\";\n        pEle.innerHTML = '\u003cp\u003e' + scene.text[0] + '\u003c\/p\u003e';\n        liEle.appendChild(pEle);\n\n        scenesBoxEle.appendChild(liEle);\n    }\n\n    var middleImageEle = document.getElementById(\"middleImage\");\n    if (resources.middleImage) {\n        middleImageEle.src = resources.middleImage;\n    } else {\n        middleImageEle.classList.add('bottomImageHide');\n    }\n\n    var middleImageEle1 = document.getElementById(\"middleImage1\");\n    if (resources.middleImage1) {\n        middleImageEle1.src = resources.middleImage1;\n    } else {\n        middleImageEle1.classList.add('bottomImageHide');\n    }\n\n    for (var k = 0; k \u003c resources.tableData.length; k++) {\n        var tbodyid = document.getElementById(\"tbodyid\");\n        var tableTrEle = document.createElement(\"tr\");\n        var trItem = resources.tableData[k];\n\n        var tdFirst = document.createElement(\"td\");\n        tdFirst.innerText = trItem.title;\n        tableTrEle.appendChild(tdFirst);\n\n        var tdSecond = document.createElement(\"td\");\n        tdSecond.innerText = trItem.text;\n        tableTrEle.appendChild(tdSecond);\n\n        tbodyid.appendChild(tableTrEle);\n    }\n\n    var lastWordEle = document.getElementById(\"lastWord\");\n    lastWordEle.innerText = resources.lastWord;\n\n    var submitBtn = document.getElementById('submitButton');\n    if (submitBtn) {\n        submitBtn.addEventListener('click', function(event) {\n            window.scrollTo(0, document.body.scrollHeight);\n        });\n    }\n\n    var faqButtons = document.querySelectorAll('.faqQuestion');\n    for (var m = 0; m \u003c faqButtons.length; m++) {\n        faqButtons[m].addEventListener('click', function() {\n            var parent = this.parentNode;\n            if (parent.classList.contains('active')) {\n                parent.classList.remove('active');\n            } else {\n                parent.classList.add('active');\n            }\n        });\n    }\n\u003c\/script\u003e","brand":"LinknLink","offers":[{"title":"Default Title","offer_id":44137229451420,"sku":"","price":14.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/eRemote_TV_Kit_pro.png?v=1776406282"},{"product_id":"isg-display-max-smart-home-hub-home-assistant","title":"LinknLink iSG Display Max: Super Smart Home Gateway with Home Assistant","description":"    \u003cstyle type=\"text\/css\"\u003e\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing:border-box;\n        }\n        body, html {\n            height: 100%;\n        }\n        \/*pc端样式*\/\n        .productDetailsBox {\n            width: 100%;\n        }\n        .productDetailsBox img {\n            margin: 0;\n        }\n        .describeBox {\n            margin-top: 20px;\n        }\n        .productDetailsBox h3 {\n            margin: 23px 0 0;\n            font-size: 18px;\n            \/*font-family: Arial,Helvetica Neue,Helvetica,sans-serif;*\/\n            font-family: \"DIN Next\", sans-serif;\n            font-weight: bold;\n            color: #000000;\n            line-height: 20px;\n        }\n        .productDetailsBox p {\n            margin: 4px 0 0;\n            font-size: 16px;\n            \/*font-family: Arial Nova,Arial,Helvetica Neue,Helvetica,sans-serif;*\/\n            font-family: \"DIN Next\", sans-serif;\n            font-weight: 300;\n            color: #000000;\n            line-height: 18px;\n        }\n\n        .paragraphBox {\n            margin-top: 30px;\n            padding: 20px 0 17px 22px;\n            background: #F3F3F3;\n            border: 1px solid #F3F3F3;\n            border-radius: 8px;\n        }\n\n        .paragraphDiv {\n            display: flex;\n        }\n\n        .paragraphDiv\u003ep {\n            margin: 0!important;\n            padding: 0!important;\n            font-size: 14px;\n            \/*font-family: Arial Nova,Arial,Helvetica Neue,Helvetica,sans-serif;*\/\n            font-family: \"DIN Next\", sans-serif;\n            font-weight: 300;\n            color: #000000;\n            line-height: 18px;\n        }\n        .scenesBox {\n            width: 100%;\n            display: flex;\n            justify-content: space-between;\n\n            list-style: none !important;\n            margin: 0 !important;\n            padding: 0 !important;\n            flex-direction: row;\n            flex-wrap: wrap;\n        }\n        .scenesShowItem {\n            width: 48.5%;\n            margin-top: 40px;\n        }\n        .scenesShowItem::before {\n            background: initial !important;\n        }\n        .scenesShowItem\u003eimg {\n            width: 100%;\n        }\n\n        .setUpSection {\n            padding: 25px 0 40px;\n        }\n        .setUpUL {\n            width: 100%;\n            display: flex;\n            justify-content: space-between;\n\n            list-style: none !important;\n            margin: 0 !important;\n            padding: 0 !important;\n            flex-direction: row;\n            flex-wrap: wrap;\n        }\n        .setUpItem {\n            width: 30%;\n        }\n        .setUpItem::before {\n            background: initial !important;\n        }\n        #setUpTitle {\n            margin-top: 40px;\n            font-size: 18px;\n            line-height: 20px;\n        }\n        .headerVeLinkHide {\n            display: none!important;\n        }\n        .headerImageHide {\n            display: none!important;\n        }\n        #middleImage {\n            margin-top: 40px;\n            margin-bottom: 10px;\n        }\n        #middleImage1 {\n            margin-top: 30px;\n            margin-bottom: 10px;\n        }\n        #bottomImage {\n            margin-top: 40px;\n        }\n        .bottomImageHide {\n            display: none!important;\n        }\n        .setUpItem\u003eimg {\n            width: 100%;\n        }\n        #lastWord {\n            margin: 10px 34px;\n            color: #5A5B5B;\n            font-size: 14px;\n        }\n        .productDetailsBox #headerVeLink {\n            display: block;\n            width: 100%;\n            min-height:292px\n        }\n        .productDetailsBox #h3EleId {\n            font-size: 18px;\n        }\n        .productDetailsBox #setUpLIId h3 {\n            font-size: 16px;\n        }\n        .productDetailsBox #setUpLIId p {\n            font-size: 14px;\n            line-height: 16px;\n        }\n        .productDetailsBox table {\n            border-collapse: collapse;\n            margin-top: 0!important;\n        }\n        .productDetailsBox table tr td {\n            padding: 0;\n            border-top: 1px solid #E7E7E7;\n            border-bottom: 1px solid #E7E7E7;\n            height: 45px;\n            font-size: 14px;\n            line-height: 25px;\n            font-family: \"DIN Next\", sans-serif;\n        }\n        .productDetailsBox tr td:first-child {\n            background: #F3F3F3;\n            padding-left: 20px;\n        }\n        .productDetailsBox tr td:last-child {\n            padding-left: 20px;\n            color: black;\n            font-weight: 300;\n            font-family: \"DIN Next\", sans-serif;\n        }\n        .productDetailsBox .bottomVeLink {\n            margin: 40px 0px 10px;\n            display: block;\n            width: 100%;\n            min-height:292px\n        }\n        .productDetailsBox .instructionVideo {\n            margin-bottom: 40px;\n            font-weight: 500;\n        }\n        .productDetailsBox .formBox {\n            padding: 30px 100px;\n            box-sizing: border-box;\n            display: flex;\n            justify-content: center;\n            flex-direction: column;\n            align-items: center;\n            border-radius: 16px;\n            background: #F3F3F3;\n            min-height: 200px;\n        }\n        .productDetailsBox .emailDescribe {\n            text-align: center;\n            font-weight: 500;\n        }\n        .productDetailsBox .emailInput {\n            width: 100%;\n            color: #000000;\n            margin: 20px 0px;\n            height: 40px;\n            text-indent:5px;\n        }\n        .productDetailsBox .emailInput:-ms-input-placeholder {\n            text-align: left;\n            font-family: \"Helvetica\", sans-serif;\n            color: #c0ccda;\n        }\n        .productDetailsBox .emailInput:placeholder {\n            text-align: left;\n            font-family: \"Helvetica\", sans-serif;\n            color: #c0ccda;\n        }\n        .productDetailsBox .submitButton {\n            padding:12px 25px;\n            font-size:12px;\n            font-weight:700;\n            border-radius:18px;\n            background-color:#2c5af6;\n            color:#FFFFFF;\n            border-width:0px;\n            cursor: pointer;\n            margin-top: 20px;\n        }\n        \/*移动端样式*\/\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing:border-box;\n        }\n        body, html {\n            height: 100%;\n        }\n        .productDetailsMobile {\n            width: 100%;\n        }\n        .productDetailsMobile #headerImage {\n            margin: 0;\n            width: 100%;\n            \/*height: 233px;*\/\n        }\n        .productDetailsMobile #headerVeLink {\n            display: block;\n            width: 100%;\n        }\n        .productDetailsMobile h3 {\n            font-size: 20px;\n            line-height: 22px!important;\n            margin-top: 0;\n        }\n        .productDetailsMobile #describeBox {\n            margin-top: 10px;\n        }\n        .productDetailsMobile #insertElementId {\n            margin-top: 15px;\n            padding: 13px 19px 17px 20px;\n        }\n        .productDetailsMobile #scenesBox,\n        .productDetailsMobile #setUpUL {\n            width: 100%!important;\n        }\n        .productDetailsMobile #liEleId,\n        .productDetailsMobile #setUpLIId {\n            width: 100%!important;\n            margin-top: 25px;\n        }\n        .productDetailsMobile #setUpLIId p {\n            font-size: 14px;\n            line-height: 16px;\n        }\n        .productDetailsMobile #h3EleId {\n            margin-top: 8px!important;\n            font-size: 16px!important;\n            line-height: 18px;\n        }\n        .productDetailsMobile #scenesBoxPEleId p {\n            font-size: 14px;\n            line-height: 16px;\n        }\n        .productDetailsMobile #setUpTitle {\n            margin-top: 25px;\n            font-size: 20px;\n        }\n        .productDetailsMobile #setUpLIId:first-child {\n            margin-top: 0;\n        }\n        .productDetailsMobile #setUpSection {\n            padding: 15px 0 25px;\n        }\n        .productDetailsMobile #middleImage {\n            width: 100%;\n            margin-bottom: 15px;\n        }\n        .productDetailsMobile #middleImage1 {\n            width: 100%;\n            margin-bottom: 15px;\n        }\n        .productDetailsMobile #bottomImage {\n            width: 100%;\n            margin-top: 40px;\n        }\n        .productDetailsMobile table tr td {\n            font-size: 14px!important;\n            height: 47px!important;\n            line-height: 16px!important;\n        }\n        .productDetailsMobile tr td:first-child {\n            padding-left: 15px;\n            width: 150px!important;\n        }\n        .productDetailsMobile #lastWord {\n            font-size: 14px!important;\n            margin: 14px 0 18px 0;\n        }\n    \u003c\/style\u003e\n    \u003cdiv id=\"productDetails\" class=\"productDetailsBox\"\u003e\n        \u003cimg id=\"headerImage\" src=\"#\"\u003e\n        \u003ciframe type=\"text\/html\" id=\"headerVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"#\" frameborder=\"0\"\u003e\n        \u003c\/iframe\u003e\n        \u003cdiv id=\"describeBox\" class=\"describeBox\"\u003e\n        \u003c\/div\u003e\n        \u003csection\u003e\n            \u003cul id=\"scenesBox\" class=\"scenesBox\"\u003e\n            \u003c\/ul\u003e\n        \u003c\/section\u003e\n        \u003cimg id=\"middleImage\" src=\"#\"\u003e\n        \u003cimg id=\"middleImage1\" src=\"#\"\u003e\n        \u003ctable width=\"100%\"\u003e\n            \u003ctbody id=\"tbodyid\"\u003e\n            \u003c\/tbody\u003e\n        \u003c\/table\u003e\n        \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/xsfQdJCw5t0?si=Ikza_tzjeJVlZ-st\" frameborder=\"0\"\u003e\n        \u003c\/iframe\u003e\n        \u003cp id=\"instructionVideo\" class=\"instructionVideo\"\u003eInstructional video by Paul Hibbert\u003c\/p\u003e\n        \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/DS35fMAiyWY?si=gkpyn6iDUT2dGcns\" frameborder=\"0\"\u003e\n        \u003c\/iframe\u003e\n        \u003cp id=\"instructionVideo\" class=\"instructionVideo\"\u003eInstructional video by Smart Home Australia\u003c\/p\u003e\n        \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/fMYsLolQsQQ?si=uAKEHymQvLmAyiua\" frameborder=\"0\"\u003e\n        \u003c\/iframe\u003e\n        \u003cp id=\"instructionVideo\" class=\"instructionVideo\"\u003eInstructional video by Smart Home Australia\u003c\/p\u003e\n        \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/5b9V-E6tRoo?si=yVZ_Xe-8aza4GXml\" frameborder=\"0\"\u003e\n        \u003c\/iframe\u003e\n        \u003cp id=\"instructionVideo\" class=\"instructionVideo\"\u003eInstructional video by yoyoTech\u003c\/p\u003e\n        \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/L4XXWb-M4dg?si=I3URWSGOA0-0cFAj\" frameborder=\"0\"\u003e\n        \u003c\/iframe\u003e\n        \u003cp id=\"instructionVideo\" class=\"instructionVideo\"\u003eInstructional video by Smart Home Junkie\u003c\/p\u003e\n        \u003cp id=\"lastWord\"\u003e\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cscript\u003e\n        {\/*此行以上不要动*\/}\n        var resources ={\n            headerImage:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1-_-_1.jpg?v=1773135750',\n            headerVeLink:'https:\/\/www.youtube.com\/embed\/wpuzxL2fW10',\n            introduction:{\n                title:'LinknLink iSG Display Max -intelligent Super Gateway',\n                text:' Super Compatibility Touch Screen Smart Home Gateway | Multi Protocols, Local Control, Supports Home Assistant, Alexa, Google Home',\n                paragraph:[\n                    '【Full Protocol Support and Ease of Use】iSG is a highly compatible smart home gateway supporting all global IoT protocols, including Wi-Fi, Matter, zigbee, z-wave, IR, RF, BLE (zigbee and z-wave are suported via USB Dongle, IR and RF are supported by eHub), enabling almost all smart home devices connected and managed through iSG regardless of brand or protocol. With its touchscreen and built-in Home Assistant, it offers a plug-and-play experience, significantly simplifying device setup and control.',\n                    '【Centralized Control and Remote Management】Users can manage all smart home devices through the exclusive LinknLink app or iSG touchscreen. This includes turning devices on\/off, adjusting settings, viewing real-time and historical energy usage, and receiving sensor alerts. Importantly, iSG supports group control, allowing devices of the same category to be managed together for one-click control, greatly enhancing convenience and efficiency.',\n                    '【Localized Data and Automated Control】iSG emphasizes local data storage for privacy protection. It features a robust local automation engine that enables smart device interconnectivity without an external internet connection, such as automatically turning off all devices when leaving home or playing music upon return. This localized processing enhances response speed and security.',\n                    '【Voice Control and Free Cloud Access】iSG offers free cloud access to Alexa and Google Home, allowing users to control smart home devices via voice commands without additional fees. This voice control capability, combined with iSG high integration and ease of use, provides an ultimate smart home experience, making home automation more seamless and convenient.',\n                    '【Built-in Home Assistant and Wide Compatibility】iSG comes with Home Assistant, supporting 50,000+ devices and 2,500 brands, including mainstream ones like Sonos and Philips Hue. With pre-installed Integrations and HACS, users can easily add and configure new devices. Additionally, iSG includes a pre-installed HomeKit bridge integration, allowing non-HomeKit devices to work within the Apple Home App, significantly expanding device compatibility and user options.',\n                ]\n            },\n            scenes: [\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/03-touch.png?v=1712920626',\n                    title:'Intuitive Control',\n                    text:[\n                        'Keep Your Home Devices in Sync with Your Lifestyle - iSG enables a convenient life through smart automation, controlling appliances without manual intervention. Automatically turns off the AC during unoccupied times, saving energy and being eco-friendly.'\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/02_7c299243-3b92-408e-9ac8-8595c0c53e4d.jpg?v=1772703389',\n                    title:'One-Stop Smart Device Management',\n                    text:[\n                        'Easily Manage All Household Smart Devices Through One App. With iSG and the LinknLink app, users can easily control all smart home devices, from lighting and security systems to temperature control, all in one place.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/2_1.jpg?v=1772702965',\n                    title:'Quick Response, Localized Control',\n                    text:[\n                        'No Internet Required, Control in WLAN, Data Privacy Protection. iSG uses a robust local automation engine to automate smart devices without an external internet connection, ensuring privacy while enhancing response speed.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/3_1.jpg?v=1772702965',\n                    title:'Built-in Home Assistant: The Brain of Your Smart Home',\n                    text:[\n                        'iSG supports 50,000+ devices with pre-installed Integrations and HACS, enabling users to easily add and configure new devices for a customized smart home experience.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/5-Voice_control-pict.png?v=1712922932',\n                    title:'Voice Control',\n                    text:[\n                        'Users can remotely control smart home devices via voice commands through Alexa or Google Home, enjoying true smart living without extra costs, thanks to iSG is free cloud service.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1.jpg?v=1772702965',\n                    title:'Security First: Protecting Your Data Privacy',\n                    text:[\n                        'Localized Data Processing, Ensuring Information Security.iSG gateway utilizes localized data processing to ensure the security of your smart home information, safeguarding your privacy.',\n                    ]\n                }\n            ],\n            bottomImage:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/07_c833d6c1-99f1-43e7-b11b-dd2cac16b56b.jpg?v=1772702965',\n            middleImage:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/07_ed2aef6b-8e98-4bd5-b394-db1aaffc1c1a.jpg?v=1772702334',\n            middleImage1:'',\n            setUp:{\n                title:'Easy Pairing TV models',\n                steps:[\n                    {\n                        image:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0574\/9597\/8169\/files\/12-_1_40f4362a-400e-431a-9ce2-6f18e59b3ee9.jpg?v=1627605555',\n                        title:'Choose TV Brand',\n                        text:'Choose your TV brand from BroadLink official cloud database.'\n                    }, {\n                        image:'',\n                        title:'AI Recommendation',\n                        text:'BroadLink automatic recommendation system will match the best option for you.'\n                    }, {\n                        image:'',\n                        title:'Remote Test',\n                        text:'Remote can be tested for each signal button.'\n                    }\n                ]\n            },\n            tableData: [\n                {\n                    title: 'Product',\n                    text: 'iSG Display Max'\n                },{\n                    title: 'Model',\n                    text: 'CPF1056'\n                },{\n                    title: 'Display',\n                    text: '10-inch 1280x800 Touch Screen'\n                },{\n                    title: 'Processor',\n                    text: 'Quad-Core 1.5GHz'\n                },{\n                    title: 'RAM',\n                    text: '4GB'\n                },{\n                    title: 'Storage',\n                    text: '32GB'\n                },{\n                    title: 'Expansion Slot',\n                    text: '(Optional) USB Ethernet Adapter'\n                },{\n                    title: 'USB Ports',\n                    text: '1 x USB 2.0 Type-A, 1 x Micro USB 2.0'\n                },{\n                    title: 'Wireless Protocols',\n                    text: 'zigbee 3.0 and Matter'\n                },{\n                    title: 'Pre-Installed Firmware',\n                    text: 'Home Assistant OS'\n                },{\n                    title: 'Power Supply',\n                    text: '5V2A (plug type available: US\/EU\/UK\/AU)'\n                },{\n                    title: 'Power Button',\n                    text: 'Yes'\n                },{\n                    title: 'FCC ID',\n                    text: 'BXBI10261303'\n                },{\n                    title: 'Product Size',\n                    text: '257x180x26mm'\n                },{\n                    title: 'Package Size',\n                    text: '310x221x76mm'\n                },{\n                    title: 'Working Conditions',\n                    text: '0~50℃ \/ ≤85%RH'\n                }\n            ],\n            lastWord: ''\n        };\n        {\/*此行以下不要动*\/}\n        \/\/ rem适配\n        if((navigator.userAgent.match(\/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|wOSBrowser|BrowserNG|WebOS)\/i))) {\n            if (document.documentElement.clientWidth === 320 || document.documentElement.clientWidth === 375|| document.documentElement.clientWidth === 414|| document.documentElement.clientWidth === 411|| document.documentElement.clientWidth === 360) {\n                var productDetailsEle = document.getElementById(\"productDetails\");\n                productDetailsEle.classList.add(\"productDetailsMobile\");\n            }\n        }\n        var headerVeLinkEle = document.getElementById(\"headerVeLink\");\n        if (resources.headerVeLink !== '') {\n            headerVeLinkEle.src = resources.headerVeLink;\n        } else {\n            headerVeLinkEle.classList.add('headerVeLinkHide');\n        }\n        var headerImageEle = document.getElementById(\"headerImage\");\n        if (resources.headerImage !== '') {\n            headerImageEle.src = resources.headerImage;\n        } else {\n            headerImageEle.classList.add('headerImageHide');\n        }\n        var describeBoxEle=document.getElementById(\"describeBox\");\n\n        var insertElement = document.createElement(\"h3\");\n        insertElement.innerText=resources.introduction.title;\n        describeBoxEle.appendChild(insertElement);\n\n        insertElement = document.createElement(\"p\");\n        insertElement.innerText=resources.introduction.text;\n        describeBoxEle.appendChild(insertElement);\n\n        insertElement = document.createElement(\"div\");\n        insertElement.id = \"insertElementId\";\n        insertElement.classList.add(\"paragraphBox\");\n        for (var i = 0; i \u003c resources.introduction.paragraph.length; i++) {\n            var eleDiv = document.createElement(\"div\");\n            eleDiv.id = \"eleDivid\";\n            eleDiv.classList.add('paragraphDiv');\n            eleDiv.innerHTML = '\u003cp\u003e•\u003cdiv style=\"width: 5px;\"\u003e\u003c\/div\u003e\u003c\/p\u003e\u003cp\u003e'+resources.introduction.paragraph[i]+'\u003c\/p\u003e';\n            insertElement.appendChild(eleDiv);\n        }\n        describeBoxEle.appendChild(insertElement);\n\n        var scenesBoxEle=document.getElementById(\"scenesBox\");\n        for (var i = 0; i \u003c resources.scenes.length; i++) {\n            var scene = resources.scenes[i];\n            var liEle = document.createElement(\"li\");\n            liEle.id=\"liEleId\";\n            liEle.key='scenes'+i;\n            liEle.classList.add(\"scenesShowItem\");\n\n            var imgEle = document.createElement(\"img\");\n            imgEle.src = scene.image;\n            liEle.appendChild(imgEle);\n\n            var h3Ele = document.createElement(\"h3\");\n            h3Ele.id = \"h3EleId\";\n            h3Ele.innerText = scene.title;\n            liEle.appendChild(h3Ele);\n\n            var pEle = document.createElement(\"p\");\n            pEle.id = \"scenesBoxPEleId\";\n            pEle.innerHTML = '\u003cp\u003e'+scene.text[0]+'\u003c\/p\u003e';\n            liEle.appendChild(pEle);\n            scenesBoxEle.appendChild(liEle);\n        }\n        \/\/ 底部的图\n        var middleImageEle = document.getElementById(\"middleImage\");\n        if (resources.middleImage) {\n            middleImageEle.src = resources.middleImage;\n        } else {\n            middleImageEle.classList.add('bottomImageHide');\n        }\n        \/\/ 底部的图1\n        var middleImageEle1 = document.getElementById(\"middleImage1\");\n        if (resources.middleImage1) {\n            middleImageEle1.src = resources.middleImage1;\n        } else {\n            middleImageEle1.classList.add('bottomImageHide');\n        }\n        for (var i = 0; i \u003c resources.tableData.length; i++) {\n            var tbodyid = document.getElementById(\"tbodyid\");\n            var tableTrEle = document.createElement(\"tr\");\n            var trItem = resources.tableData[i];\n\n            var tdFirst = document.createElement(\"td\");\n            tdFirst.innerText = trItem.title;\n            tableTrEle.appendChild(tdFirst);\n\n            var tdSecond = document.createElement(\"td\");\n            tdSecond.innerText = trItem.text;\n            tableTrEle.appendChild(tdSecond);\n            tbodyid.appendChild(tableTrEle);\n        }\n        var lastWordEle = document.getElementById(\"lastWord\");\n        lastWordEle.innerText = resources.lastWord;\n        document.getElementById('submitButton').addEventListener('click', function(event) {\n          window.scrollTo(0, document.body.scrollHeight);\n        });\n    \u003c\/script\u003e","brand":"LinknLink","offers":[{"title":"iSG Display Max \/ UK","offer_id":44444969861276,"sku":"iSG","price":179.99,"currency_code":"USD","in_stock":true},{"title":"iSG Display Max \/ US","offer_id":44444969894044,"sku":"","price":179.99,"currency_code":"USD","in_stock":true},{"title":"iSG Display Max \/ EU","offer_id":44444969926812,"sku":"","price":179.99,"currency_code":"USD","in_stock":true},{"title":"iSG Display Max \/ AU","offer_id":44444969959580,"sku":"","price":179.99,"currency_code":"USD","in_stock":true},{"title":"iSG Display Max with Ethernet Adapter \/ UK","offer_id":46578017665180,"sku":null,"price":189.99,"currency_code":"USD","in_stock":true},{"title":"iSG Display Max with Ethernet Adapter \/ US","offer_id":46578017697948,"sku":null,"price":189.99,"currency_code":"USD","in_stock":true},{"title":"iSG Display Max with Ethernet Adapter \/ EU","offer_id":46578017730716,"sku":null,"price":189.99,"currency_code":"USD","in_stock":true},{"title":"iSG Display Max with Ethernet Adapter \/ AU","offer_id":46578017763484,"sku":null,"price":189.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/iSG_Max.png?v=1776406288"},{"product_id":"emotion-pro-mmwave-presence-fall-detection-sensor","title":"LinknLink eMotion Pro: 24GHz Presence Multi-Sensor","description":"\u003cstyle type=\"text\/css\"\u003e\n    * {\n        margin: 0;\n        padding: 0;\n        box-sizing:border-box;\n    }\n    body, html {\n        height: 100%;\n    }\n    \/*pc端样式*\/\n    .productDetailsBox {\n        width: 100%;\n    }\n    .productDetailsBox img {\n        margin: 0;\n    }\n    .describeBox {\n        margin-top: 20px;\n    }\n    .productDetailsBox h3 {\n        margin: 23px 0 0;\n        font-size: 18px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: bold;\n        color: #000000;\n        line-height: 20px;\n    }\n    .productDetailsBox p {\n        margin: 4px 0 0;\n        font-size: 16px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n\n    .paragraphBox {\n        margin-top: 30px;\n        padding: 20px 0 17px 22px;\n        background: #F3F3F3;\n        border: 1px solid #F3F3F3;\n        border-radius: 8px;\n    }\n\n    .paragraphDiv {\n        display: flex;\n    }\n\n    .paragraphDiv\u003ep {\n        margin: 0!important;\n        padding: 0!important;\n        font-size: 14px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n    .scenesBox {\n        width: 100%;\n        display: flex;\n        justify-content: space-between;\n        list-style: none !important;\n        margin: 0 !important;\n        padding: 0 !important;\n        flex-direction: row;\n        flex-wrap: wrap;\n    }\n    .scenesShowItem {\n        width: 48.5%;\n        margin-top: 40px;\n    }\n    .scenesShowItem::before {\n        background: initial !important;\n    }\n    .scenesShowItem\u003eimg {\n        width: 100%;\n    }\n\n    .setUpSection {\n        padding: 25px 0 40px;\n    }\n    .setUpUL {\n        width: 100%;\n        display: flex;\n        justify-content: space-between;\n        list-style: none !important;\n        margin: 0 !important;\n        padding: 0 !important;\n        flex-direction: row;\n        flex-wrap: wrap;\n    }\n    .setUpItem {\n        width: 30%;\n    }\n    .setUpItem::before {\n        background: initial !important;\n    }\n    #setUpTitle {\n        margin-top: 40px;\n        font-size: 18px;\n        line-height: 20px;\n    }\n    .headerVeLinkHide {\n        display: none!important;\n    }\n    .headerImageHide {\n        display: none!important;\n    }\n    #middleImage {\n        margin-top: 40px;\n        margin-bottom: 10px;\n    }\n    #middleImage1 {\n        margin-top: 30px;\n        margin-bottom: 10px;\n    }\n    #bottomImage {\n        margin-top: 40px;\n    }\n    .bottomImageHide {\n        display: none!important;\n    }\n    .setUpItem\u003eimg {\n        width: 100%;\n    }\n    #lastWord {\n        margin: 10px 34px;\n        color: #5A5B5B;\n        font-size: 14px;\n    }\n    .productDetailsBox #headerVeLink {\n        display: block;\n        width: 100%;\n        min-height:292px\n    }\n    .productDetailsBox #h3EleId {\n        font-size: 18px;\n    }\n    .productDetailsBox #setUpLIId h3 {\n        font-size: 16px;\n    }\n    .productDetailsBox #setUpLIId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsBox table {\n        border-collapse: collapse;\n        margin-top: 0!important;\n    }\n    .productDetailsBox table tr td {\n        padding: 0;\n        border-top: 1px solid #E7E7E7;\n        border-bottom: 1px solid #E7E7E7;\n        height: 45px;\n        font-size: 14px;\n        line-height: 25px;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox tr td:first-child {\n        background: #F3F3F3;\n        padding-left: 20px;\n    }\n    .productDetailsBox tr td:last-child {\n        padding-left: 20px;\n        color: black;\n        font-weight: 300;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox .bottomVeLink {\n        margin: 40px 0px 10px;\n        display: block;\n        width: 100%;\n        min-height:292px\n    }\n    .productDetailsBox .instructionVideo {\n        margin-bottom: 40px;\n        font-weight: 500;\n    }\n    .productDetailsBox .formBox {\n        padding: 30px 100px;\n        box-sizing: border-box;\n        display: flex;\n        justify-content: center;\n        flex-direction: column;\n        align-items: center;\n        border-radius: 16px;\n        background: #F3F3F3;\n        min-height: 200px;\n    }\n    .productDetailsBox .emailDescribe {\n        text-align: center;\n        font-weight: 500;\n    }\n    .productDetailsBox .emailInput {\n        width: 100%;\n        color: #000000;\n        margin: 20px 0px;\n        height: 40px;\n        text-indent:5px;\n    }\n    .productDetailsBox .emailInput:-ms-input-placeholder {\n        text-align: left;\n        font-family: \"Helvetica\", sans-serif;\n        color: #c0ccda;\n    }\n    .productDetailsBox .emailInput:placeholder {\n        text-align: left;\n        font-family: \"Helvetica\", sans-serif;\n        color: #c0ccda;\n    }\n    .productDetailsBox .submitButton {\n        padding:12px 25px;\n        font-size:12px;\n        font-weight:700;\n        border-radius:18px;\n        background-color:#2c5af6;\n        color:#FFFFFF;\n        border-width:0px;\n        cursor: pointer;\n        margin-top: 20px;\n    }\n\n    \/* FAQ 折叠模块 *\/\n    .emotionFaqBox {\n        margin-top: 40px;\n        padding: 24px 22px;\n        background: #F3F3F3;\n        border: 1px solid #E7E7E7;\n        border-radius: 8px;\n    }\n    .emotionFaqBox h3.emotionFaqTitle {\n        margin: 0 0 18px 0 !important;\n        font-size: 22px;\n        line-height: 24px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .emotionFaqItem {\n        border-top: 1px solid #D9D9D9;\n    }\n    .emotionFaqItem:first-of-type {\n        border-top: none;\n    }\n    .emotionFaqQuestion {\n        width: 100%;\n        padding: 18px 34px 18px 0;\n        background: transparent;\n        border: 0;\n        cursor: pointer;\n        text-align: left;\n        position: relative;\n        font-size: 16px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .emotionFaqQuestion:after {\n        content: \"+\";\n        position: absolute;\n        right: 0;\n        top: 50%;\n        transform: translateY(-50%);\n        font-size: 24px;\n        line-height: 24px;\n        font-weight: 300;\n    }\n    .emotionFaqItem.active .emotionFaqQuestion:after {\n        content: \"−\";\n    }\n    .emotionFaqAnswer {\n        display: none;\n        padding: 0 0 18px 0;\n    }\n    .emotionFaqItem.active .emotionFaqAnswer {\n        display: block;\n    }\n    .emotionFaqAnswer p {\n        margin: 0 !important;\n        font-size: 14px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000;\n    }\n\n    \/*移动端样式*\/\n    * {\n        margin: 0;\n        padding: 0;\n        box-sizing:border-box;\n    }\n    body, html {\n        height: 100%;\n    }\n    .productDetailsMobile {\n        width: 100%;\n    }\n    .productDetailsMobile #headerImage {\n        margin: 0;\n        width: 100%;\n    }\n    .productDetailsMobile #headerVeLink {\n        display: block;\n        width: 100%;\n    }\n    .productDetailsMobile h3 {\n        font-size: 20px;\n        line-height: 22px!important;\n        margin-top: 0;\n    }\n    .productDetailsMobile #describeBox {\n        margin-top: 10px;\n    }\n    .productDetailsMobile #insertElementId {\n        margin-top: 15px;\n        padding: 13px 19px 17px 20px;\n    }\n    .productDetailsMobile #scenesBox,\n    .productDetailsMobile #setUpUL {\n        width: 100%!important;\n    }\n    .productDetailsMobile #liEleId,\n    .productDetailsMobile #setUpLIId {\n        width: 100%!important;\n        margin-top: 25px;\n    }\n    .productDetailsMobile #setUpLIId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsMobile #h3EleId {\n        margin-top: 8px!important;\n        font-size: 16px!important;\n        line-height: 18px;\n    }\n    .productDetailsMobile #scenesBoxPEleId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsMobile #setUpTitle {\n        margin-top: 25px;\n        font-size: 20px;\n    }\n    .productDetailsMobile #setUpLIId:first-child {\n        margin-top: 0;\n    }\n    .productDetailsMobile #setUpSection {\n        padding: 15px 0 25px;\n    }\n    .productDetailsMobile #middleImage {\n        width: 100%;\n        margin-bottom: 15px;\n    }\n    .productDetailsMobile #middleImage1 {\n        width: 100%;\n        margin-bottom: 15px;\n    }\n    .productDetailsMobile #bottomImage {\n        width: 100%;\n        margin-top: 40px;\n    }\n    .productDetailsMobile table tr td {\n        font-size: 14px!important;\n        height: 47px!important;\n        line-height: 16px!important;\n    }\n    .productDetailsMobile tr td:first-child {\n        padding-left: 15px;\n        width: 150px!important;\n    }\n    .productDetailsMobile #lastWord {\n        font-size: 14px!important;\n        margin: 14px 0 18px 0;\n    }\n\n    .productDetailsMobile .emotionFaqBox {\n        margin-top: 30px;\n        padding: 18px 16px;\n    }\n    .productDetailsMobile .emotionFaqBox h3.emotionFaqTitle {\n        font-size: 20px;\n        line-height: 22px;\n    }\n    .productDetailsMobile .emotionFaqQuestion {\n        padding: 16px 28px 16px 0;\n        font-size: 15px;\n        line-height: 19px;\n    }\n    .productDetailsMobile .emotionFaqAnswer p {\n        font-size: 14px;\n        line-height: 18px;\n    }\n\u003c\/style\u003e\n\n\u003cdiv id=\"productDetails\" class=\"productDetailsBox\"\u003e\n    \u003cimg id=\"headerImage\" src=\"#\"\u003e\n    \u003ciframe type=\"text\/html\" id=\"headerVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"#\" frameborder=\"0\"\u003e\n    \u003c\/iframe\u003e\n    \u003cdiv id=\"describeBox\" class=\"describeBox\"\u003e\n    \u003c\/div\u003e\n    \u003ch2\u003eWhy eMotion Pro fits Home Assistant presence automation\u003c\/h2\u003e\n\u003cp\u003eeMotion Pro combines a 24GHz mmWave presence sensor, built-in IR emitter, light sensing, WiFi, and MQTT support in one compact device. It is designed for local Home Assistant workflows where presence can trigger lights, climate, media, and appliance control without adding a separate IR hub.\u003c\/p\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eBuilt-in IR emitter:\u003c\/strong\u003e control AC, TV, and other IR appliances from the same presence device.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eDirect WiFi + MQTT:\u003c\/strong\u003e connect to Home Assistant workflows without a required hub.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003e100% local control:\u003c\/strong\u003e keep automations private and responsive without cloud dependency.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003csection\u003e\n        \u003cul id=\"scenesBox\" class=\"scenesBox\"\u003e\n        \u003c\/ul\u003e\n    \u003c\/section\u003e\n    \u003cimg id=\"middleImage\" src=\"#\"\u003e\n    \u003cimg id=\"middleImage1\" src=\"#\"\u003e\n    \u003ctable width=\"100%\"\u003e\n        \u003ctbody id=\"tbodyid\"\u003e\n        \u003c\/tbody\u003e\n    \u003c\/table\u003e\n    \u003cp id=\"instructionVideo\" class=\"instructionVideo\"\u003e The zone feature on eMotion Pro is designed primarily for easy indication, and zone detection may not always be highly precise. For more accurate zone-based detection and triggering, we recommend using our 60GHz presence sensors - eMotion Ultra.\n \u003c\/p\u003e\n    \u003cp id=\"lastWord\"\u003e\u003c\/p\u003e\n\n    \u003cdiv class=\"emotionFaqBox\"\u003e\n        \u003ch3 class=\"emotionFaqTitle\"\u003eFrequently Asked Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"emotionFaqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"emotionFaqQuestion\"\u003eDoes eMotion Pro work with Home Assistant?\u003c\/button\u003e\n            \u003cdiv class=\"emotionFaqAnswer\"\u003e\n                \u003cp\u003eYes, eMotion Pro integrates natively with Home Assistant via MQTT auto-discovery. Install the LinknLink Local HACS integration for one-click setup.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"emotionFaqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"emotionFaqQuestion\"\u003eWhat is the detection range of eMotion Pro?\u003c\/button\u003e\n            \u003cdiv class=\"emotionFaqAnswer\"\u003e\n                \u003cp\u003eeMotion Pro uses 24GHz mmWave radar with up to 6m detection range and a 150° coverage angle. It detects micro-movements even when a person is stationary.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"emotionFaqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"emotionFaqQuestion\"\u003eDoes eMotion Pro require a hub or subscription?\u003c\/button\u003e\n            \u003cdiv class=\"emotionFaqAnswer\"\u003e\n                \u003cp\u003eNo. eMotion Pro connects directly via 2.4GHz WiFi, no hub needed, no cloud subscription. All data stays local with MQTT.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"emotionFaqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"emotionFaqQuestion\"\u003eCan eMotion Pro replace my PIR motion sensor?\u003c\/button\u003e\n            \u003cdiv class=\"emotionFaqAnswer\"\u003e\n                \u003cp\u003eYes, and it is a significant upgrade. Unlike PIR sensors that miss stationary people, mmWave detects breathing and micro-movements. No more lights turning off when you are sitting still.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"emotionFaqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"emotionFaqQuestion\"\u003eWill my pet trigger false alarms on eMotion Pro?\u003c\/button\u003e\n            \u003cdiv class=\"emotionFaqAnswer\"\u003e\n                \u003cp\u003eeMotion Pro includes sensitivity tuning to filter out small pets. Most users successfully configure it to ignore cats and small dogs while still detecting humans.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    {\/*此行以上不要动*\/}\n    var resources ={\n        headerImage:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/pro-01-_-_3UI_1.jpg?v=1773130072',\n        headerVeLink:'https:\/\/www.youtube.com\/embed\/zJu3sWlYalQ',\n        introduction:{\n            title:'eMotion Pro Wi-Fi 24GHz mmWave Radar Presence Sensor',\n            text:'Precise Still Presence Detection | Smart Home Automations |Compatible with Alexa and Google Home | No Hub Required | Future Firmware Update for IR Control and Brightness Sensor',\n            paragraph:[\n                '【24GHz Precise Radar Presence Detection】The 3rd-Gen mmWave radar sensor detects presence with high precision, even when sitting or sleeping still. It offers superior accuracy compared to 2nd-Gen 5.8GHz radar or 1st-Gen PIR sensors.',\n                '【Syncs with Home Assistant via Motion2MQTT】Motion2MQTT acts as a bridge, connecting the presence sensor to Home Assistant through the MQTT service. This integration allows Home Assistant to detect presence and trigger automated actions. For example, when someone walks by, Home Assistant can turn on a light, send a notification to your phone, or activate a security camera. The light will remain on as long as you are present, even without movement.',\n                '【Wide \u0026 Barrier-Breaking Detection Signal】eMotion Pro can be installed in any direction or placed anywhere in the room, even inside a cupboard, while still accurately detecting presence. This provides exceptional installation flexibility, with a maximum detection range of 7 meters on the front side.',\n                '【Easy \u0026 Fast Wi-Fi Connection】eMotion Pro connects directly to your home Wi-Fi network (2.4GHz), eliminating the need for an additional hub. This simplifies the setup process, provides faster response times, and reduces overall purchase costs.',\n                '【Compatible with Alexa \u0026 Google】eMotion Pro is compatible with both Alexa and Google Home, enabling voice alerts and allowing you to set routines based on presence detection, further enhancing the automation and convenience of your home.',\n                '【IR Control and Brightness Sensor】(To be enabled by future firmware update) Surprise! eMotion Pro also features long-range IR emitters for appliance control, with a range of up to 15 meters, and a built-in brightness sensor that detects ambient light levels. With just a single device, you can create complex automations, such as turning on lights when it is dark or turning off the AC when you are away for 30 minutes.',\n            ]\n        },\n        scenes: [\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/02_d738c98e-9a1d-4f21-942d-d51a482b7efa.png?v=1744706154',\n                title:'Stationary Presence Detection',\n                text:[\n                    'The 3rd-Gen mmWave radar sensor detects presence with high precision, even when sitting or sleeping still, offering superior accuracy compared to 2nd-Gen 5.8GHz radar or 1st-Gen PIR sensors. '\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/U14.jpg?v=1772794983',\n                title:'IR Control and Brightness Sensor',\n                text:[\n                    'A future firmware update will activate the IR control and brightness sensor on eMotion Pro, significantly enhancing its capability for complex automations with presence detection—all in a single device.',\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/M12.jpg?v=1772794983',\n                title:'Flexible Dual-Joints Foldable Stand',\n                text:[\n                    'eMotion Pro includes a dual-joint foldable stand and adhesive stickers in the package, allowing for easy installation on a desktop or wall. The adjustable stand lets you fine-tune the angle for optimal detection performance.',\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/04_a7c1366f-091d-449d-b86e-a0a37b3d4a13.jpg?v=1772794983',\n                title:'Stay Informed with LinknLink App',\n                text:[\n                    'No matter where you are, stay connected with real-time notification alerts for detected intrusions or prolonged inactivity. Easily view the event history, export data, and stay informed about your home directly from your phone.',\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/05-Routines.png?v=1727253033',\n                title:'Smart Home Automations Made Easy',\n                text:[\n                    'eMotion integrates seamlessly with Alexa and Google Home, enabling you to create routines triggered by human movement, further enhancing your home automation and convenience.',\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/06-HA.png?v=1744699150',\n                title:'Easy Syncing with Home Assistant via MQTT',\n                text:[\n                    'No third-party integration needed! Simply utilize the standard MQTT service on Home Assistant and complete a quick setup in the app. eMotion will be automatically discovered in Home Assistant, with its status synced in real-time.',\n                ]\n            }\n        ],\n        bottomImage:'',\n        middleImage:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1-pro-vs-Ultra.jpg?v=1773133070',\n        setUp:{\n            title:'Easy Pairing TV models',\n            steps:[\n                {\n                    image:'',\n                    text:'Choose your TV brand from BroadLink official cloud database.'\n                }, {\n                    image:'',\n                    title:'AI Recommendation',\n                    text:'BroadLink automatic recommendation system will match the best option for you.'\n                }, {\n                    image:'',\n                    title:'Remote Test',\n                    text:'Remote can be tested for each signal button.'\n                }\n            ]\n        },\n        tableData: [\n            {\n                title: 'Product Name',\n                text: 'Smart Home Bridge'\n            },{\n                title: 'Model',\n                text: 'eMotion Pro'\n            },{\n                title: 'Form Factor',\n                text: 'Round'\n            },{\n                title: 'Rating Power',\n                text: '5V DC \/ 2A'\n            },{\n                title: 'Power Cable',\n                text: 'USB-C'\n            },{\n                title: 'Infrared frequency',\n                text: '38KHz'\n            },{\n                title: 'Communication Mode',\n                text: 'Wi-Fi 802.11b\/g\/n (2.4GHz) \/ BT (4.0 and above)'\n            },{\n                title: 'Radar Frequency',\n                text: '24GHz'\n            },{\n                title: 'Detection Range',\n                text: '5-6m'\n            },{\n                title: 'FCC ID',\n                text: '2A9BE-LL8720-P'\n            },{\n                title: 'Supported OS',\n                text: 'iOS 11.0 \/ Android™ 5.1 and above'\n            },{\n                title: 'Working Humidity',\n                text: '≤85%RH'\n            },{\n                title: 'Working Temperature',\n                text: '0-50°C'\n            },{\n                title: 'Waterproof',\n                text: 'No'\n            },{\n                title: 'Dimension',\n                text: '61x61x25 mm'\n            }\n        ],\n        lastWord: ''\n    };\n    {\/*此行以下不要动*\/}\n    if((navigator.userAgent.match(\/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|wOSBrowser|BrowserNG|WebOS)\/i))) {\n        if (document.documentElement.clientWidth === 320 || document.documentElement.clientWidth === 375|| document.documentElement.clientWidth === 414|| document.documentElement.clientWidth === 411|| document.documentElement.clientWidth === 360) {\n            var productDetailsEle = document.getElementById(\"productDetails\");\n            productDetailsEle.classList.add(\"productDetailsMobile\");\n        }\n    }\n    var headerVeLinkEle = document.getElementById(\"headerVeLink\");\n    if (resources.headerVeLink !== '') {\n        headerVeLinkEle.src = resources.headerVeLink;\n    } else {\n        headerVeLinkEle.classList.add('headerVeLinkHide');\n    }\n    var headerImageEle = document.getElementById(\"headerImage\");\n    if (resources.headerImage !== '') {\n        headerImageEle.src = resources.headerImage;\n    } else {\n        headerImageEle.classList.add('headerImageHide');\n    }\n    var describeBoxEle=document.getElementById(\"describeBox\");\n\n    var insertElement = document.createElement(\"h3\");\n    insertElement.innerText=resources.introduction.title;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"p\");\n    insertElement.innerText=resources.introduction.text;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"div\");\n    insertElement.id = \"insertElementId\";\n    insertElement.classList.add(\"paragraphBox\");\n    for (var i = 0; i \u003c resources.introduction.paragraph.length; i++) {\n        var eleDiv = document.createElement(\"div\");\n        eleDiv.id = \"eleDivid\";\n        eleDiv.classList.add('paragraphDiv');\n        eleDiv.innerHTML = '\u003cp\u003e•\u003cdiv style=\"width: 5px;\"\u003e\u003c\/div\u003e\u003c\/p\u003e\u003cp\u003e'+resources.introduction.paragraph[i]+'\u003c\/p\u003e';\n        insertElement.appendChild(eleDiv);\n    }\n    describeBoxEle.appendChild(insertElement);\n\n    var scenesBoxEle=document.getElementById(\"scenesBox\");\n    for (var i = 0; i \u003c resources.scenes.length; i++) {\n        var scene = resources.scenes[i];\n        var liEle = document.createElement(\"li\");\n        liEle.id=\"liEleId\";\n        liEle.key='scenes'+i;\n        liEle.classList.add(\"scenesShowItem\");\n\n        var imgEle = document.createElement(\"img\");\n        imgEle.src = scene.image;\n        liEle.appendChild(imgEle);\n\n        var h3Ele = document.createElement(\"h3\");\n        h3Ele.id = \"h3EleId\";\n        h3Ele.innerText = scene.title;\n        liEle.appendChild(h3Ele);\n\n        var pEle = document.createElement(\"p\");\n        pEle.id = \"scenesBoxPEleId\";\n        pEle.innerHTML = '\u003cp\u003e'+scene.text[0]+'\u003c\/p\u003e';\n        liEle.appendChild(pEle);\n        scenesBoxEle.appendChild(liEle);\n    }\n    var middleImageEle = document.getElementById(\"middleImage\");\n    if (resources.middleImage) {\n        middleImageEle.src = resources.middleImage;\n    } else {\n        middleImageEle.classList.add('bottomImageHide');\n    }\n\n    var middleImageEle1 = document.getElementById(\"middleImage1\");\n    if (resources.middleImage1) {\n        middleImageEle1.src = resources.middleImage1;\n    } else {\n        middleImageEle1.classList.add('bottomImageHide');\n    }\n\n    for (var i = 0; i \u003c resources.tableData.length; i++) {\n        var tbodyid = document.getElementById(\"tbodyid\");\n        var tableTrEle = document.createElement(\"tr\");\n        var trItem = resources.tableData[i];\n\n        var tdFirst = document.createElement(\"td\");\n        tdFirst.innerText = trItem.title;\n        tableTrEle.appendChild(tdFirst);\n\n        var tdSecond = document.createElement(\"td\");\n        tdSecond.innerText = trItem.text;\n        tableTrEle.appendChild(tdSecond);\n        tbodyid.appendChild(tableTrEle);\n    }\n\n    var lastWordEle = document.getElementById(\"lastWord\");\n    lastWordEle.innerText = resources.lastWord;\n\n    var submitBtn = document.getElementById('submitButton');\n    if (submitBtn) {\n        submitBtn.addEventListener('click', function(event) {\n            window.scrollTo(0, document.body.scrollHeight);\n        });\n    }\n\n    var faqButtons = document.querySelectorAll('.emotionFaqQuestion');\n    for (var j = 0; j \u003c faqButtons.length; j++) {\n        faqButtons[j].addEventListener('click', function() {\n            var parent = this.parentNode;\n            if (parent.classList.contains('active')) {\n                parent.classList.remove('active');\n            } else {\n                parent.classList.add('active');\n            }\n        });\n    }\n\u003c\/script\u003e","brand":"LinknLink","offers":[{"title":"eMotion Pro","offer_id":44681308078236,"sku":"eMotion","price":17.99,"currency_code":"USD","in_stock":true},{"title":"eMotion Pro (3-Pack)","offer_id":46577818370204,"sku":"eMotion","price":46.99,"currency_code":"USD","in_stock":true},{"title":"eMotion Pro (5-Pack)","offer_id":46577836851356,"sku":"eMotion","price":79.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/eMotion_Pro.png?v=1776406342"},{"product_id":"eremote-ha-ir-remote-home-assistant-mqtt","title":"LinknLink eRemote HA: IR Universal Remote Hub","description":"\u003cstyle type=\"text\/css\"\u003e\n    * {\n        margin: 0;\n        padding: 0;\n        box-sizing:border-box;\n    }\n    body, html {\n        height: 100%;\n    }\n    \/*pc端样式*\/\n    .productDetailsBox {\n        width: 100%;\n    }\n    .productDetailsBox img {\n        margin: 0;\n    }\n    .describeBox {\n        margin-top: 20px;\n    }\n    .productDetailsBox h3 {\n        margin: 23px 0 0;\n        font-size: 18px;\n        \/*font-family: Arial,Helvetica Neue,Helvetica,sans-serif;*\/\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: bold;\n        color: #000000;\n        line-height: 20px;\n    }\n    .productDetailsBox p {\n        margin: 4px 0 0;\n        font-size: 16px;\n        \/*font-family: Arial Nova,Arial,Helvetica Neue,Helvetica,sans-serif;*\/\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n\n    .paragraphBox {\n        margin-top: 30px;\n        padding: 20px 0 17px 22px;\n        background: #F3F3F3;\n        border: 1px solid #F3F3F3;\n        border-radius: 8px;\n    }\n\n    .paragraphDiv {\n        display: flex;\n    }\n\n    .paragraphDiv\u003ep {\n        margin: 0!important;\n        padding: 0!important;\n        font-size: 14px;\n        \/*font-family: Arial Nova,Arial,Helvetica Neue,Helvetica,sans-serif;*\/\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n    .scenesBox {\n        width: 100%;\n        display: flex;\n        justify-content: space-between;\n\n        list-style: none !important;\n        margin: 0 !important;\n        padding: 0 !important;\n        flex-direction: row;\n        flex-wrap: wrap;\n    }\n    .scenesShowItem {\n        width: 48.5%;\n        margin-top: 40px;\n    }\n    .scenesShowItem::before {\n        background: initial !important;\n    }\n    .scenesShowItem\u003eimg {\n        width: 100%;\n    }\n\n    .setUpSection {\n        padding: 25px 0 40px;\n    }\n    .setUpUL {\n        width: 100%;\n        display: flex;\n        justify-content: space-between;\n\n        list-style: none !important;\n        margin: 0 !important;\n        padding: 0 !important;\n        flex-direction: row;\n        flex-wrap: wrap;\n    }\n    .setUpItem {\n        width: 30%;\n    }\n    .setUpItem::before {\n        background: initial !important;\n    }\n    #setUpTitle {\n        margin-top: 40px;\n        font-size: 18px;\n        line-height: 20px;\n    }\n    .headerVeLinkHide {\n        display: none!important;\n    }\n    .headerImageHide {\n        display: none!important;\n    }\n    #middleImage {\n        margin-top: 40px;\n        margin-bottom: 10px;\n    }\n    #middleImage1 {\n        margin-top: 30px;\n        margin-bottom: 10px;\n    }\n    #bottomImage {\n        margin-top: 40px;\n    }\n    .bottomImageHide {\n        display: none!important;\n    }\n    .setUpItem\u003eimg {\n        width: 100%;\n    }\n    #lastWord {\n        margin: 10px 34px;\n        color: #5A5B5B;\n        font-size: 14px;\n    }\n    .productDetailsBox #headerVeLink {\n        display: block;\n        width: 100%;\n        min-height:292px\n    }\n    .productDetailsBox #h3EleId {\n        font-size: 18px;\n    }\n    .productDetailsBox #setUpLIId h3 {\n        font-size: 16px;\n    }\n    .productDetailsBox #setUpLIId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsBox table {\n        border-collapse: collapse;\n        margin-top: 0!important;\n    }\n    .productDetailsBox table tr td {\n        padding: 0;\n        border-top: 1px solid #E7E7E7;\n        border-bottom: 1px solid #E7E7E7;\n        height: 45px;\n        font-size: 14px;\n        line-height: 25px;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox tr td:first-child {\n        background: #F3F3F3;\n        padding-left: 20px;\n    }\n    .productDetailsBox tr td:last-child {\n        padding-left: 20px;\n        color: black;\n        font-weight: 300;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox .bottomVeLink {\n        margin: 40px 0px 10px;\n        display: block;\n        width: 100%;\n        min-height:292px\n    }\n    .productDetailsBox .instructionVideo {\n        margin-bottom: 40px;\n        font-weight: 500;\n    }\n    .productDetailsBox .formBox {\n        padding: 30px 100px;\n        box-sizing: border-box;\n        display: flex;\n        justify-content: center;\n        flex-direction: column;\n        align-items: center;\n        border-radius: 16px;\n        background: #F3F3F3;\n        min-height: 200px;\n    }\n    .productDetailsBox .emailDescribe {\n        text-align: center;\n        font-weight: 500;\n    }\n    .productDetailsBox .emailInput {\n        width: 100%;\n        color: #000000;\n        margin: 20px 0px;\n        height: 40px;\n        text-indent:5px;\n    }\n    .productDetailsBox .emailInput:-ms-input-placeholder {\n        text-align: left;\n        font-family: \"Helvetica\", sans-serif;\n        color: #c0ccda;\n    }\n    .productDetailsBox .emailInput:placeholder {\n        text-align: left;\n        font-family: \"Helvetica\", sans-serif;\n        color: #c0ccda;\n    }\n    .productDetailsBox .submitButton {\n        padding:12px 25px;\n        font-size:12px;\n        font-weight:700;\n        border-radius:18px;\n        background-color:#2c5af6;\n        color:#FFFFFF;\n        border-width:0px;\n        cursor: pointer;\n        margin-top: 20px;\n    }\n\n    \/* FAQ 折叠模块 *\/\n    .productDetailsBox .faqBox {\n        margin-top: 40px;\n        padding: 24px 22px;\n        background: #F3F3F3;\n        border: 1px solid #E7E7E7;\n        border-radius: 8px;\n    }\n    .productDetailsBox .faqTitle {\n        margin: 0 0 18px 0 !important;\n        font-size: 22px;\n        line-height: 24px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .productDetailsBox .faqItem {\n        border-top: 1px solid #D9D9D9;\n    }\n    .productDetailsBox .faqItem:first-of-type {\n        border-top: none;\n    }\n    .productDetailsBox .faqQuestion {\n        width: 100%;\n        padding: 18px 34px 18px 0;\n        background: transparent;\n        border: 0;\n        cursor: pointer;\n        text-align: left;\n        position: relative;\n        font-size: 16px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .productDetailsBox .faqQuestion:after {\n        content: \"+\";\n        position: absolute;\n        right: 0;\n        top: 50%;\n        transform: translateY(-50%);\n        font-size: 24px;\n        line-height: 24px;\n        font-weight: 300;\n    }\n    .productDetailsBox .faqItem.active .faqQuestion:after {\n        content: \"−\";\n    }\n    .productDetailsBox .faqAnswer {\n        display: none;\n        padding: 0 0 18px 0;\n    }\n    .productDetailsBox .faqItem.active .faqAnswer {\n        display: block;\n    }\n    .productDetailsBox .faqAnswer p {\n        margin: 0 !important;\n        font-size: 14px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000;\n    }\n\n    \/*移动端样式*\/\n    * {\n        margin: 0;\n        padding: 0;\n        box-sizing:border-box;\n    }\n    body, html {\n        height: 100%;\n    }\n    .productDetailsMobile {\n        width: 100%;\n    }\n    .productDetailsMobile #headerImage {\n        margin: 0;\n        width: 100%;\n        \/*height: 233px;*\/\n    }\n    .productDetailsMobile #headerVeLink {\n        display: block;\n        width: 100%;\n    }\n    .productDetailsMobile h3 {\n        font-size: 20px;\n        line-height: 22px!important;\n        margin-top: 0;\n    }\n    .productDetailsMobile #describeBox {\n        margin-top: 10px;\n    }\n    .productDetailsMobile #insertElementId {\n        margin-top: 15px;\n        padding: 13px 19px 17px 20px;\n    }\n    .productDetailsMobile #scenesBox,\n    .productDetailsMobile #setUpUL {\n        width: 100%!important;\n    }\n    .productDetailsMobile #liEleId,\n    .productDetailsMobile #setUpLIId {\n        width: 100%!important;\n        margin-top: 25px;\n    }\n    .productDetailsMobile #setUpLIId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsMobile #h3EleId {\n        margin-top: 8px!important;\n        font-size: 16px!important;\n        line-height: 18px;\n    }\n    .productDetailsMobile #scenesBoxPEleId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsMobile #setUpTitle {\n        margin-top: 25px;\n        font-size: 20px;\n    }\n    .productDetailsMobile #setUpLIId:first-child {\n        margin-top: 0;\n    }\n    .productDetailsMobile #setUpSection {\n        padding: 15px 0 25px;\n    }\n    .productDetailsMobile #middleImage {\n        width: 100%;\n        margin-bottom: 15px;\n    }\n    .productDetailsMobile #middleImage1 {\n        width: 100%;\n        margin-bottom: 15px;\n    }\n    .productDetailsMobile #bottomImage {\n        width: 100%;\n        margin-top: 40px;\n    }\n    .productDetailsMobile table tr td {\n        font-size: 14px!important;\n        height: 47px!important;\n        line-height: 16px!important;\n    }\n    .productDetailsMobile tr td:first-child {\n        padding-left: 15px;\n        width: 150px!important;\n    }\n    .productDetailsMobile #lastWord {\n        font-size: 14px!important;\n        margin: 14px 0 18px 0;\n    }\n    .productDetailsMobile .faqBox {\n        margin-top: 30px;\n        padding: 18px 16px;\n    }\n    .productDetailsMobile .faqTitle {\n        font-size: 20px;\n        line-height: 22px;\n    }\n    .productDetailsMobile .faqQuestion {\n        padding: 16px 28px 16px 0;\n        font-size: 15px;\n        line-height: 19px;\n    }\n    .productDetailsMobile .faqAnswer p {\n        font-size: 14px;\n        line-height: 18px;\n    }\n\u003c\/style\u003e\n\u003cdiv id=\"productDetails\" class=\"productDetailsBox\"\u003e\n    \u003cimg id=\"headerImage\" src=\"#\"\u003e\n    \u003ciframe type=\"text\/html\" id=\"headerVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"#\" frameborder=\"0\"\u003e\n    \u003c\/iframe\u003e\n    \u003cdiv id=\"describeBox\" class=\"describeBox\"\u003e\n    \u003c\/div\u003e\n    \u003csection\u003e\n        \u003cul id=\"scenesBox\" class=\"scenesBox\"\u003e\n        \u003c\/ul\u003e\n    \u003c\/section\u003e\n    \u003cimg id=\"middleImage\" src=\"#\"\u003e\n    \u003cimg id=\"middleImage1\" src=\"#\"\u003e\n    \u003ctable width=\"100%\"\u003e\n        \u003ctbody id=\"tbodyid\"\u003e\n        \u003c\/tbody\u003e\n    \u003c\/table\u003e\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/mO3S9faqFiE?si=P6tyTkcDCEKrswWv\" frameborder=\"0\"\u003e\n    \u003c\/iframe\u003e\n    \u003cp id=\"instructionVideo\" class=\"instructionVideo\"\u003eVideo by Kim Christensen\u003c\/p\u003e\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/U65mGRuKI5I?si=Gpas5K15fjal6I5H\" frameborder=\"0\"\u003e\n    \u003c\/iframe\u003e\n    \u003cp id=\"instructionVideo\" class=\"instructionVideo\"\u003eVideo by Letterio Bavastrelli\u003c\/p\u003e\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/lLQ-mqYvYBU?si=ze2CgAVVCKagXHRN\" frameborder=\"0\"\u003e\n    \u003c\/iframe\u003e\n    \u003cp id=\"instructionVideo\" class=\"instructionVideo\"\u003eVideo by Victor G\u003c\/p\u003e\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/itjLznRG5kA?si=FEYo0jSyJUtGpbCI\" frameborder=\"0\"\u003e\n    \u003c\/iframe\u003e\n    \u003cp id=\"instructionVideo\" class=\"instructionVideo\"\u003eVideo by Csongor Varga\u003c\/p\u003e\n\n    \u003cdiv class=\"faqBox\"\u003e\n        \u003ch3 class=\"faqTitle\"\u003eFrequently Asked Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eDoes eRemote HA work with Home Assistant?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eYes. eRemote HA supports IR2MQTT for Home Assistant. It converts infrared control into MQTT messages so you can integrate traditional IR appliances like TVs and air conditioners into Home Assistant automations.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eWhat devices can eRemote HA control?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eeRemote HA can control many traditional infrared appliances, including TVs, air conditioners, set-top boxes, DVD players, amplifiers, and projectors. It supports a large cloud library of brands and models.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eDoes eRemote HA support Alexa and Google Home?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eYes. eRemote HA works with both Alexa and Google Home, allowing voice control for compatible appliances and routines without needing to use multiple remotes.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eDoes eRemote HA require 2.4GHz Wi-Fi?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eYes. eRemote HA supports 2.4GHz Wi-Fi only. It does not support 5GHz Wi-Fi for device connection.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eWhat is the infrared control range of eRemote HA?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eeRemote HA provides an ultra-wide infrared signal range of up to 12 meters, suitable for large rooms. In many cases, signals can also be reflected by walls for broader coverage.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp id=\"lastWord\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n    {\/*此行以上不要动*\/}\n    var resources ={\n        headerImage:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/01_a27be8c1-e47b-4e14-93cf-0127826dc260.jpg?v=1773139158',\n        headerVeLink:'https:\/\/www.youtube.com\/embed\/ACDb_AxYXzY?si=NPN8C5MreWaJooln',\n        introduction:{\n            title:'Smart Wi-Fi Universal Remote',\n            text:'IR Blaster for TV, Aircon, STB, IR2MQTT Home Assitant, Compatible with Alexa, Google Home',\n            paragraph:[\n                '【Appliance IR Control】 Turn you smart phone to be a smart remote for traditional appliances with IR such as TV, air conditioner, set-top box, DVD player, amplifier and projector. Support appliances from 22 types, 2,000+ brands and 500,000+ models.',\n                '【Updatable and Programmable】 The cloud is consistently updating its library of supported devices, ensuring that your eRemote remains compatible with the latest devices. Additionally, you have the option to program IR template and learn buttons in case any IR code for certain button is unavailable；',\n                '【IR2MQTT Home Assistant】 IR2MQTT acts as a bridge between your traditional IR remote-controlled devices (like TVs, air conditioners, etc.) and your Home Assistant smart home system. It captures the infrared signals from your physical remote control and converts them into MQTT messages that Home Assistant can understand. Combine IR devices with other smart devices to create complex automation scenarios.',\n                '【Works with Alexa and Google Home】 You can control your appliances with voice commands even without App, eliminating the need to search for different remotes. The connected Bluetooth devices will be also supported in Alexa and Google Home;',\n                '【Easy Setup and Use】 eRemote only supports 2.4GHz (NOT 5GHz) Wi-Fi connection. But you can keep your phone connected to 5GHz Wi-Fi or even cellular network during setup! Ultra-wide IR signal range up to 12m covering large room and most of time even you don\\'t need to point it to IR receiver as signal can be reflected by walls.',\n                'If you need to upgrade the HA version, please refer to the online manual in the LinknLink app and follow the steps in the eRemote help guide to perform the upgrade. Please note that the Bluetooth hub function will be disabled after the upgrade.',\n            ]\n        },\n        scenes: [\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/2_fd759859-2175-4b37-81ec-46e33d615ddc.png?v=1727244838',\n                title:'Wide Range of Compatibility',\n                text:[\n                    'eRemote works with a wide variety of brands and devices, making it the perfect universal remote for your home. Transform your traditional appliances into smart ones.'\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/04-MQTT_1k_1.jpg?v=1773813193',\n                title:'Easy Syncing to Home Assistant via MQTT',\n                text:[\n                    'No third-party integration is required! Simply use the standard MQTT service on Home Assistant and perform a quick setup in the app.(A manual upgrade is required)',\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/5_9fafcea9-f494-47fb-9c8c-3a829803e5cd.png?v=1727244842',\n                title:'Alexa and Google Voice Control',\n                text:[\n                    'No need to use smart phone! Say to Alexa or Google to control your TV with on\/off, volume, program and playback. Full utterance list is available on official website.',\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/6_3d1c0787-5cee-4581-b69e-32e245e39167.png?v=1727244841',\n                title:'Scheduled Control for Legacy Appliances',\n                text:[\n                    'Schedule a time and no more missing. Turn on TV to ESPN at 2:00 PM on Sunday. Turn on AC for cooling at 6:00 PM before arriving.',\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopifycdn.net\/s\/files\/1\/0620\/4496\/2972\/files\/8-Routines.png?v=1709201980',\n                title:'LinknLink \/ Alexa Automations',\n                text:[\n                    'Create Routines in LinknLink or Alexa App to use BLE remotes or BLE sensors to trigger automations (create toggle in LinknLink App for buttons and temperature trigger in Alexa)',\n                ]\n            },\n            {\n                image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/7_4ec85a7e-a4a1-4468-8ce2-627adf2fec36.png?v=1727244836',\n                title:'Real Smart Setup No Need to Switch Network',\n                text:[\n                    'Unlike other brands, you don\\'t need to switch you phone network during setup. Even you can keep using 4G\/5G cellular during device setup.',\n                ]\n            }\n        ],\n        bottomImage:'',\n        middleImage:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/06-_-1_1.jpg?v=1773813193',\n        setUp:{\n            title:' ',\n            steps:[\n                {\n                    image:'',\n                    text:''\n                }, {\n                    image:'',\n                    title:'',\n                    text:''\n                }, {\n                    image:'',\n                    title:'',\n                    text:''\n                }\n            ]\n        },\n        tableData: [\n            {\n                title: 'Product Name',\n                text: 'Smart Home Bridge'\n            },{\n                title: 'Model',\n                text: 'eRemote HA'\n            },{\n                title: 'Rating Power',\n                text: '5V DC\/1A'\n            },{\n                title: 'Infrared frequency:',\n                text: '38KHz'\n            },{\n                title: 'Working Humidity',\n                text: '≤85%RH'\n            },{\n                title: 'Working Temperature',\n                text: '0-50°C'\n            },{\n                title: 'Communication Mode',\n                text: 'Wi-Fi 802.11b\/g\/n (2.4GHz)\/ BT (4.0 and above)'\n            },{\n                title: 'FCC ID',\n                text: '2A9BE-LL8720-P'\n            },{\n                title: 'Supported OS',\n                text: 'iOS 11.0 \/ Android™ 5.1 and above'\n            },{\n                title: 'Dimension',\n                text: '61x61x25mm'\n            }\n        ],\n        lastWord: ''\n    };\n    {\/*此行以下不要动*\/}\n    \/\/ rem适配\n    if((navigator.userAgent.match(\/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|wOSBrowser|BrowserNG|WebOS)\/i))) {\n        if (document.documentElement.clientWidth === 320 || document.documentElement.clientWidth === 375|| document.documentElement.clientWidth === 414|| document.documentElement.clientWidth === 411|| document.documentElement.clientWidth === 360) {\n            var productDetailsEle = document.getElementById(\"productDetails\");\n            productDetailsEle.classList.add(\"productDetailsMobile\");\n        }\n    }\n    var headerVeLinkEle = document.getElementById(\"headerVeLink\");\n    if (resources.headerVeLink !== '') {\n        headerVeLinkEle.src = resources.headerVeLink;\n    } else {\n        headerVeLinkEle.classList.add('headerVeLinkHide');\n    }\n    var headerImageEle = document.getElementById(\"headerImage\");\n    if (resources.headerImage !== '') {\n        headerImageEle.src = resources.headerImage;\n    } else {\n        headerImageEle.classList.add('headerImageHide');\n    }\n    var describeBoxEle=document.getElementById(\"describeBox\");\n\n    var insertElement = document.createElement(\"h3\");\n    insertElement.innerText=resources.introduction.title;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"p\");\n    insertElement.innerText=resources.introduction.text;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"div\");\n    insertElement.id = \"insertElementId\";\n    insertElement.classList.add(\"paragraphBox\");\n    for (var i = 0; i \u003c resources.introduction.paragraph.length; i++) {\n        var eleDiv = document.createElement(\"div\");\n        eleDiv.id = \"eleDivid\";\n        eleDiv.classList.add('paragraphDiv');\n        eleDiv.innerHTML = '\u003cp\u003e•\u003cdiv style=\"width: 5px;\"\u003e\u003c\/div\u003e\u003c\/p\u003e\u003cp\u003e'+resources.introduction.paragraph[i]+'\u003c\/p\u003e';\n        insertElement.appendChild(eleDiv);\n    }\n    describeBoxEle.appendChild(insertElement);\n\n    var scenesBoxEle=document.getElementById(\"scenesBox\");\n    for (var i = 0; i \u003c resources.scenes.length; i++) {\n        var scene = resources.scenes[i];\n        var liEle = document.createElement(\"li\");\n        liEle.id=\"liEleId\";\n        liEle.key='scenes'+i;\n        liEle.classList.add(\"scenesShowItem\");\n\n        var imgEle = document.createElement(\"img\");\n        imgEle.src = scene.image;\n        liEle.appendChild(imgEle);\n\n        var h3Ele = document.createElement(\"h3\");\n        h3Ele.id = \"h3EleId\";\n        h3Ele.innerText = scene.title;\n        liEle.appendChild(h3Ele);\n\n        var pEle = document.createElement(\"p\");\n        pEle.id = \"scenesBoxPEleId\";\n        pEle.innerHTML = '\u003cp\u003e'+scene.text[0]+'\u003c\/p\u003e';\n        liEle.appendChild(pEle);\n        scenesBoxEle.appendChild(liEle);\n    }\n    \/\/ 底部的图\n    var middleImageEle = document.getElementById(\"middleImage\");\n    if (resources.middleImage) {\n        middleImageEle.src = resources.middleImage;\n    } else {\n        middleImageEle.classList.add('bottomImageHide');\n    }\n    \/\/ 底部的图1\n    var middleImageEle1 = document.getElementById(\"middleImage1\");\n    if (resources.middleImage1) {\n        middleImageEle1.src = resources.middleImage1;\n    } else {\n        middleImageEle1.classList.add('bottomImageHide');\n    }\n    for (var i = 0; i \u003c resources.tableData.length; i++) {\n        var tbodyid = document.getElementById(\"tbodyid\");\n        var tableTrEle = document.createElement(\"tr\");\n        var trItem = resources.tableData[i];\n\n        var tdFirst = document.createElement(\"td\");\n        tdFirst.innerText = trItem.title;\n        tableTrEle.appendChild(tdFirst);\n\n        var tdSecond = document.createElement(\"td\");\n        tdSecond.innerText = trItem.text;\n        tableTrEle.appendChild(tdSecond);\n        tbodyid.appendChild(tableTrEle);\n    }\n    var lastWordEle = document.getElementById(\"lastWord\");\n    lastWordEle.innerText = resources.lastWord;\n\n    var submitBtn = document.getElementById('submitButton');\n    if (submitBtn) {\n        submitBtn.addEventListener('click', function(event) {\n            window.scrollTo(0, document.body.scrollHeight);\n        });\n    }\n\n    var faqButtons = document.querySelectorAll('.faqQuestion');\n    for (var j = 0; j \u003c faqButtons.length; j++) {\n        faqButtons[j].addEventListener('click', function() {\n            var parent = this.parentNode;\n            if (parent.classList.contains('active')) {\n                parent.classList.remove('active');\n            } else {\n                parent.classList.add('active');\n            }\n        });\n    }\n\u003c\/script\u003e\n\u003c!-- linknlink-schema-cache-refresh --\u003e\n\u003cdiv style=\"background:#f5f7fa;padding:22px;border-left:4px solid #4f8ef7;margin:30px 0;border-radius:8px;\"\u003e\n  \u003ch3 style=\"margin-top:0;color:#0d1b3e;\"\u003e📖 New to IR Blasters + Home Assistant?\u003c\/h3\u003e\n  \u003cp\u003eWe wrote a complete, vendor-neutral comparison of every IR blaster that works with Home Assistant in 2026 — including BroadLink RM4, Tuya Zigbee hubs, and more. See exactly why eRemote HA wins on price and MQTT support.\u003c\/p\u003e\n  \u003cp\u003e\u003ca href=\"\/blogs\/guides\/best-ir-blasters-home-assistant-2026\" style=\"display:inline-block;background:#4f8ef7;color:#fff;padding:10px 22px;border-radius:6px;font-weight:700;text-decoration:none;\"\u003e→ Read the 2026 IR Blaster Buyer's Guide\u003c\/a\u003e\u003c\/p\u003e\n\u003c\/div\u003e","brand":"LinknLink","offers":[{"title":"eRemote HA","offer_id":46577649418396,"sku":null,"price":12.99,"currency_code":"USD","in_stock":true},{"title":"eRemote HA (3-Pack)","offer_id":44681323118748,"sku":"eRemote","price":34.99,"currency_code":"USD","in_stock":true},{"title":"eRemote HA (5-Pack)","offer_id":46577651548316,"sku":"eRemote","price":54.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/01-_APP-HA.png?v=1776406311"},{"product_id":"ehome-ha-rf-smart-hub-mqtt-home-assistant","title":"LinknLink eHome HA: RF Universal Remote Hub","description":"\u003cstyle type=\"text\/css\"\u003e\n    * {\n        margin: 0;\n        padding: 0;\n        box-sizing:border-box;\n    }\n    body, html {\n        height: 100%;\n    }\n    \/*pc端样式*\/\n    .productDetailsBox {\n        width: 100%;\n    }\n    .productDetailsBox img {\n        margin: 0;\n    }\n    .describeBox {\n        margin-top: 20px;\n    }\n    .productDetailsBox h3 {\n        margin: 23px 0 0;\n        font-size: 18px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: bold;\n        color: #000000;\n        line-height: 20px;\n    }\n    .productDetailsBox p {\n        margin: 4px 0 0;\n        font-size: 16px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n\n    .paragraphBox {\n        margin-top: 30px;\n        padding: 20px 0 17px 22px;\n        background: #F3F3F3;\n        border: 1px solid #F3F3F3;\n        border-radius: 8px;\n    }\n\n    .paragraphDiv {\n        display: flex;\n    }\n\n    .paragraphDiv \u003e p {\n        margin: 0!important;\n        padding: 0!important;\n        font-size: 14px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n    .scenesBox {\n        width: 100%;\n        display: flex;\n        justify-content: space-between;\n\n        list-style: none !important;\n        margin: 0 !important;\n        padding: 0 !important;\n        flex-direction: row;\n        flex-wrap: wrap;\n    }\n    .scenesShowItem {\n        width: 48.5%;\n        margin-top: 40px;\n    }\n    .scenesShowItem::before {\n        background: initial !important;\n    }\n    .scenesShowItem \u003e img {\n        width: 100%;\n    }\n\n    .setUpSection {\n        padding: 25px 0 40px;\n    }\n    .setUpUL {\n        width: 100%;\n        display: flex;\n        justify-content: space-between;\n\n        list-style: none !important;\n        margin: 0 !important;\n        padding: 0 !important;\n        flex-direction: row;\n        flex-wrap: wrap;\n    }\n    .setUpItem {\n        width: 30%;\n    }\n    .setUpItem::before {\n        background: initial !important;\n    }\n    #setUpTitle {\n        margin-top: 40px;\n        font-size: 18px;\n        line-height: 20px;\n    }\n    .headerVeLinkHide {\n        display: none!important;\n    }\n    .headerImageHide {\n        display: none!important;\n    }\n    #middleImage {\n        margin-top: 40px;\n        margin-bottom: 10px;\n    }\n    #middleImage1 {\n        margin-top: 30px;\n        margin-bottom: 10px;\n    }\n    #bottomImage {\n        margin-top: 40px;\n    }\n    .bottomImageHide {\n        display: none!important;\n    }\n    .setUpItem \u003e img {\n        width: 100%;\n    }\n    #lastWord {\n        margin: 10px 34px;\n        color: #5A5B5B;\n        font-size: 14px;\n    }\n    .productDetailsBox #headerVeLink {\n        display: block;\n        width: 100%;\n        min-height: 292px;\n    }\n    .productDetailsBox #h3EleId {\n        font-size: 18px;\n    }\n    .productDetailsBox #setUpLIId h3 {\n        font-size: 16px;\n    }\n    .productDetailsBox #setUpLIId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsBox table {\n        border-collapse: collapse;\n        margin-top: 0!important;\n    }\n    .productDetailsBox table tr td {\n        padding: 0;\n        border-top: 1px solid #E7E7E7;\n        border-bottom: 1px solid #E7E7E7;\n        height: 45px;\n        font-size: 14px;\n        line-height: 25px;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox tr td:first-child {\n        background: #F3F3F3;\n        padding-left: 20px;\n    }\n    .productDetailsBox tr td:last-child {\n        padding-left: 20px;\n        color: black;\n        font-weight: 300;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox .bottomVeLink {\n        margin: 40px 0px 10px;\n        display: block;\n        width: 100%;\n        min-height: 292px;\n    }\n    .productDetailsBox .instructionVideo {\n        margin-bottom: 40px;\n        font-weight: 500;\n    }\n    .productDetailsBox .formBox {\n        padding: 30px 100px;\n        box-sizing: border-box;\n        display: flex;\n        justify-content: center;\n        flex-direction: column;\n        align-items: center;\n        border-radius: 16px;\n        background: #F3F3F3;\n        min-height: 200px;\n    }\n    .productDetailsBox .emailDescribe {\n        text-align: center;\n        font-weight: 500;\n    }\n    .productDetailsBox .emailInput {\n        width: 100%;\n        color: #000000;\n        margin: 20px 0px;\n        height: 40px;\n        text-indent: 5px;\n    }\n    .productDetailsBox .emailInput:-ms-input-placeholder {\n        text-align: left;\n        font-family: \"Helvetica\", sans-serif;\n        color: #c0ccda;\n    }\n    .productDetailsBox .emailInput:placeholder {\n        text-align: left;\n        font-family: \"Helvetica\", sans-serif;\n        color: #c0ccda;\n    }\n    .productDetailsBox .submitButton {\n        padding: 12px 25px;\n        font-size: 12px;\n        font-weight: 700;\n        border-radius: 18px;\n        background-color: #2c5af6;\n        color: #FFFFFF;\n        border-width: 0px;\n        cursor: pointer;\n        margin-top: 20px;\n    }\n\n    \/* FAQ 折叠模块 *\/\n    .productDetailsBox .faqBox {\n        margin-top: 40px;\n        padding: 24px 22px;\n        background: #F3F3F3;\n        border: 1px solid #E7E7E7;\n        border-radius: 8px;\n    }\n    .productDetailsBox .faqTitle {\n        margin: 0 0 18px 0 !important;\n        font-size: 22px;\n        line-height: 24px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .productDetailsBox .faqItem {\n        border-top: 1px solid #D9D9D9;\n    }\n    .productDetailsBox .faqItem:first-of-type {\n        border-top: none;\n    }\n    .productDetailsBox .faqQuestion {\n        width: 100%;\n        padding: 18px 34px 18px 0;\n        background: transparent;\n        border: 0;\n        cursor: pointer;\n        text-align: left;\n        position: relative;\n        font-size: 16px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .productDetailsBox .faqQuestion:after {\n        content: \"+\";\n        position: absolute;\n        right: 0;\n        top: 50%;\n        transform: translateY(-50%);\n        font-size: 24px;\n        line-height: 24px;\n        font-weight: 300;\n    }\n    .productDetailsBox .faqItem.active .faqQuestion:after {\n        content: \"−\";\n    }\n    .productDetailsBox .faqAnswer {\n        display: none;\n        padding: 0 0 18px 0;\n    }\n    .productDetailsBox .faqItem.active .faqAnswer {\n        display: block;\n    }\n    .productDetailsBox .faqAnswer p {\n        margin: 0 !important;\n        font-size: 14px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000;\n    }\n\n    \/*移动端样式*\/\n    .productDetailsMobile {\n        width: 100%;\n    }\n    .productDetailsMobile #headerImage {\n        margin: 0;\n        width: 100%;\n    }\n    .productDetailsMobile #headerVeLink {\n        display: block;\n        width: 100%;\n    }\n    .productDetailsMobile h3 {\n        font-size: 20px;\n        line-height: 22px!important;\n        margin-top: 0;\n    }\n    .productDetailsMobile #describeBox {\n        margin-top: 10px;\n    }\n    .productDetailsMobile #insertElementId {\n        margin-top: 15px;\n        padding: 13px 19px 17px 20px;\n    }\n    .productDetailsMobile #scenesBox,\n    .productDetailsMobile #setUpUL {\n        width: 100%!important;\n    }\n    .productDetailsMobile #liEleId,\n    .productDetailsMobile #setUpLIId {\n        width: 100%!important;\n        margin-top: 25px;\n    }\n    .productDetailsMobile #setUpLIId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsMobile #h3EleId {\n        margin-top: 8px!important;\n        font-size: 16px!important;\n        line-height: 18px;\n    }\n    .productDetailsMobile #scenesBoxPEleId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsMobile #setUpTitle {\n        margin-top: 25px;\n        font-size: 20px;\n    }\n    .productDetailsMobile #setUpLIId:first-child {\n        margin-top: 0;\n    }\n    .productDetailsMobile #setUpSection {\n        padding: 15px 0 25px;\n    }\n    .productDetailsMobile #middleImage {\n        width: 100%;\n        margin-bottom: 15px;\n    }\n    .productDetailsMobile #middleImage1 {\n        width: 100%;\n        margin-bottom: 15px;\n    }\n    .productDetailsMobile #bottomImage {\n        width: 100%;\n        margin-top: 40px;\n    }\n    .productDetailsMobile table tr td {\n        font-size: 14px!important;\n        height: 47px!important;\n        line-height: 16px!important;\n    }\n    .productDetailsMobile tr td:first-child {\n        padding-left: 15px;\n        width: 150px!important;\n    }\n    .productDetailsMobile #lastWord {\n        font-size: 14px!important;\n        margin: 14px 0 18px 0;\n    }\n    .productDetailsMobile .faqBox {\n        margin-top: 30px;\n        padding: 18px 16px;\n    }\n    .productDetailsMobile .faqTitle {\n        font-size: 20px;\n        line-height: 22px;\n    }\n    .productDetailsMobile .faqQuestion {\n        padding: 16px 28px 16px 0;\n        font-size: 15px;\n        line-height: 19px;\n    }\n    .productDetailsMobile .faqAnswer p {\n        font-size: 14px;\n        line-height: 18px;\n    }\n\u003c\/style\u003e\n\n\u003cdiv id=\"productDetails\" class=\"productDetailsBox\"\u003e\n    \u003cimg id=\"headerImage\" src=\"#\"\u003e\n    \u003ciframe type=\"text\/html\" id=\"headerVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"#\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n\n    \u003cdiv id=\"describeBox\" class=\"describeBox\"\u003e\u003c\/div\u003e\n\n    \u003csection\u003e\n        \u003cul id=\"scenesBox\" class=\"scenesBox\"\u003e\u003c\/ul\u003e\n    \u003c\/section\u003e\n\n    \u003cimg id=\"middleImage\" src=\"#\"\u003e\n    \u003cimg id=\"middleImage1\" src=\"#\"\u003e\n\n    \u003ctable width=\"100%\"\u003e\n        \u003ctbody id=\"tbodyid\"\u003e\u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/QKQLRhMo0HE?si=sMpoIEE_VX0pnB8z\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cp id=\"instructionVideo\" class=\"instructionVideo\"\u003eVideo by Jenn X Jake\u003c\/p\u003e\n\n    \u003cdiv class=\"faqBox\"\u003e\n        \u003ch3 class=\"faqTitle\"\u003eFrequently Asked Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eDoes eHome HA work with Home Assistant?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eYes. eHome HA supports RF2MQTT for Home Assistant, allowing compatible 433MHz RF devices to be integrated into your Home Assistant automations through MQTT.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eWhat RF devices can eHome HA control?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eeHome HA can learn and control many RF devices such as RF bulbs, light switches, curtain or roller shutter motors, RF sockets, ceiling fans, heaters, and electric fireplaces.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eDoes eHome HA support Alexa and Google Home?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eYes. eHome HA works with Alexa and Google Home, so you can control supported RF devices with voice commands and include them in smart home routines.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eDoes eHome HA require 2.4GHz Wi-Fi?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eYes. eHome HA supports 2.4GHz Wi-Fi only. The device itself does not connect to 5GHz Wi-Fi, although your phone can stay on 5GHz or mobile data during setup.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"faqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"faqQuestion\"\u003eDo I need a firmware update to use Home Assistant?\u003c\/button\u003e\n            \u003cdiv class=\"faqAnswer\"\u003e\n                \u003cp\u003eYes. To enable Home Assistant use, a firmware update is required inside the LinknLink app. After the update, the device will reset and you can complete the setup again for HA mode.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp id=\"lastWord\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    var resources = {\n        headerImage: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1_50688a96-f3cd-4e40-85eb-d3a554fb7a0a.jpg?v=1773139874',\n        headerVeLink: 'https:\/\/www.youtube.com\/embed\/9ijVBHNMmLc?si=oSvW5OJOL_5vUxcD',\n        introduction: {\n            title: 'Wi-Fi Smart RF Universal Remote',\n            text: 'For RF Bulb, Light Switch, Curtain \/ Roller Shutter Motor, RF Socket, Electric Fireplace, Ceiling Fan, Heater',\n            paragraph: [\n                '【Universal RF Control】 Easily learn and pair your RF devices to the hub, including light switches, roller shutter or curtain controllers, ceiling fan controllers, RF smart plugs, and electric fireplaces from various brands. Control them all seamlessly via the app.',\n                '【Wider RF Frequency Compatibility】 The hub supports pairing with RF devices operating on 300–340MHz frequencies (not available in the UK and EU) and 430–440MHz (available worldwide). This wide compatibility makes it versatile for use in most scenarios.',\n                '【RF2MQTT for Home Assistant】 RF2MQTT serves as a bridge between your traditional RF remote-controlled devices and your Home Assistant smart home system. It integrates them via MQTT messages without complex configurations or third-party integrations.',\n                '【Works with Alexa and Google Home】 Control your RF devices effortlessly with voice commands, even without using the app. For example, simply say: \"Alexa, open the curtain.\"',\n                '【Easy Setup and Use】 eHome supports only 2.4GHz Wi-Fi (NOT 5GHz). However, you can keep your phone connected to 5GHz Wi-Fi or even cellular data during setup. Its ultra-wide RF signal penetrates walls, covering all rooms on the same floor and reducing deployment costs in your home.',\n                'Note: To use Home Assistant, a firmware update is required. Follow these steps: 1\/ Navigate to \"...\" \u003e \"Settings\" \u003e \"Firmware Update\" on the device page. 2\/ Update the device firmware. The device will reset, and the LED will start flashing. 3\/ Set up the device again after the upgrade.'\n            ]\n        },\n        scenes: [\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/2_9afd9563-b917-4524-9110-9363ecb37909.png?v=1737595273',\n                title: 'Universal RF Control',\n                text: [\n                    'Easily learn and pair your RF devices to the hub, including light switches, roller shutter or curtain controllers, ceiling fan controllers, RF smart plugs, and electric fireplaces from various brands. Control them all seamlessly via the app.'\n                ]\n            },\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/02-MQTT.png?v=1737595041',\n                title: 'RF2MQTT for Home Assistant',\n                text: [\n                    'RF2MQTT serves as a bridge between your traditional RF remote-controlled devices and your Home Assistant smart home system. It integrates them via MQTT messages without complex configurations or third-party integrations.'\n                ]\n            },\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/5_9a0f91cf-ab8b-4932-8234-7bd70f774e2a.png?v=1737595040',\n                title: 'Works with Alexa and Google Home',\n                text: [\n                    'Control your RF devices effortlessly with voice commands, even without using the app. For example, simply say: \"Alexa, open the curtain.\"'\n                ]\n            },\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/A_01.png?v=1737595043',\n                title: 'Super Coverage and Easy-to-Use',\n                text: [\n                    'Its ultra-wide RF signal penetrates walls, covering all rooms on the same floor and reducing deployment costs in your home. The device is always powered without the need to change batteries.'\n                ]\n            },\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/A_04-Routines.png?v=1737594991',\n                title: 'LinknLink \/ Alexa \/ HA Automations',\n                text: [\n                    'Create automations to trigger your RF devices, with additional sensors if needed, to enhance lifestyle or save energy. You can also automate RF devices in Home Assistant.'\n                ]\n            },\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/7_4b08cfe9-ff06-4cb7-a836-85840e117b89.png?v=1737594989',\n                title: 'Real Smart Setup No Need to Switch Network',\n                text: [\n                    'Unlike other brands, you do not need to switch your phone network during setup. You can even keep using 4G or 5G cellular during device setup.'\n                ]\n            }\n        ],\n        bottomImage: '',\n        middleImage: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1_16c809c0-b6fc-4ea9-9738-e3fe70745ae7.png?v=1737596627',\n        middleImage1: '',\n        tableData: [\n            {\n                title: 'Product Name',\n                text: 'Smart Home Bridge'\n            },\n            {\n                title: 'Model',\n                text: 'eHome HA'\n            },\n            {\n                title: 'Rating Power',\n                text: '5V DC\/1A'\n            },\n            {\n                title: 'Infrared frequency',\n                text: '38KHz'\n            },\n            {\n                title: 'Working Humidity',\n                text: '≤85%RH'\n            },\n            {\n                title: 'Working Temperature',\n                text: '0-50°C'\n            },\n            {\n                title: 'Communication Mode',\n                text: 'Wi-Fi 802.11b\/g\/n (2.4GHz) \/ BT (4.0 and above)'\n            },\n            {\n                title: 'FCC ID',\n                text: '2A9BE-LL8720-P'\n            },\n            {\n                title: 'Supported OS',\n                text: 'iOS 11.0 \/ Android 5.1 and above'\n            },\n            {\n                title: 'Dimension',\n                text: '70×33.5×18.5mm'\n            }\n        ],\n        lastWord: ''\n    };\n\n    if ((navigator.userAgent.match(\/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|wOSBrowser|BrowserNG|WebOS)\/i))) {\n        if (\n            document.documentElement.clientWidth === 320 ||\n            document.documentElement.clientWidth === 375 ||\n            document.documentElement.clientWidth === 414 ||\n            document.documentElement.clientWidth === 411 ||\n            document.documentElement.clientWidth === 360\n        ) {\n            var productDetailsEle = document.getElementById(\"productDetails\");\n            productDetailsEle.classList.add(\"productDetailsMobile\");\n        }\n    }\n\n    var headerVeLinkEle = document.getElementById(\"headerVeLink\");\n    if (resources.headerVeLink !== '') {\n        headerVeLinkEle.src = resources.headerVeLink;\n    } else {\n        headerVeLinkEle.classList.add('headerVeLinkHide');\n    }\n\n    var headerImageEle = document.getElementById(\"headerImage\");\n    if (resources.headerImage !== '') {\n        headerImageEle.src = resources.headerImage;\n    } else {\n        headerImageEle.classList.add('headerImageHide');\n    }\n\n    var describeBoxEle = document.getElementById(\"describeBox\");\n\n    var insertElement = document.createElement(\"h3\");\n    insertElement.innerText = resources.introduction.title;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"p\");\n    insertElement.innerText = resources.introduction.text;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"div\");\n    insertElement.id = \"insertElementId\";\n    insertElement.classList.add(\"paragraphBox\");\n\n    for (var i = 0; i \u003c resources.introduction.paragraph.length; i++) {\n        var eleDiv = document.createElement(\"div\");\n        eleDiv.id = \"eleDivid\";\n        eleDiv.classList.add('paragraphDiv');\n        eleDiv.innerHTML = '\u003cp\u003e•\u003cdiv style=\"width: 5px;\"\u003e\u003c\/div\u003e\u003c\/p\u003e\u003cp\u003e' + resources.introduction.paragraph[i] + '\u003c\/p\u003e';\n        insertElement.appendChild(eleDiv);\n    }\n    describeBoxEle.appendChild(insertElement);\n\n    var scenesBoxEle = document.getElementById(\"scenesBox\");\n    for (var j = 0; j \u003c resources.scenes.length; j++) {\n        var scene = resources.scenes[j];\n        var liEle = document.createElement(\"li\");\n        liEle.id = \"liEleId\";\n        liEle.key = 'scenes' + j;\n        liEle.classList.add(\"scenesShowItem\");\n\n        var imgEle = document.createElement(\"img\");\n        imgEle.src = scene.image;\n        liEle.appendChild(imgEle);\n\n        var h3Ele = document.createElement(\"h3\");\n        h3Ele.id = \"h3EleId\";\n        h3Ele.innerText = scene.title;\n        liEle.appendChild(h3Ele);\n\n        var pEle = document.createElement(\"p\");\n        pEle.id = \"scenesBoxPEleId\";\n        pEle.innerHTML = '\u003cp\u003e' + scene.text[0] + '\u003c\/p\u003e';\n        liEle.appendChild(pEle);\n\n        scenesBoxEle.appendChild(liEle);\n    }\n\n    var middleImageEle = document.getElementById(\"middleImage\");\n    if (resources.middleImage) {\n        middleImageEle.src = resources.middleImage;\n    } else {\n        middleImageEle.classList.add('bottomImageHide');\n    }\n\n    var middleImageEle1 = document.getElementById(\"middleImage1\");\n    if (resources.middleImage1) {\n        middleImageEle1.src = resources.middleImage1;\n    } else {\n        middleImageEle1.classList.add('bottomImageHide');\n    }\n\n    for (var k = 0; k \u003c resources.tableData.length; k++) {\n        var tbodyid = document.getElementById(\"tbodyid\");\n        var tableTrEle = document.createElement(\"tr\");\n        var trItem = resources.tableData[k];\n\n        var tdFirst = document.createElement(\"td\");\n        tdFirst.innerText = trItem.title;\n        tableTrEle.appendChild(tdFirst);\n\n        var tdSecond = document.createElement(\"td\");\n        tdSecond.innerText = trItem.text;\n        tableTrEle.appendChild(tdSecond);\n\n        tbodyid.appendChild(tableTrEle);\n    }\n\n    var lastWordEle = document.getElementById(\"lastWord\");\n    lastWordEle.innerText = resources.lastWord;\n\n    var submitBtn = document.getElementById('submitButton');\n    if (submitBtn) {\n        submitBtn.addEventListener('click', function(event) {\n            window.scrollTo(0, document.body.scrollHeight);\n        });\n    }\n\n    var faqButtons = document.querySelectorAll('.faqQuestion');\n    for (var m = 0; m \u003c faqButtons.length; m++) {\n        faqButtons[m].addEventListener('click', function() {\n            var parent = this.parentNode;\n            if (parent.classList.contains('active')) {\n                parent.classList.remove('active');\n            } else {\n                parent.classList.add('active');\n            }\n        });\n    }\n\u003c\/script\u003e","brand":"LinknLink","offers":[{"title":"Default Title","offer_id":44906887479452,"sku":"","price":22.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/01-_APP-HA_-RF.png?v=1776406342"},{"product_id":"shipping-fee","title":"Shipping Fee","description":"","brand":"LinknLink","offers":[{"title":"Shipping Fee","offer_id":44906941972636,"sku":"","price":1.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1_1.png?v=1776406321"},{"product_id":"whole-home-presence-automation-kit-5-emotion-pro-ehome-ha","title":"LinknLink Presence Sensor Pack (eHome HA + 5x eMotion Pro)","description":"\u003cstyle type=\"text\/css\"\u003e\n    * {\n        margin: 0;\n        padding: 0;\n        box-sizing:border-box;\n    }\n    body, html {\n        height: 100%;\n    }\n    .productDetailsBox {\n        width: 100%;\n    }\n    .productDetailsBox img {\n        margin: 0;\n    }\n    .describeBox {\n        margin-top: 20px;\n    }\n    .productDetailsBox h3 {\n        margin: 23px 0 0;\n        font-size: 18px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: bold;\n        color: #000000;\n        line-height: 20px;\n    }\n    .productDetailsBox p {\n        margin: 4px 0 0;\n        font-size: 16px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n\n    .paragraphBox {\n        margin-top: 30px;\n        padding: 20px 0 17px 22px;\n        background: #F3F3F3;\n        border: 1px solid #F3F3F3;\n        border-radius: 8px;\n    }\n\n    .paragraphDiv {\n        display: flex;\n    }\n\n    .paragraphDiv \u003e p {\n        margin: 0!important;\n        padding: 0!important;\n        font-size: 14px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n\n    .scenesBox {\n        width: 100%;\n        display: flex;\n        justify-content: space-between;\n        list-style: none !important;\n        margin: 0 !important;\n        padding: 0 !important;\n        flex-direction: row;\n        flex-wrap: wrap;\n    }\n    .scenesShowItem {\n        width: 48.5%;\n        margin-top: 40px;\n    }\n    .scenesShowItem::before {\n        background: initial !important;\n    }\n    .scenesShowItem \u003e img {\n        width: 100%;\n    }\n\n    .headerVeLinkHide {\n        display: none!important;\n    }\n    .headerImageHide {\n        display: none!important;\n    }\n    #middleImage {\n        margin-top: 40px;\n        margin-bottom: 10px;\n    }\n    #middleImage1 {\n        margin-top: 30px;\n        margin-bottom: 10px;\n    }\n    .bottomImageHide {\n        display: none!important;\n    }\n    #lastWord {\n        margin: 10px 34px;\n        color: #5A5B5B;\n        font-size: 14px;\n    }\n    .productDetailsBox #headerVeLink {\n        display: block;\n        width: 100%;\n        min-height: 292px;\n    }\n    .productDetailsBox #h3EleId {\n        font-size: 18px;\n    }\n    .productDetailsBox table {\n        border-collapse: collapse;\n        margin-top: 0!important;\n    }\n    .productDetailsBox table tr td {\n        padding: 0;\n        border-top: 1px solid #E7E7E7;\n        border-bottom: 1px solid #E7E7E7;\n        height: 45px;\n        font-size: 14px;\n        line-height: 25px;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox tr td:first-child {\n        background: #F3F3F3;\n        padding-left: 20px;\n    }\n    .productDetailsBox tr td:last-child {\n        padding-left: 20px;\n        color: black;\n        font-weight: 300;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox .bottomVeLink {\n        margin: 40px 0px 10px;\n        display: block;\n        width: 100%;\n        min-height: 292px;\n    }\n    .productDetailsBox .instructionVideo {\n        margin-bottom: 40px;\n        font-weight: 500;\n    }\n\n    \/* FAQ *\/\n    .bundleFaqBox {\n        margin-top: 40px;\n        padding: 24px 22px;\n        background: #F3F3F3;\n        border: 1px solid #E7E7E7;\n        border-radius: 8px;\n    }\n    .bundleFaqTitle {\n        margin: 0 0 18px 0 !important;\n        font-size: 22px;\n        line-height: 24px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .bundleFaqItem {\n        border-top: 1px solid #D9D9D9;\n    }\n    .bundleFaqItem:first-of-type {\n        border-top: none;\n    }\n    .bundleFaqQuestion {\n        width: 100%;\n        padding: 18px 34px 18px 0;\n        background: transparent;\n        border: 0;\n        cursor: pointer;\n        text-align: left;\n        position: relative;\n        font-size: 16px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .bundleFaqQuestion:after {\n        content: \"+\";\n        position: absolute;\n        right: 0;\n        top: 50%;\n        transform: translateY(-50%);\n        font-size: 24px;\n        line-height: 24px;\n        font-weight: 300;\n    }\n    .bundleFaqItem.active .bundleFaqQuestion:after {\n        content: \"−\";\n    }\n    .bundleFaqAnswer {\n        display: none;\n        padding: 0 0 18px 0;\n    }\n    .bundleFaqItem.active .bundleFaqAnswer {\n        display: block;\n    }\n    .bundleFaqAnswer p {\n        margin: 0 !important;\n        font-size: 14px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000;\n    }\n\n    \/* mobile *\/\n    .productDetailsMobile {\n        width: 100%;\n    }\n    .productDetailsMobile #headerImage {\n        margin: 0;\n        width: 100%;\n    }\n    .productDetailsMobile #headerVeLink {\n        display: block;\n        width: 100%;\n    }\n    .productDetailsMobile h3 {\n        font-size: 20px;\n        line-height: 22px!important;\n        margin-top: 0;\n    }\n    .productDetailsMobile #describeBox {\n        margin-top: 10px;\n    }\n    .productDetailsMobile #insertElementId {\n        margin-top: 15px;\n        padding: 13px 19px 17px 20px;\n    }\n    .productDetailsMobile #scenesBox {\n        width: 100%!important;\n    }\n    .productDetailsMobile #liEleId {\n        width: 100%!important;\n        margin-top: 25px;\n    }\n    .productDetailsMobile #h3EleId {\n        margin-top: 8px!important;\n        font-size: 16px!important;\n        line-height: 18px;\n    }\n    .productDetailsMobile #scenesBoxPEleId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsMobile #middleImage,\n    .productDetailsMobile #middleImage1 {\n        width: 100%;\n        margin-bottom: 15px;\n    }\n    .productDetailsMobile table tr td {\n        font-size: 14px!important;\n        height: 47px!important;\n        line-height: 16px!important;\n    }\n    .productDetailsMobile tr td:first-child {\n        padding-left: 15px;\n        width: 150px!important;\n    }\n    .productDetailsMobile #lastWord {\n        font-size: 14px!important;\n        margin: 14px 0 18px 0;\n    }\n    .productDetailsMobile .bundleFaqBox {\n        margin-top: 30px;\n        padding: 18px 16px;\n    }\n    .productDetailsMobile .bundleFaqTitle {\n        font-size: 20px;\n        line-height: 22px;\n    }\n    .productDetailsMobile .bundleFaqQuestion {\n        padding: 16px 28px 16px 0;\n        font-size: 15px;\n        line-height: 19px;\n    }\n    .productDetailsMobile .bundleFaqAnswer p {\n        font-size: 14px;\n        line-height: 18px;\n    }\n\u003c\/style\u003e\n\n\u003cdiv id=\"productDetails\" class=\"productDetailsBox\"\u003e\n    \u003cimg id=\"headerImage\" src=\"#\"\u003e\n    \u003ciframe type=\"text\/html\" id=\"headerVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"#\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n\n    \u003cdiv id=\"describeBox\" class=\"describeBox\"\u003e\u003c\/div\u003e\n\n    \u003csection\u003e\n        \u003cul id=\"scenesBox\" class=\"scenesBox\"\u003e\u003c\/ul\u003e\n    \u003c\/section\u003e\n\n    \u003cimg id=\"middleImage\" src=\"#\"\u003e\n    \u003cimg id=\"middleImage1\" src=\"#\"\u003e\n\n    \u003ctable width=\"100%\"\u003e\n        \u003ctbody id=\"tbodyid\"\u003e\u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/9ijVBHNMmLc?si=oSvW5OJOL_5vUxcD\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cp class=\"instructionVideo\"\u003eVideo by LinknLink eHome HA\u003c\/p\u003e\n\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/zJu3sWlYalQ\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cp class=\"instructionVideo\"\u003eVideo by LinknLink eMotion Pro\u003c\/p\u003e\n\n    \u003cdiv class=\"bundleFaqBox\"\u003e\n        \u003ch3 class=\"bundleFaqTitle\"\u003eFrequently Asked Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"bundleFaqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"bundleFaqQuestion\"\u003eWhat is included in this bundle?\u003c\/button\u003e\n            \u003cdiv class=\"bundleFaqAnswer\"\u003e\n                \u003cp\u003eThis bundle includes 1 eHome HA RF gateway and 5 eMotion Pro 24GHz mmWave presence sensors, designed for whole-home Home Assistant automations with both RF control and still presence detection.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bundleFaqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"bundleFaqQuestion\"\u003eDoes this bundle work with Home Assistant?\u003c\/button\u003e\n            \u003cdiv class=\"bundleFaqAnswer\"\u003e\n                \u003cp\u003eYes. eHome HA supports RF2MQTT for compatible 433MHz RF devices, while eMotion Pro integrates with Home Assistant via MQTT auto-discovery. Together they help bring both RF devices and presence-based automations into Home Assistant.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bundleFaqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"bundleFaqQuestion\"\u003eDo I need a hub or subscription?\u003c\/button\u003e\n            \u003cdiv class=\"bundleFaqAnswer\"\u003e\n                \u003cp\u003eNo extra hub or subscription is required for eMotion Pro, and both devices connect through 2.4GHz Wi-Fi. For Home Assistant use, eHome HA requires a firmware update inside the LinknLink app before HA mode setup.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bundleFaqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"bundleFaqQuestion\"\u003eWhat can I automate with this bundle?\u003c\/button\u003e\n            \u003cdiv class=\"bundleFaqAnswer\"\u003e\n                \u003cp\u003eYou can automate lights, curtains, RF sockets, ceiling fans, heaters, and other compatible RF devices with eHome HA, while using the 5 eMotion Pro sensors to trigger room-by-room presence, occupancy, and still-person detection automations.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bundleFaqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"bundleFaqQuestion\"\u003eDoes it support Alexa and Google Home?\u003c\/button\u003e\n            \u003cdiv class=\"bundleFaqAnswer\"\u003e\n                \u003cp\u003eYes. Both eHome HA and eMotion Pro work with Alexa and Google Home, so you can combine voice control with sensor-triggered routines across your home.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp id=\"lastWord\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    var resources = {\n        headerImage: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1_50688a96-f3cd-4e40-85eb-d3a554fb7a0a.jpg?v=1773139874',\n        headerVeLink: 'https:\/\/www.youtube.com\/embed\/zJu3sWlYalQ',\n        introduction: {\n            title: 'Home Assistant Presence \u0026 RF Automation Bundle',\n            text: '1 eHome HA + 5 eMotion Pro | RF2MQTT + Motion2MQTT | Whole-Home Presence Detection and RF Device Control',\n            paragraph: [\n                '【Complete Home Assistant Starter Bundle】This bundle combines 1 eHome HA RF gateway with 5 eMotion Pro 24GHz mmWave presence sensors, giving you both RF device integration and multi-room still-presence detection in one package.',\n                '【Control RF Devices and Automate with Presence】eHome HA can learn and control compatible RF devices such as RF bulbs, switches, curtains, roller shutters, sockets, ceiling fans, heaters, and electric fireplaces, while eMotion Pro detects human presence with high precision, even when a person is sitting still.',\n                '【RF2MQTT + Motion2MQTT Integration】eHome HA bridges supported RF devices to Home Assistant through RF2MQTT, and eMotion Pro syncs to Home Assistant through Motion2MQTT and MQTT auto-discovery. Together they enable advanced, room-by-room automations.',\n                '【Ideal for Whole-Home Deployment】With 5 eMotion Pro sensors, you can cover multiple rooms such as living room, bedroom, office, hallway, and kitchen, while the eHome HA gateway expands control to legacy RF devices already installed in your home.',\n                '【No Extra Hub or Subscription】eMotion Pro connects directly through 2.4GHz Wi-Fi without requiring an extra hub or subscription. eHome HA also uses 2.4GHz Wi-Fi, though a firmware update is required in the LinknLink app before Home Assistant mode setup.',\n                '【Works with Alexa and Google Home】Both products support Alexa and Google Home, letting you combine voice control, RF device control, and presence-triggered routines for a smarter and more convenient home.'\n            ]\n        },\n        scenes: [\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/02-MQTT.png?v=1737595041',\n                title: 'RF + Presence in One Home Assistant Bundle',\n                text: [\n                    'eHome HA brings compatible RF devices into Home Assistant through RF2MQTT, while 5 eMotion Pro sensors add still-presence detection across multiple rooms through Motion2MQTT.'\n                ]\n            },\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/06-HA.png?v=1744699150',\n                title: 'Room-by-Room Presence Automations',\n                text: [\n                    'Deploy the 5 eMotion Pro sensors across bedrooms, living areas, hallways, and offices to trigger lights, scenes, notifications, and occupancy-based automations with higher precision than PIR.'\n                ]\n            },\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/2_9afd9563-b917-4524-9110-9363ecb37909.png?v=1737595273',\n                title: 'Universal RF Device Control',\n                text: [\n                    'eHome HA learns and controls many RF devices such as light switches, roller shutters, sockets, ceiling fans, heaters, and electric fireplaces, helping modernize legacy RF devices.'\n                ]\n            },\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/02_d738c98e-9a1d-4f21-942d-d51a482b7efa.png?v=1744706154',\n                title: 'Precise Still Presence Detection',\n                text: [\n                    'eMotion Pro uses 24GHz mmWave radar to detect presence even when a person is sitting, working, or sleeping still, making it ideal for lights and occupancy-based routines.'\n                ]\n            },\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/A_04-Routines.png?v=1737594991',\n                title: 'Voice Control + Smart Routines',\n                text: [\n                    'Combine Alexa and Google Home voice control with RF device control and presence-triggered automation to build smarter routines throughout the home.'\n                ]\n            },\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/05-Routines.png?v=1727253033',\n                title: 'No Subscription, Lower Upgrade Cost',\n                text: [\n                    'This bundle helps you keep existing RF devices while adding modern presence sensing, reducing replacement cost and enabling a practical Home Assistant upgrade path.'\n                ]\n            }\n        ],\n        middleImage: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1-pro-vs-Ultra.jpg?v=1773133070',\n        middleImage1: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1_16c809c0-b6fc-4ea9-9738-e3fe70745ae7.png?v=1737596627',\n        tableData: [\n            {\n                title: 'Bundle Name',\n                text: 'eHome HA + 5× eMotion Pro Bundle'\n            },\n            {\n                title: 'Included Products',\n                text: '1× eHome HA RF Gateway + 5× eMotion Pro 24GHz Presence Sensors'\n            },\n            {\n                title: 'Primary Use',\n                text: 'Home Assistant RF control + multi-room presence automation'\n            },\n            {\n                title: 'Gateway Connectivity',\n                text: 'Wi-Fi 802.11b\/g\/n (2.4GHz) \/ BT (4.0 and above)'\n            },\n            {\n                title: 'Sensor Connectivity',\n                text: 'Wi-Fi 802.11b\/g\/n (2.4GHz) \/ BT (4.0 and above)'\n            },\n            {\n                title: 'Gateway Function',\n                text: 'RF2MQTT bridge for compatible RF devices'\n            },\n            {\n                title: 'Sensor Function',\n                text: '24GHz mmWave still presence detection'\n            },\n            {\n                title: 'Sensor Detection Range',\n                text: '5–6m per eMotion Pro sensor'\n            },\n            {\n                title: 'Voice Assistant Support',\n                text: 'Alexa \/ Google Home'\n            },\n            {\n                title: 'Home Assistant Support',\n                text: 'Yes, via RF2MQTT and Motion2MQTT \/ MQTT'\n            },\n            {\n                title: 'Hub Requirement',\n                text: 'No extra hub required'\n            },\n            {\n                title: 'Subscription',\n                text: 'No subscription required'\n            }\n        ],\n        lastWord: 'For eHome HA, a firmware update inside the LinknLink app is required before Home Assistant mode setup. For eMotion Pro, 5 sensors let you build room-by-room occupancy automations across the whole home.'\n    };\n\n    if ((navigator.userAgent.match(\/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|wOSBrowser|BrowserNG|WebOS)\/i))) {\n        if (\n            document.documentElement.clientWidth === 320 ||\n            document.documentElement.clientWidth === 375 ||\n            document.documentElement.clientWidth === 414 ||\n            document.documentElement.clientWidth === 411 ||\n            document.documentElement.clientWidth === 360\n        ) {\n            var productDetailsEle = document.getElementById(\"productDetails\");\n            productDetailsEle.classList.add(\"productDetailsMobile\");\n        }\n    }\n\n    var headerVeLinkEle = document.getElementById(\"headerVeLink\");\n    if (resources.headerVeLink !== '') {\n        headerVeLinkEle.src = resources.headerVeLink;\n    } else {\n        headerVeLinkEle.classList.add('headerVeLinkHide');\n    }\n\n    var headerImageEle = document.getElementById(\"headerImage\");\n    if (resources.headerImage !== '') {\n        headerImageEle.src = resources.headerImage;\n    } else {\n        headerImageEle.classList.add('headerImageHide');\n    }\n\n    var describeBoxEle = document.getElementById(\"describeBox\");\n\n    var insertElement = document.createElement(\"h3\");\n    insertElement.innerText = resources.introduction.title;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"p\");\n    insertElement.innerText = resources.introduction.text;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"div\");\n    insertElement.id = \"insertElementId\";\n    insertElement.classList.add(\"paragraphBox\");\n\n    for (var i = 0; i \u003c resources.introduction.paragraph.length; i++) {\n        var eleDiv = document.createElement(\"div\");\n        eleDiv.id = \"eleDivid\";\n        eleDiv.classList.add('paragraphDiv');\n        eleDiv.innerHTML = '\u003cp\u003e•\u003cdiv style=\"width: 5px;\"\u003e\u003c\/div\u003e\u003c\/p\u003e\u003cp\u003e' + resources.introduction.paragraph[i] + '\u003c\/p\u003e';\n        insertElement.appendChild(eleDiv);\n    }\n    describeBoxEle.appendChild(insertElement);\n\n    var scenesBoxEle = document.getElementById(\"scenesBox\");\n    for (var j = 0; j \u003c resources.scenes.length; j++) {\n        var scene = resources.scenes[j];\n        var liEle = document.createElement(\"li\");\n        liEle.id = \"liEleId\";\n        liEle.key = 'scenes' + j;\n        liEle.classList.add(\"scenesShowItem\");\n\n        var imgEle = document.createElement(\"img\");\n        imgEle.src = scene.image;\n        liEle.appendChild(imgEle);\n\n        var h3Ele = document.createElement(\"h3\");\n        h3Ele.id = \"h3EleId\";\n        h3Ele.innerText = scene.title;\n        liEle.appendChild(h3Ele);\n\n        var pEle = document.createElement(\"p\");\n        pEle.id = \"scenesBoxPEleId\";\n        pEle.innerHTML = '\u003cp\u003e' + scene.text[0] + '\u003c\/p\u003e';\n        liEle.appendChild(pEle);\n\n        scenesBoxEle.appendChild(liEle);\n    }\n\n    var middleImageEle = document.getElementById(\"middleImage\");\n    if (resources.middleImage) {\n        middleImageEle.src = resources.middleImage;\n    } else {\n        middleImageEle.classList.add('bottomImageHide');\n    }\n\n    var middleImageEle1 = document.getElementById(\"middleImage1\");\n    if (resources.middleImage1) {\n        middleImageEle1.src = resources.middleImage1;\n    } else {\n        middleImageEle1.classList.add('bottomImageHide');\n    }\n\n    for (var k = 0; k \u003c resources.tableData.length; k++) {\n        var tbodyid = document.getElementById(\"tbodyid\");\n        var tableTrEle = document.createElement(\"tr\");\n        var trItem = resources.tableData[k];\n\n        var tdFirst = document.createElement(\"td\");\n        tdFirst.innerText = trItem.title;\n        tableTrEle.appendChild(tdFirst);\n\n        var tdSecond = document.createElement(\"td\");\n        tdSecond.innerText = trItem.text;\n        tableTrEle.appendChild(tdSecond);\n\n        tbodyid.appendChild(tableTrEle);\n    }\n\n    var lastWordEle = document.getElementById(\"lastWord\");\n    lastWordEle.innerText = resources.lastWord;\n\n    var faqButtons = document.querySelectorAll('.bundleFaqQuestion');\n    for (var m = 0; m \u003c faqButtons.length; m++) {\n        faqButtons[m].addEventListener('click', function() {\n            var parent = this.parentNode;\n            if (parent.classList.contains('active')) {\n                parent.classList.remove('active');\n            } else {\n                parent.classList.add('active');\n            }\n        });\n    }\n\u003c\/script\u003e","brand":"LinknLink","offers":[{"title":"Default Title","offer_id":44936207368348,"sku":"","price":94.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/eHome_5xPro.png?v=1776406343"},{"product_id":"ehome-5xemotion-pro","title":"LinknLink Remote Control Pack (eHome HA + 5x eRemote HA)","description":"\u003cstyle type=\"text\/css\"\u003e\n    * {\n        margin: 0;\n        padding: 0;\n        box-sizing:border-box;\n    }\n    body, html {\n        height: 100%;\n    }\n    .productDetailsBox {\n        width: 100%;\n    }\n    .productDetailsBox img {\n        margin: 0;\n    }\n    .describeBox {\n        margin-top: 20px;\n    }\n    .productDetailsBox h3 {\n        margin: 23px 0 0;\n        font-size: 18px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: bold;\n        color: #000000;\n        line-height: 20px;\n    }\n    .productDetailsBox p {\n        margin: 4px 0 0;\n        font-size: 16px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n\n    .paragraphBox {\n        margin-top: 30px;\n        padding: 20px 0 17px 22px;\n        background: #F3F3F3;\n        border: 1px solid #F3F3F3;\n        border-radius: 8px;\n    }\n\n    .paragraphDiv {\n        display: flex;\n    }\n\n    .paragraphDiv \u003e p {\n        margin: 0!important;\n        padding: 0!important;\n        font-size: 14px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000000;\n        line-height: 18px;\n    }\n\n    .scenesBox {\n        width: 100%;\n        display: flex;\n        justify-content: space-between;\n        list-style: none !important;\n        margin: 0 !important;\n        padding: 0 !important;\n        flex-direction: row;\n        flex-wrap: wrap;\n    }\n    .scenesShowItem {\n        width: 48.5%;\n        margin-top: 40px;\n    }\n    .scenesShowItem::before {\n        background: initial !important;\n    }\n    .scenesShowItem \u003e img {\n        width: 100%;\n    }\n\n    .headerVeLinkHide {\n        display: none!important;\n    }\n    .headerImageHide {\n        display: none!important;\n    }\n    #middleImage {\n        margin-top: 40px;\n        margin-bottom: 10px;\n    }\n    #middleImage1 {\n        margin-top: 30px;\n        margin-bottom: 10px;\n    }\n    .bottomImageHide {\n        display: none!important;\n    }\n    #lastWord {\n        margin: 10px 34px;\n        color: #5A5B5B;\n        font-size: 14px;\n    }\n    .productDetailsBox #headerVeLink {\n        display: block;\n        width: 100%;\n        min-height: 292px;\n    }\n    .productDetailsBox #h3EleId {\n        font-size: 18px;\n    }\n    .productDetailsBox table {\n        border-collapse: collapse;\n        margin-top: 0!important;\n    }\n    .productDetailsBox table tr td {\n        padding: 0;\n        border-top: 1px solid #E7E7E7;\n        border-bottom: 1px solid #E7E7E7;\n        height: 45px;\n        font-size: 14px;\n        line-height: 25px;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox tr td:first-child {\n        background: #F3F3F3;\n        padding-left: 20px;\n    }\n    .productDetailsBox tr td:last-child {\n        padding-left: 20px;\n        color: black;\n        font-weight: 300;\n        font-family: \"DIN Next\", sans-serif;\n    }\n    .productDetailsBox .bottomVeLink {\n        margin: 40px 0px 10px;\n        display: block;\n        width: 100%;\n        min-height: 292px;\n    }\n    .productDetailsBox .instructionVideo {\n        margin-bottom: 40px;\n        font-weight: 500;\n    }\n\n    \/* FAQ *\/\n    .bundleFaqBox {\n        margin-top: 40px;\n        padding: 24px 22px;\n        background: #F3F3F3;\n        border: 1px solid #E7E7E7;\n        border-radius: 8px;\n    }\n    .bundleFaqTitle {\n        margin: 0 0 18px 0 !important;\n        font-size: 22px;\n        line-height: 24px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .bundleFaqItem {\n        border-top: 1px solid #D9D9D9;\n    }\n    .bundleFaqItem:first-of-type {\n        border-top: none;\n    }\n    .bundleFaqQuestion {\n        width: 100%;\n        padding: 18px 34px 18px 0;\n        background: transparent;\n        border: 0;\n        cursor: pointer;\n        text-align: left;\n        position: relative;\n        font-size: 16px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 700;\n        color: #000;\n    }\n    .bundleFaqQuestion:after {\n        content: \"+\";\n        position: absolute;\n        right: 0;\n        top: 50%;\n        transform: translateY(-50%);\n        font-size: 24px;\n        line-height: 24px;\n        font-weight: 300;\n    }\n    .bundleFaqItem.active .bundleFaqQuestion:after {\n        content: \"−\";\n    }\n    .bundleFaqAnswer {\n        display: none;\n        padding: 0 0 18px 0;\n    }\n    .bundleFaqItem.active .bundleFaqAnswer {\n        display: block;\n    }\n    .bundleFaqAnswer p {\n        margin: 0 !important;\n        font-size: 14px;\n        line-height: 20px;\n        font-family: \"DIN Next\", sans-serif;\n        font-weight: 300;\n        color: #000;\n    }\n\n    \/* mobile *\/\n    .productDetailsMobile {\n        width: 100%;\n    }\n    .productDetailsMobile #headerImage {\n        margin: 0;\n        width: 100%;\n    }\n    .productDetailsMobile #headerVeLink {\n        display: block;\n        width: 100%;\n    }\n    .productDetailsMobile h3 {\n        font-size: 20px;\n        line-height: 22px!important;\n        margin-top: 0;\n    }\n    .productDetailsMobile #describeBox {\n        margin-top: 10px;\n    }\n    .productDetailsMobile #insertElementId {\n        margin-top: 15px;\n        padding: 13px 19px 17px 20px;\n    }\n    .productDetailsMobile #scenesBox {\n        width: 100%!important;\n    }\n    .productDetailsMobile #liEleId {\n        width: 100%!important;\n        margin-top: 25px;\n    }\n    .productDetailsMobile #h3EleId {\n        margin-top: 8px!important;\n        font-size: 16px!important;\n        line-height: 18px;\n    }\n    .productDetailsMobile #scenesBoxPEleId p {\n        font-size: 14px;\n        line-height: 16px;\n    }\n    .productDetailsMobile #middleImage,\n    .productDetailsMobile #middleImage1 {\n        width: 100%;\n        margin-bottom: 15px;\n    }\n    .productDetailsMobile table tr td {\n        font-size: 14px!important;\n        height: 47px!important;\n        line-height: 16px!important;\n    }\n    .productDetailsMobile tr td:first-child {\n        padding-left: 15px;\n        width: 150px!important;\n    }\n    .productDetailsMobile #lastWord {\n        font-size: 14px!important;\n        margin: 14px 0 18px 0;\n    }\n    .productDetailsMobile .bundleFaqBox {\n        margin-top: 30px;\n        padding: 18px 16px;\n    }\n    .productDetailsMobile .bundleFaqTitle {\n        font-size: 20px;\n        line-height: 22px;\n    }\n    .productDetailsMobile .bundleFaqQuestion {\n        padding: 16px 28px 16px 0;\n        font-size: 15px;\n        line-height: 19px;\n    }\n    .productDetailsMobile .bundleFaqAnswer p {\n        font-size: 14px;\n        line-height: 18px;\n    }\n\u003c\/style\u003e\n\n\u003cdiv id=\"productDetails\" class=\"productDetailsBox\"\u003e\n    \u003cimg id=\"headerImage\" src=\"#\"\u003e\n    \u003ciframe type=\"text\/html\" id=\"headerVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"#\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n\n    \u003cdiv id=\"describeBox\" class=\"describeBox\"\u003e\u003c\/div\u003e\n\n    \u003csection\u003e\n        \u003cul id=\"scenesBox\" class=\"scenesBox\"\u003e\u003c\/ul\u003e\n    \u003c\/section\u003e\n\n    \u003cimg id=\"middleImage\" src=\"#\"\u003e\n    \u003cimg id=\"middleImage1\" src=\"#\"\u003e\n\n    \u003ctable width=\"100%\"\u003e\n        \u003ctbody id=\"tbodyid\"\u003e\u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/9ijVBHNMmLc?si=oSvW5OJOL_5vUxcD\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cp class=\"instructionVideo\"\u003eVideo by LinknLink eHome HA\u003c\/p\u003e\n\n    \u003ciframe type=\"text\/html\" class=\"bottomVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"https:\/\/www.youtube.com\/embed\/ACDb_AxYXzY?si=NPN8C5MreWaJooln\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\n    \u003cp class=\"instructionVideo\"\u003eVideo by LinknLink eRemote HA\u003c\/p\u003e\n\n    \u003cdiv class=\"bundleFaqBox\"\u003e\n        \u003ch3 class=\"bundleFaqTitle\"\u003eFrequently Asked Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"bundleFaqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"bundleFaqQuestion\"\u003eWhat is included in this bundle?\u003c\/button\u003e\n            \u003cdiv class=\"bundleFaqAnswer\"\u003e\n                \u003cp\u003eThis bundle includes 1 eHome HA RF hub and 5 eRemote HA IR hubs, designed to provide full-home remote control coverage for both RF and infrared appliances.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bundleFaqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"bundleFaqQuestion\"\u003eWhat does eHome HA do in this bundle?\u003c\/button\u003e\n            \u003cdiv class=\"bundleFaqAnswer\"\u003e\n                \u003cp\u003eeHome HA handles RF control, letting you integrate compatible RF devices such as RF bulbs, curtain motors, RF sockets, ceiling fans, heaters, and other 433MHz RF devices into your smart home setup.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bundleFaqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"bundleFaqQuestion\"\u003eWhat do the 5 eRemote HA hubs do?\u003c\/button\u003e\n            \u003cdiv class=\"bundleFaqAnswer\"\u003e\n                \u003cp\u003eThe 5 eRemote HA units provide room-by-room infrared coverage for TVs, air conditioners, set-top boxes, projectors, amplifiers, and other traditional IR-controlled appliances, helping you cover the whole home instead of relying on a single hub.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bundleFaqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"bundleFaqQuestion\"\u003eDoes this bundle work with Home Assistant?\u003c\/button\u003e\n            \u003cdiv class=\"bundleFaqAnswer\"\u003e\n                \u003cp\u003eYes. eHome HA supports RF2MQTT and eRemote HA supports IR2MQTT, so this bundle is suitable for users who want combined RF and IR control inside Home Assistant.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bundleFaqItem\"\u003e\n            \u003cbutton type=\"button\" class=\"bundleFaqQuestion\"\u003eDoes it support Alexa and Google Home?\u003c\/button\u003e\n            \u003cdiv class=\"bundleFaqAnswer\"\u003e\n                \u003cp\u003eYes. Both eHome HA and eRemote HA work with Alexa and Google Home, so you can combine app control, voice control, and automation across different rooms and device types.\u003c\/p\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp id=\"lastWord\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n    var resources = {\n        headerImage: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1_50688a96-f3cd-4e40-85eb-d3a554fb7a0a.jpg?v=1773139874',\n        headerVeLink: 'https:\/\/www.youtube.com\/embed\/9ijVBHNMmLc?si=oSvW5OJOL_5vUxcD',\n        introduction: {\n            title: 'Whole-Home RF + IR Remote Control Bundle',\n            text: '1 eHome HA + 5 eRemote HA | Full-Home RF \u0026 IR Coverage | Home Assistant, Alexa, and Google Home Ready',\n            paragraph: [\n                '【Complete RF + IR Whole-Home Bundle】This bundle combines 1 eHome HA RF hub with 5 eRemote HA IR hubs, giving you broad coverage across multiple rooms for both RF and infrared appliances in one package.',\n                '【One RF Hub for Legacy RF Devices】eHome HA brings compatible RF devices such as RF bulbs, switches, curtains, roller shutters, ceiling fans, sockets, heaters, and electric fireplaces into your smart home system, helping you modernize existing RF devices without replacing them.',\n                '【Five IR Hubs for Room-by-Room Coverage】With 5 eRemote HA hubs, you can distribute IR control across the living room, bedrooms, office, kitchen, and other spaces, giving more reliable command coverage for TVs, air conditioners, set-top boxes, projectors, and audio devices.',\n                '【Home Assistant Ready with RF2MQTT + IR2MQTT】eHome HA supports RF2MQTT and eRemote HA supports IR2MQTT, allowing you to bring both RF and IR device control into Home Assistant for centralized automation.',\n                '【Works with Alexa and Google Home】Both products support Alexa and Google Home, making it easy to combine voice control, app control, and automated routines across your entire home.',\n                '【Lower Upgrade Cost, Better Coverage】Instead of replacing all existing appliances, this bundle helps you keep traditional RF and IR devices while extending smart control room by room for a more practical and cost-effective whole-home upgrade.'\n            ]\n        },\n        scenes: [\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/2_9afd9563-b917-4524-9110-9363ecb37909.png?v=1737595273',\n                title: 'Control RF Devices Across the Home',\n                text: [\n                    'eHome HA learns and controls compatible RF devices such as RF switches, curtain motors, sockets, fans, and heaters, making legacy RF appliances part of your smart home.'\n                ]\n            },\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/5_9fafcea9-f494-47fb-9c8c-3a829803e5cd.png?v=1727244842',\n                title: 'Room-by-Room IR Coverage with 5 Hubs',\n                text: [\n                    'Deploy the 5 eRemote HA units across different rooms to control TVs, air conditioners, projectors, set-top boxes, and audio systems without line-of-sight limitations from a single location.'\n                ]\n            },\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/02-MQTT.png?v=1737595041',\n                title: 'Bring RF Control into Home Assistant',\n                text: [\n                    'eHome HA supports RF2MQTT, allowing compatible RF devices to be integrated into Home Assistant workflows and automations.'\n                ]\n            },\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/04-MQTT_1k_1.jpg?v=1773813193',\n                title: 'Bring IR Control into Home Assistant',\n                text: [\n                    'eRemote HA supports IR2MQTT so your infrared-controlled devices can be managed from Home Assistant as part of broader smart home routines.'\n                ]\n            },\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/A_04-Routines.png?v=1737594991',\n                title: 'Voice Control + Smart Automations',\n                text: [\n                    'Use Alexa and Google Home together with RF and IR control to create simple voice actions and whole-home automation routines.'\n                ]\n            },\n            {\n                image: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/A_01.png?v=1737595043',\n                title: 'Practical Upgrade for Existing Homes',\n                text: [\n                    'This bundle is ideal for homes with many traditional appliances, letting you upgrade gradually without replacing working RF and IR devices.'\n                ]\n            }\n        ],\n        middleImage: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1_16c809c0-b6fc-4ea9-9738-e3fe70745ae7.png?v=1737596627',\n        middleImage1: 'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/06-_-1_1.jpg?v=1773813193',\n        tableData: [\n            {\n                title: 'Bundle Name',\n                text: 'eHome HA + 5× eRemote HA Bundle'\n            },\n            {\n                title: 'Included Products',\n                text: '1× eHome HA RF Hub + 5× eRemote HA IR Hubs'\n            },\n            {\n                title: 'Primary Use',\n                text: 'Whole-home RF + IR remote control coverage'\n            },\n            {\n                title: 'RF Coverage',\n                text: 'eHome HA for compatible 433MHz RF devices'\n            },\n            {\n                title: 'IR Coverage',\n                text: '5 eRemote HA hubs for room-by-room IR control'\n            },\n            {\n                title: 'Connectivity',\n                text: 'Wi-Fi 802.11b\/g\/n (2.4GHz) \/ BT (4.0 and above)'\n            },\n            {\n                title: 'Home Assistant Support',\n                text: 'Yes, via RF2MQTT and IR2MQTT'\n            },\n            {\n                title: 'Voice Assistant Support',\n                text: 'Alexa \/ Google Home'\n            },\n            {\n                title: 'Hub Requirement',\n                text: 'No extra hub required beyond included devices'\n            },\n            {\n                title: 'Subscription',\n                text: 'No subscription required'\n            },\n            {\n                title: 'Best For',\n                text: 'Homes with both RF and infrared appliances across multiple rooms'\n            }\n        ],\n        lastWord: 'For Home Assistant use, eHome HA requires a firmware update inside the LinknLink app before HA mode setup. With 1 RF hub and 5 IR hubs, this bundle is designed to give practical full-home RF + IR control coverage.'\n    };\n\n    if ((navigator.userAgent.match(\/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|wOSBrowser|BrowserNG|WebOS)\/i))) {\n        if (\n            document.documentElement.clientWidth === 320 ||\n            document.documentElement.clientWidth === 375 ||\n            document.documentElement.clientWidth === 414 ||\n            document.documentElement.clientWidth === 411 ||\n            document.documentElement.clientWidth === 360\n        ) {\n            var productDetailsEle = document.getElementById(\"productDetails\");\n            productDetailsEle.classList.add(\"productDetailsMobile\");\n        }\n    }\n\n    var headerVeLinkEle = document.getElementById(\"headerVeLink\");\n    if (resources.headerVeLink !== '') {\n        headerVeLinkEle.src = resources.headerVeLink;\n    } else {\n        headerVeLinkEle.classList.add('headerVeLinkHide');\n    }\n\n    var headerImageEle = document.getElementById(\"headerImage\");\n    if (resources.headerImage !== '') {\n        headerImageEle.src = resources.headerImage;\n    } else {\n        headerImageEle.classList.add('headerImageHide');\n    }\n\n    var describeBoxEle = document.getElementById(\"describeBox\");\n\n    var insertElement = document.createElement(\"h3\");\n    insertElement.innerText = resources.introduction.title;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"p\");\n    insertElement.innerText = resources.introduction.text;\n    describeBoxEle.appendChild(insertElement);\n\n    insertElement = document.createElement(\"div\");\n    insertElement.id = \"insertElementId\";\n    insertElement.classList.add(\"paragraphBox\");\n\n    for (var i = 0; i \u003c resources.introduction.paragraph.length; i++) {\n        var eleDiv = document.createElement(\"div\");\n        eleDiv.id = \"eleDivid\";\n        eleDiv.classList.add('paragraphDiv');\n        eleDiv.innerHTML = '\u003cp\u003e•\u003cdiv style=\"width: 5px;\"\u003e\u003c\/div\u003e\u003c\/p\u003e\u003cp\u003e' + resources.introduction.paragraph[i] + '\u003c\/p\u003e';\n        insertElement.appendChild(eleDiv);\n    }\n    describeBoxEle.appendChild(insertElement);\n\n    var scenesBoxEle = document.getElementById(\"scenesBox\");\n    for (var j = 0; j \u003c resources.scenes.length; j++) {\n        var scene = resources.scenes[j];\n        var liEle = document.createElement(\"li\");\n        liEle.id = \"liEleId\";\n        liEle.key = 'scenes' + j;\n        liEle.classList.add(\"scenesShowItem\");\n\n        var imgEle = document.createElement(\"img\");\n        imgEle.src = scene.image;\n        liEle.appendChild(imgEle);\n\n        var h3Ele = document.createElement(\"h3\");\n        h3Ele.id = \"h3EleId\";\n        h3Ele.innerText = scene.title;\n        liEle.appendChild(h3Ele);\n\n        var pEle = document.createElement(\"p\");\n        pEle.id = \"scenesBoxPEleId\";\n        pEle.innerHTML = '\u003cp\u003e' + scene.text[0] + '\u003c\/p\u003e';\n        liEle.appendChild(pEle);\n\n        scenesBoxEle.appendChild(liEle);\n    }\n\n    var middleImageEle = document.getElementById(\"middleImage\");\n    if (resources.middleImage) {\n        middleImageEle.src = resources.middleImage;\n    } else {\n        middleImageEle.classList.add('bottomImageHide');\n    }\n\n    var middleImageEle1 = document.getElementById(\"middleImage1\");\n    if (resources.middleImage1) {\n        middleImageEle1.src = resources.middleImage1;\n    } else {\n        middleImageEle1.classList.add('bottomImageHide');\n    }\n\n    for (var k = 0; k \u003c resources.tableData.length; k++) {\n        var tbodyid = document.getElementById(\"tbodyid\");\n        var tableTrEle = document.createElement(\"tr\");\n        var trItem = resources.tableData[k];\n\n        var tdFirst = document.createElement(\"td\");\n        tdFirst.innerText = trItem.title;\n        tableTrEle.appendChild(tdFirst);\n\n        var tdSecond = document.createElement(\"td\");\n        tdSecond.innerText = trItem.text;\n        tableTrEle.appendChild(tdSecond);\n\n        tbodyid.appendChild(tableTrEle);\n    }\n\n    var lastWordEle = document.getElementById(\"lastWord\");\n    lastWordEle.innerText = resources.lastWord;\n\n    var faqButtons = document.querySelectorAll('.bundleFaqQuestion');\n    for (var m = 0; m \u003c faqButtons.length; m++) {\n        faqButtons[m].addEventListener('click', function() {\n            var parent = this.parentNode;\n            if (parent.classList.contains('active')) {\n                parent.classList.remove('active');\n            } else {\n                parent.classList.add('active');\n            }\n        });\n    }\n\u003c\/script\u003e","brand":"LinknLink","offers":[{"title":"Default Title","offer_id":44936207007900,"sku":"","price":67.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/eHome_5xeRemote_30d33ae7-9325-4974-b92a-df0f3264e229.png?v=1776406352"},{"product_id":"linknlink-emotion-ultra-60ghz-mmwave-presence-sensor","title":"eMotion Ultra: 60GHz mmWave Presence Sensor | LinknLink","description":"    \u003cstyle type=\"text\/css\"\u003e\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing:border-box;\n        }\n        body, html {\n            height: 100%;\n        }\n        \/*pc端样式*\/\n        .productDetailsBox {\n            width: 100%;\n        }\n        .productDetailsBox img {\n            margin: 0;\n        }\n        .describeBox {\n            margin-top: 20px;\n        }\n        .productDetailsBox h3 {\n            margin: 23px 0 0;\n            font-size: 18px;\n            \/*font-family: Arial,Helvetica Neue,Helvetica,sans-serif;*\/\n            font-family: \"DIN Next\", sans-serif;\n            font-weight: bold;\n            color: #000000;\n            line-height: 20px;\n        }\n        .productDetailsBox p {\n            margin: 4px 0 0;\n            font-size: 16px;\n            \/*font-family: Arial Nova,Arial,Helvetica Neue,Helvetica,sans-serif;*\/\n            font-family: \"DIN Next\", sans-serif;\n            font-weight: 300;\n            color: #000000;\n            line-height: 18px;\n        }\n\n        .paragraphBox {\n            margin-top: 30px;\n            padding: 20px 0 17px 22px;\n            background: #F3F3F3;\n            border: 1px solid #F3F3F3;\n            border-radius: 8px;\n        }\n\n        .paragraphDiv {\n            display: flex;\n        }\n\n        .paragraphDiv\u003ep {\n            margin: 0!important;\n            padding: 0!important;\n            font-size: 14px;\n            \/*font-family: Arial Nova,Arial,Helvetica Neue,Helvetica,sans-serif;*\/\n            font-family: \"DIN Next\", sans-serif;\n            font-weight: 300;\n            color: #000000;\n            line-height: 18px;\n        }\n        .scenesBox {\n            width: 100%;\n            display: flex;\n            justify-content: space-between;\n\n            list-style: none !important;\n            margin: 0 !important;\n            padding: 0 !important;\n            flex-direction: row;\n            flex-wrap: wrap;\n        }\n        .scenesShowItem {\n            width: 48.5%;\n            margin-top: 40px;\n        }\n        .scenesShowItem::before {\n            background: initial !important;\n        }\n        .scenesShowItem\u003eimg {\n            width: 100%;\n        }\n\n        .setUpSection {\n            padding: 25px 0 40px;\n        }\n        .setUpUL {\n            width: 100%;\n            display: flex;\n            justify-content: space-between;\n\n            list-style: none !important;\n            margin: 0 !important;\n            padding: 0 !important;\n            flex-direction: row;\n            flex-wrap: wrap;\n        }\n        .setUpItem {\n            width: 30%;\n        }\n        .setUpItem::before {\n            background: initial !important;\n        }\n        #setUpTitle {\n            margin-top: 40px;\n            font-size: 18px;\n            line-height: 20px;\n        }\n        .headerVeLinkHide {\n            display: none!important;\n        }\n        .headerImageHide {\n            display: none!important;\n        }\n        #middleImage {\n            margin-top: 40px;\n            margin-bottom: 10px;\n        }\n        #middleImage1 {\n            margin-top: 30px;\n            margin-bottom: 10px;\n        }\n        #bottomImage {\n            margin-top: 40px;\n        }\n        .bottomImageHide {\n            display: none!important;\n        }\n        .setUpItem\u003eimg {\n            width: 100%;\n        }\n        #lastWord {\n            margin: 10px 34px;\n            color: #5A5B5B;\n            font-size: 14px;\n        }\n        .productDetailsBox #headerVeLink {\n            display: block;\n            width: 100%;\n            min-height:292px\n        }\n        .productDetailsBox #h3EleId {\n            font-size: 18px;\n        }\n        .productDetailsBox #setUpLIId h3 {\n            font-size: 16px;\n        }\n        .productDetailsBox #setUpLIId p {\n            font-size: 14px;\n            line-height: 16px;\n        }\n        .productDetailsBox table {\n            border-collapse: collapse;\n            margin-top: 0!important;\n        }\n        .productDetailsBox table tr td {\n            padding: 0;\n            border-top: 1px solid #E7E7E7;\n            border-bottom: 1px solid #E7E7E7;\n            height: 45px;\n            font-size: 14px;\n            line-height: 25px;\n            font-family: \"DIN Next\", sans-serif;\n        }\n        .productDetailsBox tr td:first-child {\n            background: #F3F3F3;\n            padding-left: 20px;\n        }\n        .productDetailsBox tr td:last-child {\n            padding-left: 20px;\n            color: black;\n            font-weight: 300;\n            font-family: \"DIN Next\", sans-serif;\n        }\n        .productDetailsBox .bottomVeLink {\n            margin: 40px 0px 10px;\n            display: block;\n            width: 100%;\n            min-height:292px\n        }\n        .productDetailsBox .instructionVideo {\n            margin-bottom: 40px;\n            font-weight: 500;\n        }\n        .productDetailsBox .formBox {\n            padding: 30px 100px;\n            box-sizing: border-box;\n            display: flex;\n            justify-content: center;\n            flex-direction: column;\n            align-items: center;\n            border-radius: 16px;\n            background: #F3F3F3;\n            min-height: 200px;\n        }\n        .productDetailsBox .emailDescribe {\n            text-align: center;\n            font-weight: 500;\n        }\n        .productDetailsBox .emailInput {\n            width: 100%;\n            color: #000000;\n            margin: 20px 0px;\n            height: 40px;\n            text-indent:5px;\n        }\n        .productDetailsBox .emailInput:-ms-input-placeholder {\n            text-align: left;\n            font-family: \"Helvetica\", sans-serif;\n            color: #c0ccda;\n        }\n        .productDetailsBox .emailInput:placeholder {\n            text-align: left;\n            font-family: \"Helvetica\", sans-serif;\n            color: #c0ccda;\n        }\n        .productDetailsBox .submitButton {\n            padding:12px 25px;\n            font-size:12px;\n            font-weight:700;\n            border-radius:18px;\n            background-color:#2c5af6;\n            color:#FFFFFF;\n            border-width:0px;\n            cursor: pointer;\n            margin-top: 20px;\n        }\n        \/*移动端样式*\/\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing:border-box;\n        }\n        body, html {\n            height: 100%;\n        }\n        .productDetailsMobile {\n            width: 100%;\n        }\n        .productDetailsMobile #headerImage {\n            margin: 0;\n            width: 100%;\n            \/*height: 233px;*\/\n        }\n        .productDetailsMobile #headerVeLink {\n            display: block;\n            width: 100%;\n        }\n        .productDetailsMobile h3 {\n            font-size: 20px;\n            line-height: 22px!important;\n            margin-top: 0;\n        }\n        .productDetailsMobile #describeBox {\n            margin-top: 10px;\n        }\n        .productDetailsMobile #insertElementId {\n            margin-top: 15px;\n            padding: 13px 19px 17px 20px;\n        }\n        .productDetailsMobile #scenesBox,\n        .productDetailsMobile #setUpUL {\n            width: 100%!important;\n        }\n        .productDetailsMobile #liEleId,\n        .productDetailsMobile #setUpLIId {\n            width: 100%!important;\n            margin-top: 25px;\n        }\n        .productDetailsMobile #setUpLIId p {\n            font-size: 14px;\n            line-height: 16px;\n        }\n        .productDetailsMobile #h3EleId {\n            margin-top: 8px!important;\n            font-size: 16px!important;\n            line-height: 18px;\n        }\n        .productDetailsMobile #scenesBoxPEleId p {\n            font-size: 14px;\n            line-height: 16px;\n        }\n        .productDetailsMobile #setUpTitle {\n            margin-top: 25px;\n            font-size: 20px;\n        }\n        .productDetailsMobile #setUpLIId:first-child {\n            margin-top: 0;\n        }\n        .productDetailsMobile #setUpSection {\n            padding: 15px 0 25px;\n        }\n        .productDetailsMobile #middleImage {\n            width: 100%;\n            margin-bottom: 15px;\n        }\n        .productDetailsMobile #middleImage1 {\n            width: 100%;\n            margin-bottom: 15px;\n        }\n        .productDetailsMobile #bottomImage {\n            width: 100%;\n            margin-top: 40px;\n        }\n        .productDetailsMobile table tr td {\n            font-size: 14px!important;\n            height: 47px!important;\n            line-height: 16px!important;\n        }\n        .productDetailsMobile tr td:first-child {\n            padding-left: 15px;\n            width: 150px!important;\n        }\n        .productDetailsMobile #lastWord {\n            font-size: 14px!important;\n            margin: 14px 0 18px 0;\n        }\n    \u003c\/style\u003e\n    \u003cdiv id=\"productDetails\" class=\"productDetailsBox\"\u003e\n        \u003cimg id=\"headerImage\" src=\"#\"\u003e\n        \u003ciframe type=\"text\/html\" id=\"headerVeLink\" allowfullscreen=\"true\" allowscriptaccess=\"always\" width=\"100%\" height=\"100%\" src=\"#\" frameborder=\"0\"\u003e\n        \u003c\/iframe\u003e\n        \u003cdiv id=\"describeBox\" class=\"describeBox\"\u003e\n        \u003c\/div\u003e\n        \u003csection\u003e\n            \u003cul id=\"scenesBox\" class=\"scenesBox\"\u003e\n            \u003c\/ul\u003e\n        \u003c\/section\u003e\n        \u003cimg id=\"middleImage\" src=\"#\"\u003e\n        \u003cimg id=\"middleImage1\" src=\"#\"\u003e\n        \u003ctable width=\"100%\"\u003e\n            \u003ctbody id=\"tbodyid\"\u003e\n            \u003c\/tbody\u003e\n        \u003c\/table\u003e\n        \u003cp id=\"instructionVideo\" class=\"instructionVideo\"\u003e.  \u003c\/p\u003e\n        \u003cp id=\"lastWord\"\u003e\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cscript\u003e\n        {\/*此行以上不要动*\/}\n        var resources ={\n            headerImage:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/01-970x600_364d1466-9fce-4502-9f90-986189b0d5f1.jpg?v=1773128704',\n            headerVeLink:'https:\/\/www.youtube.com\/embed\/-PNABOFOJF8?si=JpXbdGQbu51289KN',\n            introduction:{\n               title:'LinknLink eMotion Ultra 60GHz mmWave Presence Sensor: Home Assistant, 4-Zone Tracking, IR Blaster \u0026 BLE Hub, Zigbee2MQTT',\n                text:'IR, Brightness, Temperature and Humidity, MQTT Home Assistant, Compatible with Alexa and Google Home. WiFi without Hub | Cable Powered without Battery | 60GHz mmWave Radar | IR Blaster | Light Sensor | Temperature and Humidity | Motion2MQTT | IR2MQTT | Home Assistant | Works with Alexa and Google Home | BLE Hub',\n                paragraph:[\n                    '【STATIONARY HUMAN DETECTION \u0026 ANTI-INTERFERENCE】Say goodbye to waving at outdated PIR motion sensors! Powered by advanced mmWave radar, eMotion Ultra detects even the slightest movements — like your heartbeat or breathing (facing front) — while you\\'re sitting still or sleeping. Define in-app interference zones to exclude plants, curtains, or pets. Set a filtering height to ignore fan or pet movement.',\n                    '【MULTI-ZONE POSITIONING \u0026 LIVE TRACKING】No need for multiple sensors! Simply tap and draw max 4 customizable detection zones (e.g., sofa, bed, desk) in LinknLink App and set personalized automation rules for each zone in app or Alexa\/Google routines. eMotion Ultra detects and tracks up to 4 people in real-time, identifying their locations within the detection range without compromising privacy.',\n                    '【HOME ASSISTANT, ALEXA, GOOGLE HOME】eMotion Ultra operates entirely locally for instant integration with Home Assistant and other MQTT-supported platforms, making all entities (zones, brightness, temperature, humidity, etc.) available. With an internet connection, it also supports Alexa, Google Home, and Siri for third-party control and automations.',\n                    '【IR BLASTER, BRIGHTNESS, TEMPERATURE \u0026 HUMIDITY】The built-in 360° IR blaster supports universal control of TVs, air conditioners, audio systems, and more, with a range of up to 15m (49ft). The integrated light sensor and on-cable temperature humidity sensor detect ambient environmental changes. These sensors collaborate with presence detection to enable complex automation, reducing or eliminating the need for additional sensors.',\n                    '【ALERT NOTIFICATIONS \u0026 CLOUD DATA EXPORT】Get real-time notifications directly to your phone whenever there\\'s a change in status whether it\\'s presence, brightness, temperature, or humidity, even if the app isn\\'t open. Your data is securely kept on the cloud with a comprehensive 3-year trackable history and can be downloaded in standard CSV format for analysis or other purposes.',\n                    '【BLE HUB FOR EXTENDED ACCESSORIES】Connect and manage more devices with eMotion Ultra, which acts as a dedicated BLE hub for a wide range of LinknLink BLE accessories: Contact sensors, Temperature and humidity sensors, Fingerbots, Curtain openers and Door locks. Supports max 20 BLE accessories and sync them with Home Assistant via MQTT.',\n                    '【DOUBLE-SIDED MAGNETIC INSTALLATION】Improved foldable and adjustable stand features double-sided magnets for flexible installation options: Desktop placing, Wall mounting or Magnetic attaching. IMPORTANT NOTICE: Requires a certified 5V\/2A power adapter. Refer to \"Installation Guide\" in app for setup instructions. Max detection range: 6m \/ 20ft (moving) and 4m \/ 13ft (stationary)',\n                ]\n            },\n            scenes: [\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/01-_2x_ca15e62d-eb69-4530-8d56-f770107a77aa.jpg?v=1772674476',\n                    title:'STATIONARY HUMAN DETECTION',\n                    text:[\n                        'Eliminate reliance on outdated PIR motion sensors. Employing 60GHz mmWave radar technology, eMotion Ultra detects micro-movements including heartbeat and breath (facing front) - in stationary individuals during rest or sleep.'\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/02_8e820585-9ee1-4e4f-9604-d0a99b78c26b.jpg?v=1772674476',\n                    title:'MULTI-ZONE POSITIONING',\n                    text:[\n                        'With Just a single sensor, define up to 4 customizable detection zones (e.g., sofa, desk, path) and assign unique automation rules per zone via the app or Alexa\/Google routines. Detects and tracks up to 4 individuals in real-time, identifying their locations within these zones while ensuring privacy.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/04_4195a8dc-341f-493a-bead-33acb94d53c4.jpg?v=1772674476',\n                    title:'HOME ASSISTANT, ALEXA, GOOGLE HOME',\n                    text:[\n                        'Offers instant and local integration with Home Assistant and other MQTT-enabled platforms, making all entities (zones, brightness, temperature, humidity, etc.) accessible. Internet access further enables support for Alexa, Google Home, and Siri for third-party control and automations.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/02-icon.jpg?v=1772675665',\n                    title:'IR BLASTER, BRIGHTNESS, TEMPERATURE \u0026 HUMIDITY',\n                    text:[\n                        'The integrated 360° IR blaster universally controls appliances (TVs, ACs, audio systems) within a 15m (49ft) range. Integrated light and on-cable temperature and humidity sensors monitor ambient conditions. These sensors enable sophisticated automation, reducing or eliminating the need for additional sensors.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/05_52ab6f66-100d-4247-b65d-536f9e9a0560.png?v=1744714682',\n                    title:'ALERT NOTIFICATIONS \u0026 CLOUD DATA EXPORT',\n                    text:[\n                        'Get instant mobile alerts for changes in presence, brightness, temperature, or humidity, even with the app closed. Secure cloud storage maintains a comprehensive 3-year data history, readily downloadable in CSV format for your analysis or other purposes.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/08_eadc7ad0-97fc-491c-add7-67b99fc901bd.png?v=1752649437',\n                    title:'3-Year History Data',\n                    text:[\n                        'Get real-time notifications directly to your phone whenever there\\'s a change in status whether it\\'s presence, brightness, temperature, or humidity, even if the app isn\\'t open.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/06_1bd5f7b8-e519-4d83-a67a-d5b77c3766f1.jpg?v=1772674476',\n                    title:'BLE HUB FOR EXTENDED ACCESSORIES',\n                    text:[\n                        'Acts as a dedicated BLE hub, extending connectivity for numerous LinknLink BLE accessories (e.g., Contact Sensors, Temp\/Humidity Sensors, Fingerbots, Curtain Openers, Door Locks). It supports up to 20 BLE devices and seamlessly syncs them with Home Assistant via MQTT.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/10.png?v=1752649437',\n                    title:'DOUBLE-SIDED MAGNETIC INSTALLATION',\n                    text:[\n                        'Improved foldable and adjustable stand features double-sided magnets for flexible installation options: Desktop placing, Wall mounting or Magnetic attaching. IMPORTANT NOTICE: Requires a certified 5V\/2A power adapter. Refer to \"Installation Guide\" in app for setup instructions. Max detection range: 6m \/ 20ft (moving) and 4m \/ 13ft (stationary).',\n                    ]\n                }\n            ],\n            bottomImage:'',\n            middleImage:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1-__max-vs-pro_fea4c1a5-b6d4-49bc-a8a6-55a0710c6fb1.jpg?v=1774253685',\n            setUp:{\n                title:'Easy Pairing TV models',\n                steps:[\n                    {\n                        image:'',\n                        text:'Choose your TV brand from BroadLink official cloud database.'\n                    }, {\n                        image:'',\n                        title:'AI Recommendation',\n                        text:'BroadLink automatic recommendation system will match the best option for you.'\n                    }, {\n                        image:'',\n                        title:'Remote Test',\n                        text:'Remote can be tested for each signal button.'\n                    }\n                ]\n            },\n            tableData: [\n                {\n                    title: 'Product Name',\n                    text: 'Smart Home Bridge'\n                },{\n                    title: 'Model',\n                    text: 'eMotion Ultra'\n                },{\n                    title: 'Form Factor',\n                    text: 'Round'\n                },{\n                    title: 'Rating Power',\n                    text: '5V DC \/ 2A'\n                },{\n                    title: 'Power Cable',\n                    text: 'USB-C'\n                },{\n                    title: 'Infrared frequency',\n                    text: '38KHz'\n                },{\n                    title: 'Communication Mode',\n                    text: 'Wi-Fi 802.11b\/g\/n (2.4GHz) \/ BT (4.0 and above)'\n                },{\n                    title: 'Radar Frequency',\n                    text: '60GHz'\n                },{\n                    title: 'Detection Range',\n                    text: '4-5m'\n                },{\n                    title: 'FCC ID',\n                    text: '2A9BE-LL8720-P'\n                },{\n                    title: 'Supported OS',\n                    text: 'iOS 11.0 \/ Android™ 5.1 and above'\n                },{\n                    title: 'Working Humidity',\n                    text: '≤85%RH'\n                },{\n                    title: 'Working Temperature',\n                    text: '0-50°C'\n                },{\n                    title: 'Waterproof',\n                    text: 'No'\n                },{\n                    title: 'Dimension',\n                    text: '61x61x25 mm'\n                }\n            ],\n            lastWord: ''\n        };\n        {\/*此行以下不要动*\/}\n        \/\/ rem适配\n        if((navigator.userAgent.match(\/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|wOSBrowser|BrowserNG|WebOS)\/i))) {\n            if (document.documentElement.clientWidth === 320 || document.documentElement.clientWidth === 375|| document.documentElement.clientWidth === 414|| document.documentElement.clientWidth === 411|| document.documentElement.clientWidth === 360) {\n                var productDetailsEle = document.getElementById(\"productDetails\");\n                productDetailsEle.classList.add(\"productDetailsMobile\");\n            }\n        }\n        var headerVeLinkEle = document.getElementById(\"headerVeLink\");\n        if (resources.headerVeLink !== '') {\n            headerVeLinkEle.src = resources.headerVeLink;\n        } else {\n            headerVeLinkEle.classList.add('headerVeLinkHide');\n        }\n        var headerImageEle = document.getElementById(\"headerImage\");\n        if (resources.headerImage !== '') {\n            headerImageEle.src = resources.headerImage;\n        } else {\n            headerImageEle.classList.add('headerImageHide');\n        }\n        var describeBoxEle=document.getElementById(\"describeBox\");\n\n        var insertElement = document.createElement(\"h3\");\n        insertElement.innerText=resources.introduction.title;\n        describeBoxEle.appendChild(insertElement);\n\n        insertElement = document.createElement(\"p\");\n        insertElement.innerText=resources.introduction.text;\n        describeBoxEle.appendChild(insertElement);\n\n        insertElement = document.createElement(\"div\");\n        insertElement.id = \"insertElementId\";\n        insertElement.classList.add(\"paragraphBox\");\n        for (var i = 0; i \u003c resources.introduction.paragraph.length; i++) {\n            var eleDiv = document.createElement(\"div\");\n            eleDiv.id = \"eleDivid\";\n            eleDiv.classList.add('paragraphDiv');\n            eleDiv.innerHTML = '\u003cp\u003e•\u003cdiv style=\"width: 5px;\"\u003e\u003c\/div\u003e\u003c\/p\u003e\u003cp\u003e'+resources.introduction.paragraph[i]+'\u003c\/p\u003e';\n            insertElement.appendChild(eleDiv);\n        }\n        describeBoxEle.appendChild(insertElement);\n\n        var scenesBoxEle=document.getElementById(\"scenesBox\");\n        for (var i = 0; i \u003c resources.scenes.length; i++) {\n            var scene = resources.scenes[i];\n            var liEle = document.createElement(\"li\");\n            liEle.id=\"liEleId\";\n            liEle.key='scenes'+i;\n            liEle.classList.add(\"scenesShowItem\");\n\n            var imgEle = document.createElement(\"img\");\n            imgEle.src = scene.image;\n            liEle.appendChild(imgEle);\n\n            var h3Ele = document.createElement(\"h3\");\n            h3Ele.id = \"h3EleId\";\n            h3Ele.innerText = scene.title;\n            liEle.appendChild(h3Ele);\n\n            var pEle = document.createElement(\"p\");\n            pEle.id = \"scenesBoxPEleId\";\n            pEle.innerHTML = '\u003cp\u003e'+scene.text[0]+'\u003c\/p\u003e';\n            liEle.appendChild(pEle);\n            scenesBoxEle.appendChild(liEle);\n        }\n        \/\/ 底部的图\n        var middleImageEle = document.getElementById(\"middleImage\");\n        if (resources.middleImage) {\n            middleImageEle.src = resources.middleImage;\n        } else {\n            middleImageEle.classList.add('bottomImageHide');\n        }\n        \/\/ 底部的图1\n        var middleImageEle1 = document.getElementById(\"middleImage1\");\n        if (resources.middleImage1) {\n            middleImageEle1.src = resources.middleImage1;\n        } else {\n            middleImageEle1.classList.add('bottomImageHide');\n        }\n        for (var i = 0; i \u003c resources.tableData.length; i++) {\n            var tbodyid = document.getElementById(\"tbodyid\");\n            var tableTrEle = document.createElement(\"tr\");\n            var trItem = resources.tableData[i];\n\n            var tdFirst = document.createElement(\"td\");\n            tdFirst.innerText = trItem.title;\n            tableTrEle.appendChild(tdFirst);\n\n            var tdSecond = document.createElement(\"td\");\n            tdSecond.innerText = trItem.text;\n            tableTrEle.appendChild(tdSecond);\n            tbodyid.appendChild(tableTrEle);\n        }\n        var lastWordEle = document.getElementById(\"lastWord\");\n        lastWordEle.innerText = resources.lastWord;\n        document.getElementById('submitButton').addEventListener('click', function(event) {\n          window.scrollTo(0, document.body.scrollHeight);\n        });\n    \u003c\/script\u003e","brand":"LinknLink","offers":[{"title":"1-Pack","offer_id":45000226930844,"sku":"","price":49.99,"currency_code":"USD","in_stock":true},{"title":"3-Pack","offer_id":46547577503900,"sku":null,"price":134.99,"currency_code":"USD","in_stock":true},{"title":"5-Pack","offer_id":46547578028188,"sku":null,"price":214.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/eMotion_Ultra-1.png?v=1776406361"},{"product_id":"linknlink-ths-cable","title":"LinknLink THS Cable: Temperature and Humidity Sensor (Must Be Used with Any eMotion Product Featuring a USB-C Port)","description":"\u003ch3\u003e\u003cstrong\u003eIMPORTANT\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp\u003eThis THS Cable only works with eMotion Products with USB-C port\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eCompatible models\u003c\/strong\u003e: eMotion Pro, eMotion Max (Round ver), eMotion Ultra\u003cbr\u003eDo not purchase if you don't own any compatible models above.\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eSPECIFICATIONS\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eCable Length\u003c\/strong\u003e: 2 meters (6.56 feet)\u003cbr\u003e\u003cstrong\u003eCable Head\u003c\/strong\u003e: USB-A + USB-C\u003cbr\u003e\u003cstrong\u003eRated Power\u003c\/strong\u003e: 5V DC \/ 2A\u003cbr\u003e\u003cstrong\u003eHumidity Range\u003c\/strong\u003e: 0-85%RH (\u003cem\u003e±\u003c\/em\u003e2%)\u003cbr\u003e\u003cstrong\u003eTemperature Range\u003c\/strong\u003e: 0-50\u003cem\u003e°\u003c\/em\u003eC (32-122°F)\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"LinknLink","offers":[{"title":"THS Cable","offer_id":46577914937500,"sku":null,"price":7.99,"currency_code":"USD","in_stock":true},{"title":"THS Cable (3-Pack)","offer_id":46577914970268,"sku":null,"price":19.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/20250611175055.png?v=1776406375"},{"product_id":"isg-box-se-home-assistant-gateway","title":"LinknLink iSG Box SE: Super Smart Home Gateway with Home Assistant","description":"\u003cstyle type=\"text\/css\"\u003e\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing:border-box;\n        }\n        body, html {\n            height: 100%;\n        }\n        \/*pc端样式*\/\n        .productDetailsBox {\n            width: 100%;\n        }\n        .productDetailsBox img {\n            margin: 0;\n        }\n        .describeBox {\n            margin-top: 20px;\n        }\n        .productDetailsBox h3 {\n            margin: 23px 0 0;\n            font-size: 18px;\n            \/*font-family: Arial,Helvetica Neue,Helvetica,sans-serif;*\/\n            font-family: \"DIN Next\", sans-serif;\n            font-weight: bold;\n            color: #000000;\n            line-height: 20px;\n        }\n        .productDetailsBox p {\n            margin: 4px 0 0;\n            font-size: 16px;\n            \/*font-family: Arial Nova,Arial,Helvetica Neue,Helvetica,sans-serif;*\/\n            font-family: \"DIN Next\", sans-serif;\n            font-weight: 300;\n            color: #000000;\n            line-height: 18px;\n        }\n\n        .paragraphBox {\n            margin-top: 30px;\n            padding: 20px 0 17px 22px;\n            background: #F3F3F3;\n            border: 1px solid #F3F3F3;\n            border-radius: 8px;\n        }\n\n        .paragraphDiv {\n            display: flex;\n        }\n\n        .paragraphDiv\u003ep {\n            margin: 0!important;\n            padding: 0!important;\n            font-size: 14px;\n            \/*font-family: Arial Nova,Arial,Helvetica Neue,Helvetica,sans-serif;*\/\n            font-family: \"DIN Next\", sans-serif;\n            font-weight: 300;\n            color: #000000;\n            line-height: 18px;\n        }\n        .scenesBox {\n            width: 100%;\n            display: flex;\n            justify-content: space-between;\n\n            list-style: none !important;\n            margin: 0 !important;\n            padding: 0 !important;\n            flex-direction: row;\n            flex-wrap: wrap;\n        }\n        .scenesShowItem {\n            width: 48.5%;\n            margin-top: 40px;\n        }\n        .scenesShowItem::before {\n            background: initial !important;\n        }\n        .scenesShowItem\u003eimg {\n            width: 100%;\n        }\n\n        .setUpSection {\n            padding: 25px 0 40px;\n        }\n        .setUpUL {\n            width: 100%;\n            display: flex;\n            justify-content: space-between;\n\n            list-style: none !important;\n            margin: 0 !important;\n            padding: 0 !important;\n            flex-direction: row;\n            flex-wrap: wrap;\n        }\n        .setUpItem {\n            width: 30%;\n        }\n        .setUpItem::before {\n            background: initial !important;\n        }\n        #setUpTitle {\n            margin-top: 40px;\n            font-size: 18px;\n            line-height: 20px;\n        }\n        .headerVeLinkHide {\n            display: none!important;\n        }\n        .headerImageHide {\n            display: none!important;\n        }\n        #middleImage {\n            margin-top: 40px;\n            margin-bottom: 10px;\n        }\n        #middleImage1 {\n            margin-top: 30px;\n            margin-bottom: 10px;\n        }\n        #bottomImage {\n            margin-top: 40px;\n        }\n        .bottomImageHide {\n            display: none!important;\n        }\n        .setUpItem\u003eimg {\n            width: 100%;\n        }\n        #lastWord {\n            margin: 10px 34px;\n            color: #5A5B5B;\n            font-size: 14px;\n        }\n        .productDetailsBox #headerVeLink {\n            display: block;\n            width: 100%;\n            min-height:292px\n        }\n        .productDetailsBox #h3EleId {\n            font-size: 18px;\n        }\n        .productDetailsBox #setUpLIId h3 {\n            font-size: 16px;\n        }\n        .productDetailsBox #setUpLIId p {\n            font-size: 14px;\n            line-height: 16px;\n        }\n        .productDetailsBox table {\n            border-collapse: collapse;\n            margin-top: 0!important;\n        }\n        .productDetailsBox table tr td {\n            padding: 0;\n            border-top: 1px solid #E7E7E7;\n            border-bottom: 1px solid #E7E7E7;\n            height: 45px;\n            font-size: 14px;\n            line-height: 25px;\n            font-family: \"DIN Next\", sans-serif;\n        }\n        .productDetailsBox tr td:first-child {\n            background: #F3F3F3;\n            padding-left: 20px;\n        }\n        .productDetailsBox tr td:last-child {\n            padding-left: 20px;\n            color: black;\n            font-weight: 300;\n            font-family: \"DIN Next\", sans-serif;\n        }\n        .productDetailsBox .bottomVeLink {\n            margin: 40px 0px 10px;\n            display: block;\n            width: 100%;\n            min-height:292px\n        }\n        .productDetailsBox .instructionVideo {\n            margin-bottom: 40px;\n            font-weight: 500;\n        }\n        .productDetailsBox .formBox {\n            padding: 30px 100px;\n            box-sizing: border-box;\n            display: flex;\n            justify-content: center;\n            flex-direction: column;\n            align-items: center;\n            border-radius: 16px;\n            background: #F3F3F3;\n            min-height: 200px;\n        }\n        .productDetailsBox .emailDescribe {\n            text-align: center;\n            font-weight: 500;\n        }\n        .productDetailsBox .emailInput {\n            width: 100%;\n            color: #000000;\n            margin: 20px 0px;\n            height: 40px;\n            text-indent:5px;\n        }\n        .productDetailsBox .emailInput:-ms-input-placeholder {\n            text-align: left;\n            font-family: \"Helvetica\", sans-serif;\n            color: #c0ccda;\n        }\n        .productDetailsBox .emailInput:placeholder {\n            text-align: left;\n            font-family: \"Helvetica\", sans-serif;\n            color: #c0ccda;\n        }\n        .productDetailsBox .submitButton {\n            padding:12px 25px;\n            font-size:12px;\n            font-weight:700;\n            border-radius:18px;\n            background-color:#2c5af6;\n            color:#FFFFFF;\n            border-width:0px;\n            cursor: pointer;\n            margin-top: 20px;\n        }\n        \/*移动端样式*\/\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing:border-box;\n        }\n        body, html {\n            height: 100%;\n        }\n        .productDetailsMobile {\n            width: 100%;\n        }\n        .productDetailsMobile #headerImage {\n            margin: 0;\n            width: 100%;\n            \/*height: 233px;*\/\n        }\n        .productDetailsMobile #headerVeLink {\n            display: block;\n            width: 100%;\n        }\n        .productDetailsMobile h3 {\n            font-size: 20px;\n            line-height: 22px!important;\n            margin-top: 0;\n        }\n        .productDetailsMobile #describeBox {\n            margin-top: 10px;\n        }\n        .productDetailsMobile #insertElementId {\n            margin-top: 15px;\n            padding: 13px 19px 17px 20px;\n        }\n        .productDetailsMobile #scenesBox,\n        .productDetailsMobile #setUpUL {\n            width: 100%!important;\n        }\n        .productDetailsMobile #liEleId,\n        .productDetailsMobile #setUpLIId {\n            width: 100%!important;\n            margin-top: 25px;\n        }\n        .productDetailsMobile #setUpLIId p {\n            font-size: 14px;\n            line-height: 16px;\n        }\n        .productDetailsMobile #h3EleId {\n            margin-top: 8px!important;\n            font-size: 16px!important;\n            line-height: 18px;\n        }\n        .productDetailsMobile #scenesBoxPEleId p {\n            font-size: 14px;\n            line-height: 16px;\n        }\n        .productDetailsMobile #setUpTitle {\n            margin-top: 25px;\n            font-size: 20px;\n        }\n        .productDetailsMobile #setUpLIId:first-child {\n            margin-top: 0;\n        }\n        .productDetailsMobile #setUpSection {\n            padding: 15px 0 25px;\n        }\n        .productDetailsMobile #middleImage {\n            width: 100%;\n            margin-bottom: 15px;\n        }\n        .productDetailsMobile #middleImage1 {\n            width: 100%;\n            margin-bottom: 15px;\n        }\n        .productDetailsMobile #bottomImage {\n            width: 100%;\n            margin-top: 40px;\n        }\n        .productDetailsMobile table tr td {\n            font-size: 14px!important;\n            height: 47px!important;\n            line-height: 16px!important;\n        }\n        .productDetailsMobile tr td:first-child {\n            padding-left: 15px;\n            width: 150px!important;\n        }\n        .productDetailsMobile #lastWord {\n            font-size: 14px!important;\n            margin: 14px 0 18px 0;\n        }\n    \u003c\/style\u003e\n\u003cdiv id=\"productDetails\" class=\"productDetailsBox\"\u003e\n\u003cimg id=\"headerImage\" src=\"#\"\u003e \u003ciframe id=\"headerVeLink\" src=\"#\" width=\"100%\" height=\"100%\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"\u003e\n        \u003c\/iframe\u003e\n\u003cdiv id=\"describeBox\" class=\"describeBox\"\u003e\u003c\/div\u003e\n\u003csection\u003e\n\u003cul id=\"scenesBox\" class=\"scenesBox\"\u003e\u003c\/ul\u003e\n\u003c\/section\u003e\n\u003cimg id=\"middleImage\" src=\"#\"\u003e \u003cimg id=\"middleImage1\" src=\"#\"\u003e\n\u003ctable width=\"100%\"\u003e\n\u003ctbody id=\"tbodyid\"\u003e\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ciframe class=\"bottomVeLink\" src=\"https:\/\/www.youtube.com\/embed\/qzfsmsBphdw?si=iYGB_dQ6jvoCXLEi\" width=\"100%\" height=\"100%\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"\u003e\n        \u003c\/iframe\u003e\n\u003cp id=\"instructionVideo\" class=\"instructionVideo\"\u003eInstructional video by Csongor Varga\u003c\/p\u003e\n\u003ciframe class=\"bottomVeLink\" src=\"https:\/\/www.youtube.com\/embed\/CPee42cC8Gk?si=JNKTBR6iZV55dZQ4\" width=\"100%\" height=\"100%\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"\u003e\n        \u003c\/iframe\u003e\n\u003cp id=\"instructionVideo\" class=\"instructionVideo\"\u003eInstructional video by Alessandro Simonitto\u003c\/p\u003e\n\u003ciframe class=\"bottomVeLink\" src=\"https:\/\/www.youtube.com\/embed\/796OZYT_HRI?si=CKhAkkp-5WmieoE4\" width=\"100%\" height=\"100%\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"\u003e\n        \u003c\/iframe\u003e\n\u003cp id=\"instructionVideo\" class=\"instructionVideo\"\u003eInstructional video by Smart Home Junkie\u003c\/p\u003e\n\u003cp id=\"lastWord\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n        {\/*此行以上不要动*\/}\n        var resources ={\n            headerImage:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/01-_-iSG-Box-SE-all_1_1.jpg?v=1773126233',\n            headerVeLink:'https:\/\/www.youtube.com\/embed\/OlI45-D2e94?si=mFjMLnXlsF9Gk37z',\n            introduction:{\n                title:'LinknLink iSG Box SE - The Ultimate AI-Powered Smart Home Hub \u0026 Media Center',\n                text:' Local Automation with Integrated Home Assistant \u0026 HomeKit Bridge, Expand with Zigbee\/Z-Wave USB Stick, Compatible with Alexa \u0026 Google (iSG Box-SE)',\n                paragraph:[\n                    '【ALL-IN-ONE HUB \u0026 FLEXIBLE MANAGEMENT】Unify your entire smart home setup with a single hub compatible with 2,500+ brands and key protocols including Matter, Zigbee, and Z-Wave. Control all connected devices through a unified dashboard accessible via TV, smartphone, and web apps, plus voice commands using Google Assistant and Alexa.',\n                    '【PRE-INSTALLED HOME ASSISTANT FOR ADVANCED USERS】Built on Home Assistant, the world’s leading smart home platform, this hub delivers powerful automation, extensive customization, and complete local operation—pre-loaded with HACS and widely supported integrations tailored for experienced users.',\n                    '【EASY EXPANSION FOR ZIGBEE \u0026 Z-WAVE】Simply connect any compatible USB stick—the iSG Box SE automatically recognizes and sets it up. No complex configuration or extra steps required. (Important: Zigbee\/Z-Wave USB stick sold separately.)',\n                    '【BUILT-IN HOMEKIT BRIDGE SUPPORT】Enable Apple HomeKit compatibility for a wide range of smart devices using the integrated bridge. Operate third-party devices that don’t natively support HomeKit directly through the Apple Home app or Siri, without requiring additional accessories.',\n                    '【LOCAL-FIRST DESIGN \u0026 FAST RESPONSE】Experience real-time control thanks to the local-first architecture. Your smart home reacts immediately and stays operational even when the internet is down—free from cloud delays. All data is stored securely within your home network for improved privacy and protection.',\n                    '【AI HOME ASSISTANT】Simply speak or type naturally—no training or wake word required. Enjoy continuous, conversational control. Use your existing WhatsApp or Telegram account to operate devices or check status updates. The AI understands you clearly in multiple languages, via text or voice.',\n                ]\n            },\n            scenes: [\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/03_6dd53b4e-37c1-46be-a3a3-9744a8842ca6.jpg?v=1772800319',\n                    title:'What is New?',\n                    text:[\n                        'Upgrade to the iSG Box SE to transform your living room. Enjoy native streaming on YouTube, Netflix, and 10,000+ Google Play apps. Experience total control via our new Web Dashboard, Google\/Alexa voice commands, or the revolutionary Chat AI Agent—manage your home simply by chatting on WhatsApp \u0026 Telegram. Smart automation meets entertainment in one powerful, affordable device.'\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/174606587.jpg?v=1772800319',\n                    title:'The Best Value Smart Home Hub \u0026 Media Player',\n                    text:[\n                        'Cut costs without cutting features. The iSG Box SE delivers a powerful Home Assistant gateway, AI Agent, and streaming player (Netflix\/YouTube) for 1\/3 the price of typical alternatives. With its built-in HomeKit bridge, you eliminate the need for expensive hubs, saving hundreds on extra hardware. Experience premium automation and entertainment at an unbeatable entry-level price.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/04_25fa26ce-91e4-4423-9bd3-e058c973894c.jpg?v=1772800320',\n                    title:'Tired of App Overload \u0026 Compatibility Chaos?',\n                    text:[\n                        'Eliminate app clutter. The iSG Box SE unifies 2,500+ brands into one intuitive dashboard on Web, Mobile, or TV. Seamlessly connect Matter devices, plus Zigbee and Z-Wave (via external USB dongle). Centralize your smart home control today.(*Zigbee and Z-Wave requires extenal USB sticks).',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/174606584.jpg?v=1772800319',\n                    title:'Local Privacy \u0026 Free Remote Access',\n                    text:[\n                        'Enjoy instant local control and offline reliability—no cloud dependency required. Unlike standard Home Assistant setups that charge for external connections, iSG Box SE includes free lifetime remote access via the LinknLink App. Save $65\/year on subscriptions while ensuring your smart home stays fast, private, and secure.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/174606585.jpg?v=1772800319',\n                    title:'Smart Home Automation via WhatsApp \u0026 Telegram',\n                    text:[\n                        'Skip the manual setup.The LinknLink AI Agent learns your daily routines to automatically optimize security, care, and energy efficiency. Control your entire smart home simply by sending text or voice messages on WhatsApp or Telegram. Experience effortless, chat-based home automation today.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/web.jpg?v=1773036477',\n                    title:'Powerful Home Assistant The Ultimate Brain Behind Your Smart Home',\n                    text:[\n                        'Power your home with the world’s most trusted smart platform. Featuring 2,500+ brand integrations, full local control, and Matter support, this pro-grade setup comes pre-installed with HACS. Now enhanced with native media streaming and advanced video processing for the ultimate smart home experience.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/08-__s.jpg?v=1772800320',\n                    title:'iSG Web Interface',\n                    text:[\n                        'Like Home Assistant but Easy for Everyone.Access your smart home from any browser — no app needed.With the new iSG web console, monitor and control devices anytime on your phone or laptop. Its clean, intuitive interface makes smart home management easy for everyone.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/10-USB.jpg?v=1773036600',\n                    title:'Seamless Plug-and-Play with Zigbee \u0026 Z-Wave Sticks - Versatile and Effortless',\n                    text:[\n                        'Just plug in any compatible stick - the iSG auto-detects and configures instantly. No setup, no hassle. *Supports all sticks with CP210x or CH340\/341 chips.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/12.jpg?v=1773036600',\n                    title:'Local First Fast, Reliable, and Secure',\n                    text:[\n                        'With iSG\\‘s Local First architecture, your smart home runs instantly and reliably, even offline. Lights, motion sensors, and climate controls respond in real time, with no cloud delays. Keeping data in your home network also boosts privacy and security, so your smart home is always on - always under your control.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/11159082.jpg?v=1772800319',\n                    title:'8K Home Cinema Hub \u0026 Smart Streaming',\n                    text:[\n                        'Experience cinema-quality 8K video and ultra-HD playback from USB, SD, YouTube, and Netflix. Enjoy lossless, high-definition audio\/video output via HDMI to your home cinema. Plus, seamlessly control all your streaming media and music within Home Assistant.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/174606692.jpg?v=1772800319',\n                    title:'Worry-Free Auto-Backups',\n                    text:[\n                        'Never lose your custom setup. iSG automatically saves all your devices, settings, and automation rules. Your full configuration is securely stored locally or on your Google Drive.',\n                    ]\n                },\n                {\n                    image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/11159083.jpg?v=1772800320',\n                    title:'Digital Signage Built-In: Smarter Displays',\n                    text:[\n                        'Use iSG as an all-in-one signage solution for ads, menus, or announcements. No extra hardware needed. Easily manage displays and schedule content remotely for a sleek, modern brand boost.',\n                    ]\n                }\n            ],\n            bottomImage:'',\n            middleImage:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/he_1_1.jpg?v=1773038646',\n            middleImage1:'',\n            setUp:{\n                title:'Easy Pairing TV models',\n                steps:[\n                    {\n                        image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/he.jpg?v=1773027785',\n                        title:'Choose TV Brand',\n                        text:'Choose your TV brand from BroadLink official cloud database.'\n                    }, {\n                        image:'',\n                        title:'AI Recommendation',\n                        text:'BroadLink automatic recommendation system will match the best option for you.'\n                    }, {\n                        image:'',\n                        title:'Remote Test',\n                        text:'Remote can be tested for each signal button.'\n                    }\n                ]\n            },\n            tableData: [\n                {\n                    title: 'Product',\n                    text: 'iSG Box SE'\n                },{\n                    title: 'Model',\n                    text: 'H96Max M1Plus'\n                },{\n                    title: 'Display',\n                    text: '10-inch 1280x800 Touch Screen'\n                },{\n                    title: 'Power Supply',\n                    text: '5V DC 2A(plug type available: US\/EU\/UK\/AU)'\n                },{\n                    title: 'External Storage',\n                    text: 'Support USB Disk'\n                },{\n                    title: 'Communication',\n                    text: ' Wi-Fi 802.11b\/g\/n\/ax (2.4\/5GHz) Bluetooth 5.4'\n                },{\n                    title: 'App',\n                    text: ' LinknLink App (iOS 11 \/ Android™ 5.1 and above)'\n                },{\n                    title: 'Remote Control',\n                    text: ' Bluetooth Remote with Google Voice Control'\n                },{\n                    title: 'Memory',\n                    text: '4GB'\n                },{\n                    title: 'Internal Storage',\n                    text: ' 64GB'\n                },{\n                    title: 'FCC ID',\n                    text: '52A35W-H96MAXM1PLUS'\n                },{\n                    title: 'Product Size',\n                    text: '96x96x20.6mm'\n                },{\n                    title: 'Package Size',\n                    text: '167.5x101x52mm'\n                },{\n                    title: 'Working Conditions',\n                    text: '0~50℃ \/ ≤85%RH'\n                }\n            ],\n            lastWord: ''\n        };\n        {\/*此行以下不要动*\/}\n        \/\/ rem适配\n        if((navigator.userAgent.match(\/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|wOSBrowser|BrowserNG|WebOS)\/i))) {\n            if (document.documentElement.clientWidth === 320 || document.documentElement.clientWidth === 375|| document.documentElement.clientWidth === 414|| document.documentElement.clientWidth === 411|| document.documentElement.clientWidth === 360) {\n                var productDetailsEle = document.getElementById(\"productDetails\");\n                productDetailsEle.classList.add(\"productDetailsMobile\");\n            }\n        }\n        var headerVeLinkEle = document.getElementById(\"headerVeLink\");\n        if (resources.headerVeLink !== '') {\n            headerVeLinkEle.src = resources.headerVeLink;\n        } else {\n            headerVeLinkEle.classList.add('headerVeLinkHide');\n        }\n        var headerImageEle = document.getElementById(\"headerImage\");\n        if (resources.headerImage !== '') {\n            headerImageEle.src = resources.headerImage;\n        } else {\n            headerImageEle.classList.add('headerImageHide');\n        }\n        var describeBoxEle=document.getElementById(\"describeBox\");\n\n        var insertElement = document.createElement(\"h3\");\n        insertElement.innerText=resources.introduction.title;\n        describeBoxEle.appendChild(insertElement);\n\n        insertElement = document.createElement(\"p\");\n        insertElement.innerText=resources.introduction.text;\n        describeBoxEle.appendChild(insertElement);\n\n        insertElement = document.createElement(\"div\");\n        insertElement.id = \"insertElementId\";\n        insertElement.classList.add(\"paragraphBox\");\n        for (var i = 0; i \u003c resources.introduction.paragraph.length; i++) {\n            var eleDiv = document.createElement(\"div\");\n            eleDiv.id = \"eleDivid\";\n            eleDiv.classList.add('paragraphDiv');\n            eleDiv.innerHTML = '\u003cp\u003e•\u003cdiv style=\"width: 5px;\"\u003e\u003c\/div\u003e\u003c\/p\u003e\u003cp\u003e'+resources.introduction.paragraph[i]+'\u003c\/p\u003e';\n            insertElement.appendChild(eleDiv);\n        }\n        describeBoxEle.appendChild(insertElement);\n\n        var scenesBoxEle=document.getElementById(\"scenesBox\");\n        for (var i = 0; i \u003c resources.scenes.length; i++) {\n            var scene = resources.scenes[i];\n            var liEle = document.createElement(\"li\");\n            liEle.id=\"liEleId\";\n            liEle.key='scenes'+i;\n            liEle.classList.add(\"scenesShowItem\");\n\n            var imgEle = document.createElement(\"img\");\n            imgEle.src = scene.image;\n            liEle.appendChild(imgEle);\n\n            var h3Ele = document.createElement(\"h3\");\n            h3Ele.id = \"h3EleId\";\n            h3Ele.innerText = scene.title;\n            liEle.appendChild(h3Ele);\n\n            var pEle = document.createElement(\"p\");\n            pEle.id = \"scenesBoxPEleId\";\n            pEle.innerHTML = '\u003cp\u003e'+scene.text[0]+'\u003c\/p\u003e';\n            liEle.appendChild(pEle);\n            scenesBoxEle.appendChild(liEle);\n        }\n        \/\/ 底部的图\n        var middleImageEle = document.getElementById(\"middleImage\");\n        if (resources.middleImage) {\n            middleImageEle.src = resources.middleImage;\n        } else {\n            middleImageEle.classList.add('bottomImageHide');\n        }\n        \/\/ 底部的图1\n        var middleImageEle1 = document.getElementById(\"middleImage1\");\n        if (resources.middleImage1) {\n            middleImageEle1.src = resources.middleImage1;\n        } else {\n            middleImageEle1.classList.add('bottomImageHide');\n        }\n        for (var i = 0; i \u003c resources.tableData.length; i++) {\n            var tbodyid = document.getElementById(\"tbodyid\");\n            var tableTrEle = document.createElement(\"tr\");\n            var trItem = resources.tableData[i];\n\n            var tdFirst = document.createElement(\"td\");\n            tdFirst.innerText = trItem.title;\n            tableTrEle.appendChild(tdFirst);\n\n            var tdSecond = document.createElement(\"td\");\n            tdSecond.innerText = trItem.text;\n            tableTrEle.appendChild(tdSecond);\n            tbodyid.appendChild(tableTrEle);\n        }\n        var lastWordEle = document.getElementById(\"lastWord\");\n        lastWordEle.innerText = resources.lastWord;\n        document.getElementById('submitButton').addEventListener('click', function(event) {\n          window.scrollTo(0, document.body.scrollHeight);\n        });\n    \u003c\/script\u003e\n\u003c!-- linknlink-speed-cache-refresh-2026-04-22 --\u003e","brand":"LinknLink","offers":[{"title":"iSG Box SE Only \/ UK","offer_id":45693366861980,"sku":null,"price":99.99,"currency_code":"USD","in_stock":false},{"title":"iSG Box SE Only \/ US","offer_id":45693366894748,"sku":null,"price":99.99,"currency_code":"USD","in_stock":true},{"title":"iSG Box SE Only \/ EU","offer_id":45693366927516,"sku":null,"price":99.99,"currency_code":"USD","in_stock":true},{"title":"iSG Box SE Only \/ AU","offer_id":45693366960284,"sku":null,"price":99.99,"currency_code":"USD","in_stock":true},{"title":"iSG Box SE Zigbee Bundle \/ UK","offer_id":45693366993052,"sku":null,"price":114.99,"currency_code":"USD","in_stock":false},{"title":"iSG Box SE Zigbee Bundle \/ US","offer_id":45693367025820,"sku":null,"price":114.99,"currency_code":"USD","in_stock":true},{"title":"iSG Box SE Zigbee Bundle \/ EU","offer_id":45693367058588,"sku":null,"price":114.99,"currency_code":"USD","in_stock":true},{"title":"iSG Box SE Zigbee Bundle \/ AU","offer_id":45693367091356,"sku":null,"price":114.99,"currency_code":"USD","in_stock":true},{"title":"HomeClaw Box Only \/ UK","offer_id":46547579601052,"sku":null,"price":99.9,"currency_code":"USD","in_stock":false},{"title":"HomeClaw Box Only \/ US","offer_id":46547579633820,"sku":null,"price":99.9,"currency_code":"USD","in_stock":false},{"title":"HomeClaw Box Only \/ EU","offer_id":46547579666588,"sku":null,"price":99.9,"currency_code":"USD","in_stock":false},{"title":"HomeClaw Box Only \/ AU","offer_id":46547579699356,"sku":null,"price":99.9,"currency_code":"USD","in_stock":false},{"title":"HomeClaw Box Zigbee Bundle \/ UK","offer_id":46547579732124,"sku":null,"price":114.99,"currency_code":"USD","in_stock":false},{"title":"HomeClaw Box Zigbee Bundle \/ US","offer_id":46547579764892,"sku":null,"price":114.99,"currency_code":"USD","in_stock":false},{"title":"HomeClaw Box Zigbee Bundle \/ EU","offer_id":46547579797660,"sku":null,"price":114.99,"currency_code":"USD","in_stock":false},{"title":"HomeClaw Box Zigbee Bundle \/ AU","offer_id":46547579830428,"sku":null,"price":114.99,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/1_612906aa-60e5-4f6e-bc73-c6e003151dfa.jpg?v=1776406375"},{"product_id":"linknlink-zg-808z-zigbee-3-0-usb-dongle-home-assistant","title":"LinknLink ZG-808Z Zigbee 3.0 USB Dongle","description":"\u003cp\u003eThe LinknLink ZG-808Z Zigbee 3.0 USB Dongle is a powerful device designed to provide seamless Zigbee 3.0 connectivity for Home Assistant users. Featuring a standard USB-A interface, it integrates a high-performance TI CC2652P1 radio, ensuring reliable communication across a wide range of Zigbee-based smart home products. Its compact design conserves USB port space on your Home Assistant gateway, eliminating the need for additional USB extensions.\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/ZG-808Z-1.jpg?v=1765183891\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/ZG-808Z-2.jpg?v=1765183912\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/ZG-808Z-3.jpg?v=1765183913\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/ZG-808Z-5.jpg?v=1765183913\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/ZG-808Z-7.jpg?v=1765183914\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/ZG-808Z-6.jpg?v=1765183914\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/ZG-808Z-4.jpg?v=1765183914\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/ZG-808Z-8_d0966b51-1013-46fa-9bbc-7c74e93da126.jpg?v=1765183915\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ctable class=\"MsoTableGrid\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"652\" style=\"width: 488.8pt; border-collapse: collapse; border: none; height: 140px;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd width=\"139\" style=\"width: 104pt; border: 1pt solid rgb(166, 166, 166); background: rgb(127, 127, 127); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cb\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003eSKU No.\u003c\/span\u003e\u003c\/b\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"198\" style=\"width: 148.55pt; border-top: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); border-bottom: 1pt solid rgb(166, 166, 166); border-image: initial; border-left: none; padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: #595959; mso-themecolor: text1; mso-themetint: 166;\"\u003eZG-808Z\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"140\" style=\"width: 105.25pt; border-top: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); border-bottom: 1pt solid rgb(166, 166, 166); border-image: initial; border-left: none; background: rgb(127, 127, 127); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cb\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003eMax Distance\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"175\" style=\"width: 131pt; border-top: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); border-bottom: 1pt solid rgb(166, 166, 166); border-image: initial; border-left: none; padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: #595959; mso-themecolor: text1; mso-themetint: 166;\"\u003e450m (LOS)\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd width=\"139\" style=\"width: 104pt; border-right: 1pt solid rgb(166, 166, 166); border-bottom: 1pt solid rgb(166, 166, 166); border-left: 1pt solid rgb(166, 166, 166); border-image: initial; border-top: none; background: rgb(127, 127, 127); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cb\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003eDimensions\u003c\/span\u003e\u003c\/b\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"198\" style=\"width: 148.55pt; border-top: none; border-left: none; border-bottom: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: #595959; mso-themecolor: text1; mso-themetint: 166;\"\u003e72.2x24.23x10.95 mm\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"140\" style=\"width: 105.25pt; border-top: none; border-left: none; border-bottom: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); background: rgb(127, 127, 127); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cb\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003eMax Radio Power\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"175\" style=\"width: 131pt; border-top: none; border-left: none; border-bottom: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: #595959; mso-themecolor: text1; mso-themetint: 166;\"\u003e20 dBm\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd width=\"139\" style=\"width: 104pt; border-right: 1pt solid rgb(166, 166, 166); border-bottom: 1pt solid rgb(166, 166, 166); border-left: 1pt solid rgb(166, 166, 166); border-image: initial; border-top: none; background: rgb(127, 127, 127); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cb\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003eInterface\u003c\/span\u003e\u003c\/b\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"198\" style=\"width: 148.55pt; border-top: none; border-left: none; border-bottom: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: #595959; mso-themecolor: text1; mso-themetint: 166;\"\u003eUSB-A 2.0 (CH340C)\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"140\" style=\"width: 105.25pt; border-top: none; border-left: none; border-bottom: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); background: rgb(127, 127, 127); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cb\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003eMax Data Speed\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"175\" style=\"width: 131pt; border-top: none; border-left: none; border-bottom: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: #595959; mso-themecolor: text1; mso-themetint: 166;\"\u003e250kbps\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd width=\"139\" style=\"width: 104pt; border-right: 1pt solid rgb(166, 166, 166); border-bottom: 1pt solid rgb(166, 166, 166); border-left: 1pt solid rgb(166, 166, 166); border-image: initial; border-top: none; background: rgb(127, 127, 127); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cb\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003eZigbee Radio\u003c\/span\u003e\u003c\/b\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"198\" style=\"width: 148.55pt; border-top: none; border-left: none; border-bottom: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: #595959; mso-themecolor: text1; mso-themetint: 166;\"\u003eTI CC2652P1\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"140\" style=\"width: 105.25pt; border-top: none; border-left: none; border-bottom: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); background: rgb(127, 127, 127); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cb\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003eMax Connections\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"175\" style=\"width: 131pt; border-top: none; border-left: none; border-bottom: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: #595959; mso-themecolor: text1; mso-themetint: 166;\"\u003e128\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 40px;\"\u003e\n\u003ctd width=\"139\" style=\"width: 104pt; border-right: 1pt solid rgb(166, 166, 166); border-bottom: 1pt solid rgb(166, 166, 166); border-left: 1pt solid rgb(166, 166, 166); border-image: initial; border-top: none; background: rgb(127, 127, 127); padding: 0cm 5.4pt; height: 40px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cb\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003eZigbee Protocol\u003c\/span\u003e\u003c\/b\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"198\" style=\"width: 148.55pt; border-top: none; border-left: none; border-bottom: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); padding: 0cm 5.4pt; height: 40px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: #595959; mso-themecolor: text1; mso-themetint: 166;\"\u003eZigbee 3.0\u003cbr\u003eThread\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"140\" style=\"width: 105.25pt; border-top: none; border-left: none; border-bottom: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); background: rgb(127, 127, 127); padding: 0cm 5.4pt; height: 40px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cb\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003ePackaging\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"175\" style=\"width: 131pt; border-top: none; border-left: none; border-bottom: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); padding: 0cm 5.4pt; height: 40px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: #595959; mso-themecolor: text1; mso-themetint: 166;\"\u003eCarton Box\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd width=\"139\" style=\"width: 104pt; border-right: 1pt solid rgb(166, 166, 166); border-bottom: 1pt solid rgb(166, 166, 166); border-left: 1pt solid rgb(166, 166, 166); border-image: initial; border-top: none; background: rgb(127, 127, 127); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cb\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003eRadio Frequency\u003c\/span\u003e\u003c\/b\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"198\" style=\"width: 148.55pt; border-top: none; border-left: none; border-bottom: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: #595959; mso-themecolor: text1; mso-themetint: 166;\"\u003e2400 ~ 2480 MHz\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"140\" style=\"width: 105.25pt; border-top: none; border-left: none; border-bottom: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); background: rgb(127, 127, 127); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cb\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003eCertifications\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: white; mso-themecolor: background1;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"175\" style=\"width: 131pt; border-top: none; border-left: none; border-bottom: 1pt solid rgb(166, 166, 166); border-right: 1pt solid rgb(166, 166, 166); padding: 0cm 5.4pt; height: 20px;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify; text-justify: inter-ideograph; line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Raleway; color: #595959; mso-themecolor: text1; mso-themetint: 166;\"\u003eFCC, CE, EAC, ROHS\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e","brand":"LinknLink","offers":[{"title":"Default Title","offer_id":45721987842204,"sku":null,"price":16.9,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/ZG-808Z-1.jpg?v=1776406413"},{"product_id":"linknlink-emotion-air","title":"LinknLink eMotion Air: Battery-Powered mmWave Presence Multi-Sensor","description":"\u003cp\u003e\u003ciframe title=\"YouTube video player\" src=\"https:\/\/www.youtube.com\/embed\/HfzpY8ReMcg?si=hciqmUmS7tbaZOct\" width=\"560\" height=\"315\"\u003e\u003c\/iframe\u003e\u003c\/p\u003e\n\u003cp\u003eBattery Power | mmWave Radar | Light Sensor | Temperature and Humidity | Smart Button | Bluetooth, Zigbee | Magnetic Mounting | Home Assistant\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/Compare.png?v=1774246456\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch2 id=\"h:Core-Features-of-eMotion-Air\" class=\"page-anchor\"\u003e\u003cspan class=\"bold\"\u003eCore Features of eMotion Air\u003c\/span\u003e\u003c\/h2\u003e\n\u003cp\u003e\u003cspan class=\"bold\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/943\/a184728b15e5a921a87161ed7b5805db_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=100\u0026amp;v=1767951883\u0026amp;width=680\u0026amp;sig=dab48ZJQdFB9Z0gN9eacEP%2FxYdmTtFHe4cGDLos7uvg%3D\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/03_2ec77782-33ea-49d5-8750-da6cc4c07d89.jpg?v=1774423157\" alt=\"\"\u003e\u003cimg\u003e\u003c\/p\u003e\n\u003cp\u003eSkip $100 sensor setups. This 4-in-1 (mmWave, light, temp, button) starts at just \u003cstrong data-path-to-node=\"9\" data-index-in-node=\"82\"\u003e$14.99 \u003c\/strong\u003eless than a meal. Don’t miss your chance for smarter living!\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/583\/efa9ceda16f24c346d91df7a137575c4_original.gif?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1767949061\u0026amp;width=680\u0026amp;sig=%2BDuxo7SZVg%2BLxcCB1pUAj7fw0svmBl6l1AdThkMyj7I%3D\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/637\/47a20e3970a71c615dfca280310c843c_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=100\u0026amp;v=1767949542\u0026amp;width=680\u0026amp;sig=UmiComHC0yr1OnOcY4THoZZI4MmJ8hchrcMggjkVrro%3D\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/578\/2dbc9195a1d80a1c79876697d29c2df3_original.jpg?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1767948998\u0026amp;width=680\u0026amp;sig=It9%2BeVViX0Vu66stbFp%2FjWO1dgj2U0xWyzss2lr9kwM%3D\"\u003e\u003c\/p\u003e\n\u003cp\u003eInstall anywhere and maintain with ease. eMotion Air uses 3xAAA batteries for a 1.5-year lifespan. Enjoy fast, accurate 24G radar detection with industry-leading efficiency.\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/640\/bf92a5aaae56109f23ea56b09eddf2f3_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=100\u0026amp;v=1767949560\u0026amp;width=680\u0026amp;sig=2OBbrOmnW4FPnYfzb5xsQSVL8oOqmCajhK%2F9EHyss9Q%3D\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/586\/4ab001775e90ffa53e7c0dd6f1995202_original.gif?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1767949092\u0026amp;width=680\u0026amp;sig=4pX0dZIu805Os36aMXYuiV4rNtD8EbRAfiRzPHmNbr4%3D\"\u003e\u003c\/p\u003e\n\u003cp\u003eUltra-thin and versatile, eMotion Air supports magnetic, adhesive, or screw mounting. For maximum coverage, use the 90° corner bracket for neat corner mounting or as a tabletop stand.\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/164\/037\/fd3376f2943b07b993e9488aa77e1977_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=100\u0026amp;v=1767952665\u0026amp;width=680\u0026amp;sig=m1EtwZoNkYbipPR1RV7sBkpo%2FUK4j7UA%2B1RyUGq1Oc0%3D\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/015\/029\/2feaa0e2921f4147e2cb836a054f3bcd_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1766373349\u0026amp;width=1920\u0026amp;sig=Se1oToHJ9HLMC2pEhgZj%2FwHmPM2I%2Fah2WRn2Y5qjyl0%3D\"\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,0,0\"\u003e\u003cstrong data-path-to-node=\"9,0,0\" data-index-in-node=\"0\"\u003eDual Connectivity:\u003c\/strong\u003e Use Bluetooth for instant phone setup or Zigbee 3.0 for broad hub compatibility and faster response.\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003e\u003cstrong data-path-to-node=\"9,1,0\" data-index-in-node=\"0\"\u003eEasy Switching:\u003c\/strong\u003e No need to choose — simply long-press the button to switch between modes anytime.\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/951\/5cc5a0a842f48150792f150bfbd3eb52_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=100\u0026amp;v=1767951932\u0026amp;width=680\u0026amp;sig=wgbTP9ELeJJETYvqfPn5EECyg25Xg%2F2y7Yxtep7JXd8%3D\"\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/015\/043\/84936cd6558af8487f9b089f08d0c668_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1766373489\u0026amp;width=1940\u0026amp;sig=Nby7Y1Sqs%2B1E7DNZ9nMZaZyBk%2B%2B46%2FhugCZvHl%2Bjkqs%3D\"\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003eUpgrade from PIR to precision. eMotion Air’s mmWave sensor detects micro-movements others miss. Sit still on the sofa - your lights stay on.\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/953\/0eeeee3c8d23ecb53b247eee800abc52_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=100\u0026amp;v=1767951954\u0026amp;width=680\u0026amp;sig=5pDvCoOXsywohYDTt4edf51drmhcKlvpWV6zmE8ITdk%3D\"\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/015\/049\/e24adacc5db63c0d7c82716728bb68a1_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1766373572\u0026amp;width=1940\u0026amp;sig=Nu35h9v15ukD%2FOXn8w2sD6s%2BlRrLx36vMi3PeymCnkg%3D\"\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003eeMotion Air monitors temp, humidity, and light to automate your climate and lighting for zero-effort comfort. Let your home adjust itself to your perfect settings.\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/954\/e4a1c4740a9319d5d414676438bc7e7f_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=100\u0026amp;v=1767951959\u0026amp;width=680\u0026amp;sig=4uh0U286%2F2F5uKg6E4lw98TJpyuqnwY%2Fe8Khd0SWAD8%3D\"\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/015\/054\/e456f094cceabd288276c1ad5cf7d018_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1766373653\u0026amp;width=1940\u0026amp;sig=v8xfcqk3Ys2bHZaP423AO6mSPu%2BpGotj8nw%2F%2BqzDABM%3D\"\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003eSkip the app - just click! eMotion Air’s lower half is a tactile smart button supporting single, double, and long-press actions for Alexa or Home Assistant. Use our included stickers to label your favorite scenes and enjoy simple, physical control.\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/955\/fba28f1538d8e5fc5c842bb3fb798885_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=100\u0026amp;v=1767951964\u0026amp;width=680\u0026amp;sig=6V4HtNjRXnfqM7VatrOULrzhXKmbpjRAQUlpvzuE3j0%3D\"\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/015\/073\/6353cef6b2fa33d32c0615acde0493ed_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1766373769\u0026amp;width=1940\u0026amp;sig=OsMLqN8v6fum%2Fujjhebys96VudAvP0ob6NzVmzwWNts%3D\"\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003eConnect eMotion Air to Alexa or Google Home for voice status checks and presence-based triggers. Note: Due to platform limits, temp\/humidity-based automations are currently unsupported.\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/956\/f9b9e1adb5a6803eb48a65ff710f3b6b_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=100\u0026amp;v=1767951970\u0026amp;width=680\u0026amp;sig=f2P61BFP58ELpfiFnpnDhgSJ1QTf%2B4%2FjfOFgueLwMPw%3D\"\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/015\/086\/c4a9a0d285e9d25732816a08f4a05c7d_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1766373967\u0026amp;width=1940\u0026amp;sig=4lO%2BTVoNmvVjxJGvU2IUMLAavk6PG54jFBaE4RrTGo0%3D\"\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003e\u003cstrong data-path-to-node=\"8\" data-index-in-node=\"0\"\u003ePro-level HA Integration:\u003c\/strong\u003e Get full access to presence, climate, light, and button entities in Home Assistant. Enjoy \u003cstrong data-path-to-node=\"8\" data-index-in-node=\"116\"\u003e100% local control\u003c\/strong\u003e for faster, more secure, and infinitely more powerful automations than cloud platforms.\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/957\/3c1970bff036cf276353fc4f37793c8c_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=100\u0026amp;v=1767951975\u0026amp;width=680\u0026amp;sig=qcQ9BKfoP9ZCRdeT1oA%2FLmaWzb1ErqJ3fVRk7sdPaWI%3D\"\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/015\/127\/d899a8a435db6ed5fd0d97232a206ebb_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1766374383\u0026amp;width=1940\u0026amp;sig=o9%2Fwi9xW04v1Gjq1xtpG0Xehpjh4FZAAdg3VEo2uRtc%3D\"\u003e\u003c\/p\u003e\n\u003cp data-path-to-node=\"9,1,0\"\u003ePrivacy first: all sensor data stays on your phone, not the cloud, for faster and secure access. Easily back up or export your history to CSV anytime.\u003c\/p\u003e\n\u003ch2 id=\"h:Recommended-Scenarios\" class=\"page-anchor\"\u003e\u003cspan class=\"bold\"\u003eRecommended Scenarios\u003c\/span\u003e\u003c\/h2\u003e\n\u003ch4 id=\"h:Movie-Scene-Button-Pressing-Triggers\" class=\"page-anchor\"\u003eMovie Scene: Button Pressing Triggers\u003c\/h4\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/619\/418385109df18a57eb9bb5e9da82a171_original.gif?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1767949394\u0026amp;width=680\u0026amp;sig=w1T%2FWvXhBag2vS93KAIoEYrnlmWhqG8ibhDGhUF8CH8%3D\"\u003e\u003c\/p\u003e\n\u003ch4 id=\"h:Energy-Saving-Presence-Triggers\" class=\"page-anchor\"\u003eEnergy Saving: Presence Triggers\u003c\/h4\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/593\/75d9cb43987fa8471f1228a836ba7249_original.gif?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1767949201\u0026amp;width=680\u0026amp;sig=kXiPz5A%2BnZZZJDN9p%2BOOO5Eaqjs%2BQ3kVtq8WXJld02Y%3D\"\u003e\u003c\/p\u003e\n\u003ch4 id=\"h:Food-Storage-Temperature-and-Humidity-Monitoring\" class=\"page-anchor\"\u003eFood Storage: Temperature and Humidity Monitoring\u003c\/h4\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/599\/27dacb38213f7be1f39dea3d8449fa1a_original.gif?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1767949251\u0026amp;width=680\u0026amp;sig=lFBKou%2FY4p%2FheAMUk0QvzjoFr0gZIiaPwAnhag%2FiAFw%3D\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/600\/8889df1471b73a71ffae1ed5e107aa82_original.gif?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1767949259\u0026amp;width=680\u0026amp;sig=sB7nwtDpOmeX%2FTLHZSeD9JxjnTMGD2xB6d9PD%2FRpAHI%3D\"\u003e\u003c\/p\u003e\n\u003ch2 id=\"h:Product-Specifications\" class=\"page-anchor\"\u003e\u003cspan class=\"bold\"\u003eProduct Specifications\u003c\/span\u003e\u003c\/h2\u003e\n\u003ch4 id=\"h:Explosive-View\" class=\"page-anchor\"\u003e\u003cspan class=\"bold\"\u003eExplosive View\u003c\/span\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cspan class=\"bold\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/608\/ca8e87ced340f301969ad34c7b5a2c7e_original.gif?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1767949301\u0026amp;width=680\u0026amp;sig=w0LyArEcFLoZKin0yuHGUr7fvUwMo8vwkiODefR04cY%3D\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ch4 id=\"h:Specifications\" class=\"page-anchor\"\u003e\u003cspan class=\"bold\"\u003eSpecifications\u003c\/span\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cspan class=\"bold\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/851\/f3d186e675dd532c6be4ae349bdb2110_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=100\u0026amp;v=1767951248\u0026amp;width=680\u0026amp;sig=oPSaTo%2BA5hgRQy2692o5Q31yFFXtnyFClF6UQ%2FpAmVk%3D\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ch4 id=\"h:How-to-Install-Batteries\" class=\"page-anchor\"\u003e\u003cspan class=\"bold\"\u003eHow to Install Batteries\u003c\/span\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cspan class=\"bold\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/617\/d4537d8e2341be3920a863f174d1f732_original.gif?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1767949374\u0026amp;width=680\u0026amp;sig=PzTTQh5JhlW7vBkSE7tZZw6A%2FA2j17ZYiIWGih31grk%3D\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ch4 id=\"h:Packing-List\" class=\"page-anchor\"\u003e\u003cspan class=\"bold\"\u003ePacking List\u003c\/span\u003e\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003eeMotion Air Basic\/Plus x1\u003c\/li\u003e\n\u003cli\u003eWall-mounting bracket x1\u003c\/li\u003e\n\u003cli\u003eLuminous sticker x1 \u003c\/li\u003e\n\u003cli\u003eNano Tape x1\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2 id=\"h:Compare-Competitors\" class=\"page-anchor\"\u003e\u003cspan class=\"bold\"\u003eCompare Competitors\u003c\/span\u003e\u003c\/h2\u003e\n\u003cp\u003eAre you still unsure which smart home hub to buy? No need to search everywhere -we’ve compiled a complete comparison of all the specifications you’re looking for.\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/163\/622\/a1f35648eec10b44a014fcb682ecb9c7_original.png?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=100\u0026amp;v=1767949413\u0026amp;width=680\u0026amp;sig=u1TSRtthTiWAhd0u4Qa4Vy8xpKJeZYj9QDAuhSg1614%3D\"\u003e\u003c\/p\u003e\n\u003ch2 id=\"h:Proven-Professional-mmWave-Presence-Sensor-Supplier\" class=\"page-anchor\"\u003e\u003cspan class=\"bold\"\u003eProven Professional mmWave Presence Sensor Supplier\u003c\/span\u003e\u003c\/h2\u003e\n\u003cp\u003eAs a truly innovative smart home solution provider, \u003cspan class=\"bold\"\u003eLinknLink has taken a different path from day one\u003c\/span\u003e. Unlike traditional smart home companies, we focus exclusively on two core product categories: \u003cspan class=\"bold\"\u003esmart gateways\u003c\/span\u003e and \u003cspan class=\"bold\"\u003epresence sensors\u003c\/span\u003e.\u003c\/p\u003e\n\u003cp\u003eFrom the very beginning, we moved away from conventional PIR technology. Over the past three years, we have successfully developed multiple generations of our \u003cspan class=\"bold\"\u003eeMotion\u003c\/span\u003e product line — starting with the \u003cspan class=\"bold\"\u003efirst-generation 5.8 GHz eMotion\u003c\/span\u003e, followed by the \u003cspan class=\"bold\"\u003e24 GHz eMotion Pro\u003c\/span\u003e, and advancing to our high-end \u003cspan class=\"bold\"\u003e60 GHz eMotion Max and eMotion Ultra\u003c\/span\u003e. These products have received \u003cspan class=\"bold\"\u003ebroad recognition and positive feedback from the market\u003c\/span\u003e.\u003c\/p\u003e\n\u003cp\u003eThe technology and expertise we have accumulated in \u003cspan class=\"bold\"\u003emmWave presence sensing\u003c\/span\u003e are \u003cspan class=\"bold\"\u003eproven, reliable, and truly differentiated\u003c\/span\u003e. You can trust not only our technical foundation, but also the strong validation from real-world users and numerous smart home influencers who have reviewed and recommended our products.\u003c\/p\u003e\n\u003ch2 id=\"h:Influencer-Recommended\" class=\"page-anchor\"\u003e\u003cspan class=\"bold\"\u003eInfluencer Recommended\u003c\/span\u003e\u003c\/h2\u003e\n\u003cp\u003e\u003cspan class=\"bold\"\u003e\u003cimg src=\"https:\/\/i.kickstarter.com\/assets\/052\/016\/317\/5b2499e049bd449307af71e895f715c9_original.jpg?fit=scale-down\u0026amp;origin=ugc\u0026amp;q=92\u0026amp;v=1766389521\u0026amp;width=680\u0026amp;sig=vjHIdXGDuJAe2ijBxvA6jShLsQA10n4lZcCblS%2BwEcg%3D\"\u003e\u003c\/span\u003e\u003c\/p\u003e","brand":"LinknLink","offers":[{"title":"eMotion Air Basic","offer_id":46567498547356,"sku":"EMOTIONAIRBASIC","price":14.99,"currency_code":"USD","in_stock":true},{"title":"eMotion Air Basic (3-Pack)","offer_id":46567499268252,"sku":"EMOTIONAIRBASIC-3P","price":39.99,"currency_code":"USD","in_stock":true},{"title":"eMotion Air Basic (10-Pack)","offer_id":46567592788124,"sku":"EMOTIONAIRBASIC-10P","price":129.99,"currency_code":"USD","in_stock":true},{"title":"eMotion Air Plus","offer_id":46567673888924,"sku":null,"price":16.99,"currency_code":"USD","in_stock":true},{"title":"eMotion Air Plus (3-Pack)","offer_id":46567678902428,"sku":null,"price":46.99,"currency_code":"USD","in_stock":true},{"title":"eMotion Air Plus (10-Pack)","offer_id":46567680671900,"sku":null,"price":149.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/files\/eMotion-Air-PreSale-1P.jpg?v=1776406421"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0620\/4496\/2972\/collections\/shopify-_y_9ce98961-0676-4429-9534-9fd5c25eb195.jpg?v=1776406220","url":"https:\/\/www.linknlink.com\/collections\/products-smart-home-solutions.oembed","provider":"LinknLink","version":"1.0","type":"link"}