{"id":305,"date":"2023-08-16T22:40:03","date_gmt":"2023-08-16T14:40:03","guid":{"rendered":"http:\/\/www.forillusion.com\/?page_id=305"},"modified":"2024-06-14T21:16:58","modified_gmt":"2024-06-14T13:16:58","slug":"remotecontrol","status":"publish","type":"page","link":"https:\/\/www.forillusion.com\/index.php\/tools\/remotecontrol\/","title":{"rendered":"\u9065\u63a7"},"content":{"rendered":"\n<!DOCTYPE html>\n<html>\n    <head>\n        <meta charset=\"UTF-8\">\n        <title>AIRCON<\/title>\n        <style type=\"text\/css\">   \n\t\t\tbody{ \n\t\t\t\tfont-size:20px;\n\t\t\t}  \n\n            table,tr,td,th{\n                font-size: 13px;\n                border:1px solid silver;\n                text-align: center;\n            }\n\n\n            .myButton {\n                box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.24);\n                transition: box-shadow 0.2s ease;\n                background: #fff;\n                color: #797979; \n                font-size: 18px;\n                text-overflow: ellipsis;\n                right: 0;\n                overflow: hidden;\n                width: 90px;\n                height: 30px;\n                border: 1px solid rgba(132, 132, 132, 0.4);\n                border-radius: 5px;\n                text-align: center;\n                cursor: pointer;\n                padding: 0;\n            }\n\n            .myButtonDark {\n                box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.24);\n                transition: box-shadow 0.2s ease;\n                background: #3DAEE9;\n                color: #BEBEBE; \n                font-size: 18px;\n                text-overflow: ellipsis;\n                right: 0;\n                overflow: hidden;\n                width: 90px;\n                height: 30px;\n                border: 1px solid rgba(255, 255, 255, 0.4);\n                border-radius: 5px;\n                text-align: center;\n                cursor: pointer;\n                padding: 0;\n            }\n\n            .mySelect{\n                box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.24);\n                transition: box-shadow 0.2s ease;\n                background: #fff;\n                color: #797979; \n                font-size: 18px;\n                text-overflow: ellipsis;\n                right: 0;\n                overflow: hidden;\n                width: 70px;\n                height: 30px;\n                border: 1px solid rgba(132, 132, 132, 0.4);\n                border-radius: 5px;\n                text-align: center;\n                cursor: pointer;\n            }\n\n            .mySelectDark{\n                box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.24);\n                transition: box-shadow 0.2s ease;\n                background: #3DAEE9;\n                color: #BEBEBE; \n                font-size: 18px;\n                text-overflow: ellipsis;\n                right: 0;\n                overflow: hidden;\n                width: 70px;\n                height: 30px;\n                border: 1px solid rgba(132, 132, 132, 0.4);\n                border-radius: 5px;\n                text-align: center;\n                cursor: pointer;\n            }\n\n\t\t<\/style>\n\n        <script src=\"https:\/\/forillusion-bucket.cdn.bcebos.com\/sakura\/js\/jquery.min.js\"><\/script>\n        <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/Chart.js\/2.8.0\/Chart.min.js\"> <\/script>\n\n        <script>\n            $(function () {\n                if (getCookie(\"dark\") == 1) setDark();\n                $.getScript(\"https:\/\/forillusion-bucket.cdn.bcebos.com\/sakura\/js\/mqtt.min.js\" , function(data){\n                    mqttConnect();\n                })\n            })\n\n            var IP='';\n            const connectUrl = 'wss:\/\/xfe5efc4.ala.cn-hangzhou.emqxsl.cn:8084\/mqtt';\n            var date=new Date();\n            const options = {\n                connectTimeout: 4000,\n                reconnectPeriod: 1000,\n                clientId: 'web-'+date.getTime().toString(16).substring(5),\n                username: 'Forillusion',\n                password: 'for5177508',\n                clean: true,\n            };\n\n            var client;\n            var defaultTopic;\n            var msg;\n            var time2;\n            const qos=0;\n\n            function getIPAddress() \n            {\n                return fetch(\"https:\/\/api.ipify.org?format=json\")      \n                    .then(response => response.json())      \n                        .then(data => {        \n                            options.clientId = options.clientIdHead+'-'+data.ip;\n                            options.clientId += '-' + Math.random().toString(16).substring(2, 6); \n                        })      \n                        .catch(error => {        \n                    console.log(\"Error:\", error);      \n                });  \n            }\n            \n\n            function mqttConnect() {    \n                client = mqtt.connect(connectUrl, options);\n\n                client.on('error', (error) => {\n                    console.log('\u8fde\u63a5\u5931\u8d25: ', error);\n                    client.end();\n                });\n\n                client.on('reconnect', () => {\n                    console.log('\u91cd\u8fde\u4e2d...');\n                });\n\n                client.on('connect', () => {\n                    console.log('\u8fde\u63a5\u6210\u529f:' + options.clientId);\n                });\n\n                client.on(\"close\", () => {\n                    console.log('\u5df2\u7ecf\u65ad\u5f00\u8fde\u63a5');\n                });\n\n                client.on('message', (topic, Msg) => {\n                    console.log('\u6536\u5230\u6d88\u606f\uff1a');\n                    console.log('  \u4e3b\u9898\uff1a', topic);\n                    console.log('  \u6d88\u606f\uff1a', Msg.toString());\n                    document.getElementById(\"msgReceive\").innerHTML = Msg.toString();\n                    msg=Msg.toString();\n                });\n\n                setDefaultTopic(\"aircon\");\n                subscribe();\n\n                askLastControl();\n            }\n\n            function setDefaultTopic(topic){   \/\/\u8bbe\u7f6e\u9ed8\u8ba4\u4e3b\u9898\n                defaultTopic = topic;\n            }\n\n            function subscribe(topic=defaultTopic){   \/\/\u8ba2\u9605\u4e3b\u9898\n                client.subscribe(topic, {qos} ,(error) => {\n                    if (error) {\n                        console.log('\u8ba2\u9605\u5931\u8d25\uff1a',error);\n                        return;\n                    }\n                    console.log('\u8ba2\u9605\u4e3b\u9898\uff1a', topic);\n                });\n            }\n\n            function unsubscribe(topic=defaultTopic){   \/\/\u53d6\u6d88\u8ba2\u9605\u4e3b\u9898\n                client.unsubscribe(topic, {qos}, (error) => {\n                    if (error) {\n                        console.log('\u53d6\u6d88\u8ba2\u9605\u5931\u8d25\uff1a', error);\n                        return;\n                    }\n                    console.log('\u53d6\u6d88\u8ba2\u9605\u4e3b\u9898\uff1a', topic);\n                });\n            }\n            \n            function publish(payload, topic=defaultTopic){   \/\/\u53d1\u5e03\u6d88\u606f\n                client.publish(topic, payload, { qos }, (error) => {\n                    if (error) {\n                        console.log('\u53d1\u5e03\u5931\u8d25\uff1a',error);\n                        document.getElementById(\"msgSend\").innerHTML = \"\u53d1\u9001\u5931\u8d25\uff1a\"+payload;\n                        return;\n                    }\n                    console.log('\u53d1\u5e03\u6210\u529f\uff1a');\n                    console.log('  \u4e3b\u9898\uff1a', topic);\n                    console.log('  \u6d88\u606f\uff1a', payload);\n                    document.getElementById(\"msgSend\").innerHTML = payload;\n                });\n            }\n\n            function disconnect()   \/\/\u65ad\u5f00\u8fde\u63a5\n            {\n                if (client.connected) {\n                    try {\n                        client.end(false, () => {\n                        console.log('\u65ad\u5f00\u8fde\u63a5')\n                        })\n                    } catch (error) {\n                        console.log('\u65ad\u5f00\u8fde\u63a5\u5931\u8d25:', error)\n                    }\n                }\n            }\n\n            function setDark() {\n                $(\".myButton\").removeClass(\"myButton\").addClass(\"myButtonDark\");\n                $(\".mySelect\").removeClass(\"mySelect\").addClass(\"mySelectDark\");\n            }\n\n            function getTime()\n            {\n                var date = new Date();\n                var month = date.getMonth()+1;\n\t\t\t\tmonth=month<10?\"0\"+month:month;\n\t\t\t\tvar day = date.getDate();\n\t\t\t\tday=day<10?\"0\"+day:day;\n\t\t\t\tvar week = date.getDay();\n\t\t\t\tvar hour = date.getHours();\n\t\t\t\thour= hour<10?\"0\"+ hour: hour;\n\t\t\t\tvar minute = date.getMinutes();\n\t\t\t\tminute=minute<10?\"0\"+minute:minute;\n\t\t\t\tvar second = date.getSeconds();\n\t\t\t\tsecond=second<10?\"0\"+second:second;\n\t\t\t\tvar result =\"\"+ month+day+hour+minute+second+\"\";\n                time2 = month+\"-\"+day+\" \"+hour+\":\"+minute+\":\"+second;\n                return result;\n            }\n\n\n            function ask()\n            {\n                var time=getTime();\n                var payload=time+\"state\";\n                publish(payload);\n                setTimeout(function () {\n                    if (msg==(time+\"online\")) console.log(\"esp8266\u5728\u7ebf\");\n                    else console.log(\"esp8266\u4e0d\u5728\u7ebf\");\n                }, 1000);\n            }\n\n            function openair()\n            {\n                var time=getTime();\n                var payload=time+\"on\"+\n                    document.getElementById('temp').value+\n                    document.getElementById('fan').value+\n                    document.getElementById('turbo').value+\n                    document.getElementById('mode').value+\n                    document.getElementById('autoTemp').value;\n                    \n                \/\/ var payload=time+\"on\";\n                publish(payload);\n                setTimeout(function () {\n                    if (msg==(time+\"okon\")) \n                    {\n                        console.log(\"\u6267\u884c\u6210\u529f\");\n                        var lastControl=time2+\" \";\n                        lastControl+=\"\u5f00\u673a  \";\n                        if (document.getElementById('mode').value==0) lastControl+=\"\u81ea\u52a8  \";\n                        if (document.getElementById('mode').value==1) lastControl+=\"\u5236\u51b7  \";\n                        if (document.getElementById('mode').value==2) lastControl+=\"\u9664\u6e7f  \";\n                        if (document.getElementById('mode').value==3) lastControl+=\"\u9001\u98ce  \";\n                        if (document.getElementById('mode').value==4) lastControl+=\"\u5236\u70ed  \";\n                        lastControl+=document.getElementById('temp').value+\"\u5ea6  \";\n                        lastControl+=document.getElementById('fan').value+\"\u7ea7\u98ce  \";\n                        if (document.getElementById('turbo').value==0) lastControl+=\"\u4e0d\u5f00\u542f\u5f3a\u52b2  \";\n                        else lastControl+=\"\u5f3a\u52b2  \";\n                        if (document.getElementById('autoTemp').value==\"00\") lastControl+=\"\u4e0d\u8bbe\u7f6e\u81ea\u52a8\u6052\u6e29  \";\n                        else lastControl+=document.getElementById('autoTemp').value+\"\u5ea6\u81ea\u52a8\u6052\u6e29  \";\n                        document.getElementById(\"state\").innerHTML = \"\u5728\u7ebf\";\n                        document.getElementById(\"lastC\").innerHTML = lastControl;\n                        document.getElementById(\"success\").innerHTML = \"\u6267\u884c\u6210\u529f\";\n                        setTimeout(function (){document.getElementById(\"success\").innerHTML = \"\"},3000);\n                    }\n                    else if (msg==(time+\"erron\")) \n                    {\n                        console.log(\"\u6267\u884c\u5931\u8d25\");\n                        document.getElementById(\"success\").innerHTML = \"\u6267\u884c\u5931\u8d25\";\n                        setTimeout(function (){document.getElementById(\"success\").innerHTML = \"\"},3000);\n                    }\n                    else \n                    {\n                        console.log(\"\u6267\u884c\u5931\u8d25\");\n                        document.getElementById(\"success\").innerHTML = \"\u6267\u884c\u5931\u8d25\";\n                        document.getElementById(\"state\").innerHTML = \"\u79bb\u7ebf\";\n                        setTimeout(function (){document.getElementById(\"success\").innerHTML = \"\"},3000);\n                    }\n                }, 1000);\n            }\n\n            function closeair()\n            {\n                var time=getTime();\n                var payload=time+\"off\";\n                publish(payload);\n                setTimeout(function () {\n                    if (msg==(time+\"okoff\")) \n                    {\n                        console.log(\"\u6267\u884c\u6210\u529f\");\n                        var lastControl=time2+\" \u5173\u673a\";\n                        document.getElementById(\"state\").innerHTML = \"\u5728\u7ebf\";\n                        document.getElementById(\"lastC\").innerHTML = lastControl;\n                        document.getElementById(\"success\").innerHTML = \"\u6267\u884c\u6210\u529f\";\n                        setTimeout(function (){document.getElementById(\"success\").innerHTML = \"\"},3000);\n                    }\n                    else if (msg==(time+\"erroff\")) \n                    {\n                        console.log(\"\u6267\u884c\u5931\u8d25\");\n                        document.getElementById(\"success\").innerHTML = \"\u6267\u884c\u5931\u8d25\";\n                        setTimeout(function (){document.getElementById(\"success\").innerHTML = \"\"},3000);\n                    }\n                    else \n                    {\n                        console.log(\"\u6267\u884c\u5931\u8d25\");\n                        document.getElementById(\"success\").innerHTML = \"\u6267\u884c\u5931\u8d25\";\n                        document.getElementById(\"state\").innerHTML = \"\u79bb\u7ebf\";\n                        setTimeout(function (){document.getElementById(\"success\").innerHTML = \"\"},3000);\n                    }\n                }, 1000);\n            }\n\n            function askLastControl()\n            {\n                var time=getTime();\n                var payload=time+\"last\";\n                publish(payload);\n                state=1;\n                setTimeout(function () \n                {\n                    if (msg.substring(0,4)==\"last\")\n                    {\n                        var lastControl;\n                        if (msg.substring(4,6)==\"no\") \n                        {\n                            msg1=msg.split(\"|\");\n                            document.getElementById(\"tem\").innerHTML=msg1[0].substring(6);\n                            lastControl =\"\u65e0\u8bb0\u5f55 \";\n                        }\n                        else {\n                            lastControl=msg[4]+msg[5]+\"-\"+\n                            msg[6]+msg[7]+\" \"+\n                            msg[8]+msg[9]+\":\"+\n                            msg[10]+msg[11]+\":\"+\n                            msg[12]+msg[13]+\"  \";\n                            if (msg.substring(14,16)==\"on\"||msg.substring(14,16)==\"oo\"||msg.substring(14,16)==\"or\") {\n                                if (msg.substring(14,16)==\"on\") lastControl+=\"\u5f00\u673a  \";\n                                if (msg.substring(14,16)==\"oo\") lastControl+=\"\u5355\u6b21\u8ba1\u5212\u5f00\u673a  \";\n                                if (msg.substring(14,16)==\"or\") lastControl+=\"\u91cd\u590d\u8ba1\u5212\u5f00\u673a  \";\n                                if (msg[20]==0) lastControl+=\"\u81ea\u52a8  \";\n                                if (msg[20]==1) lastControl+=\"\u5236\u51b7  \";\n                                if (msg[20]==2) lastControl+=\"\u9664\u6e7f  \";\n                                if (msg[20]==3) lastControl+=\"\u9001\u98ce  \";\n                                if (msg[20]==4) lastControl+=\"\u5236\u70ed  \";\n                                lastControl+=msg.substring(16,18)+\"\u5ea6  \";\n                                if (msg[18]==0) lastControl+=\"\u98ce\u901f\u81ea\u52a8  \";\n                                else lastControl+=msg[18]+\"\u7ea7\u98ce  \";\n                                if (msg[19]==0) lastControl+=\"\u4e0d\u5f00\u542f\u5f3a\u52b2  \";\n                                else lastControl+=\"\u5f3a\u52b2  \";\n                                if (msg[21]==\"0\") lastControl+=\"\u4e0d\u8bbe\u7f6e\u81ea\u52a8\u6052\u6e29  \";\n                                else lastControl+=msg.substring(21,23)+\"\u5ea6\u81ea\u52a8\u6052\u6e29  \";\n\n                                msg1=msg.split(\"|\");\n                                document.getElementById(\"tem\").innerHTML=msg1[0].substring(23);\n                            }\n                        \n                            if (msg.substring(14,17)==\"off\"||msg.substring(14,17)==\"ofn\"||msg.substring(14,17)==\"ofo\"||msg.substring(14,17)==\"ofr\") \n                            {\n                                msg1=msg.split(\"|\");\n                                document.getElementById(\"tem\").innerHTML=msg1[0].substring(17);\n                                if (msg.substring(14,17)==\"off\") lastControl+=\"\u5173\u673a \";\n                                if (msg.substring(14,17)==\"ofn\") lastControl+=\"\u6309\u94ae\u5173\u673a \";\n                                if (msg.substring(14,17)==\"ofo\") lastControl+=\"\u5355\u6b21\u8ba1\u5212\u5173\u673a \";\n                                if (msg.substring(14,17)==\"ofr\") lastControl+=\"\u91cd\u590d\u8ba1\u5212\u5173\u673a \";\n                            }\n                        }\n                        console.log(lastControl);\n                        document.getElementById(\"state\").innerHTML = \"\u5728\u7ebf\";\n                        document.getElementById(\"lastC\").innerHTML = lastControl;\n\n                        msg1=msg.split(\"|\");\n                        lastTem=msg1[1].split(\",\");\n\n                        var date = new Date();\n                        var hour = date.getHours();\n                        var minute = date.getMinutes();\n                        var timeSum=parseInt((hour*6+minute\/10).toString());\n                        var label=[];\n                        for (i=19;i>=0;i--)\n                        {\n                            var lh=parseInt(((timeSum-i)\/6).toString());\n                            var lm=parseInt(((timeSum-i)%6*10).toString());\n                            lm= lm<10?\"0\"+ lm: lm;\n                            label[19-i]=lh+\":\"+lm;\n                        }\n\n\n                        var ctx = document.getElementById('myChart').getContext('2d');\n                        var chart = new Chart(ctx,{\n                            type: 'line',\n                            data:{\n                                labels: label,\n                                datasets: [\n                                    {\n                                        label: \"\u6e29\u5ea6\u8bb0\u5f55\",\n                                        fill: true,\n                                        lineTension: 1,\n                                        data: lastTem,\n                                        borderColor: 'rgba(189,211,154,1)',\n                                        backgroundColor: 'rgba(189,211,154,0.5)',\n                                        fill: false,\n                                        lineTension: 0,\n                                    }\n                                ],\n                            },\n                            options: {\n                                scales: {\n                                    yAxes: [{\n                                        ticks: {\n                                            min: 10,\n                                            max: 34\n                                        }\n                                    }]\n                                }\n                            }\n                        });\n\n                        var espWeeks=[\"\u65e5\",\"\u4e00\",\"\u4e8c\",\"\u4e09\",\"\u56db\",\"\u4e94\",\"\u516d\"];\n                        var espMonths=[\"\u4e00\",\"\u4e8c\",\"\u4e09\",\"\u56db\",\"\u4e94\",\"\u516d\",\"\u4e03\",\"\u516b\",\"\u4e5d\",\"\u5341\",\"\u5341\u4e00\",\"\u5341\u4e8c\"];\n                        var espDate=msg1[2].substring(1,3)+\"\u6708\"+msg1[2].substring(3,5)+\"\u65e5 \u661f\u671f\"+espWeeks[parseInt(msg1[2].substring(0,1))];\n                        document.getElementById(\"espDate\").innerHTML = espDate;\n\n                        \/\/ analysis(msg1[3],msg1[4]);\n                        asktastlist();\n                    }\n                    else\n                     {\n                        document.getElementById(\"state\").innerHTML = \"\u79bb\u7ebf\";\n                        document.getElementById(\"lastC\").innerHTML = \"\u8bbe\u5907\u4e0d\u5728\u7ebf\";\n                        document.getElementById(\"tem\").innerHTML = \"\u672a\u83b7\u53d6\";\n                     }\n                }, 2000);\n            }\n\n            function rest()\n            {\n                var time=getTime();\n                var payload=time+\"rest\";\n                publish(payload);\n                state=1;\n                document.getElementById(\"state\").innerHTML = \"\u590d\u4f4d\u4e2d\";\n                document.getElementById(\"successDebug\").innerHTML = \"\u590d\u4f4d\u4e2d\";\n                setTimeout(function () {\n                    if (msg==(\"connected\")) \n                    {\n                        console.log(\"esp8266\u590d\u4f4d\u6210\u529f\");\n                        document.getElementById(\"state\").innerHTML = \"\u5728\u7ebf\";\n                        document.getElementById(\"successDebug\").innerHTML = \"\u590d\u4f4d\u6210\u529f\";\n                        setTimeout(function (){document.getElementById(\"successDebug\").innerHTML = \"\"},3000);\n                        document.getElementById(\"lastC\").innerHTML = \"\u83b7\u53d6\u4e2d...\";\n                        document.getElementById(\"tem\").innerHTML = \"\u83b7\u53d6\u4e2d...\";\n                        document.getElementById(\"espDate\").innerHTML = \"\u83b7\u53d6\u4e2d...\";\n                        askLastControl();\n                    }\n                    else {\n                        document.getElementById(\"state\").innerHTML = \"\u79bb\u7ebf\";\n                        document.getElementById(\"successDebug\").innerHTML = \"\u590d\u4f4d\u5931\u8d25\";\n                        setTimeout(function (){document.getElementById(\"successDebug\").innerHTML = \"\"},3000);\n                    }\n                }, 8000);\n            }\n\n            function refresh()\n            {\n                document.getElementById(\"lastC\").innerHTML = \"\u83b7\u53d6\u4e2d...\";\n                document.getElementById(\"tem\").innerHTML = \"\u83b7\u53d6\u4e2d...\";\n                document.getElementById(\"espDate\").innerHTML = \"\u83b7\u53d6\u4e2d...\";\n                askLastControl();\n            }\n\n            function setWeek()\n            {\n                var time=getTime();\n                var payload=time+\"setWeek\"+document.getElementById('setWeek').value;\n                publish(payload);\n                setTimeout(function () {\n                    if (msg==(time+\"oksetWeek\")) \n                    {\n                        console.log(\"\u8bbe\u7f6e\u6210\u529f\");\n                        document.getElementById(\"state\").innerHTML = \"\u5728\u7ebf\";\n                        document.getElementById(\"successDebug\").innerHTML = \"\u8bbe\u7f6e\u6210\u529f\";\n                        setTimeout(function (){document.getElementById(\"successDebug\").innerHTML = \"\"},3000);\n                    }\n                    else \n                    {\n                        console.log(\"\u6267\u884c\u5931\u8d25\");\n                        document.getElementById(\"successDebug\").innerHTML = \"\u8bbe\u7f6e\u5931\u8d25\";\n                        document.getElementById(\"state\").innerHTML = \"\u79bb\u7ebf\";\n                        setTimeout(function (){document.getElementById(\"successDebug\").innerHTML = \"\"},3000);\n                    }\n                }, 1000);\n            }\n\n            function taskType()\n            {\n                if (document.getElementById(\"taskTypeO\").checked)\n                {\n                    var date=new Date();\n                    document.getElementById(\"setESPTime1\").value = String(date.getFullYear())+\"-\"+\n                    ((date.getMonth()+1)<10?\"0\"+String(date.getMonth()+1):String(date.getMonth()+1))+\"-\"+\n                    ((date.getDate())<10?\"0\"+String(date.getDate()):String(date.getDate()))+\"T\"+\n                    ((date.getHours()+1)<10?\"0\"+String(date.getHours()):String(date.getHours()))+\":\"+\n                    ((date.getMinutes()+1)<10?\"0\"+String(date.getMinutes()):String(date.getMinutes()));\n\n                    document.getElementById(\"taskTypeOSetTime\").style.display = \"block\";\n                    document.getElementById(\"taskChoseAirOpen\").style.display = \"block\";\n                    document.getElementById(\"taskSub\").style.display = \"block\";\n                }\n                else \n                {\n                    document.getElementById(\"taskTypeOSetTime\").style.display = \"none\";\n                }\n\n                if (document.getElementById(\"taskTypeR\").checked)\n                {\n                    var date=new Date();\n                    document.getElementById(\"setESPTime2\").value = \n                    ((date.getHours()+1)<10?\"0\"+String(date.getHours()):String(date.getHours()))+\":\"+\n                    ((date.getMinutes()+1)<10?\"0\"+String(date.getMinutes()):String(date.getMinutes()));\n\n                    document.getElementById(\"taskTypeRSetTime\").style.display = \"block\";\n                    document.getElementById(\"taskTypeRSetWeek\").style.display = \"block\";\n                    document.getElementById(\"taskChoseAirOpen\").style.display = \"block\";\n                    document.getElementById(\"taskSub\").style.display = \"block\";\n                }\n                else \n                {\n                    document.getElementById(\"taskTypeRSetTime\").style.display = \"none\";\n                    document.getElementById(\"taskTypeRSetWeek\").style.display = \"none\";\n                }\n            }\n\n            function subTask()\n            {\n                var payload;\n                var time=getTime();\n\n                if (document.getElementById(\"taskTypeO\").checked)\n                {\n                    var tasktime=document.getElementById(\"setESPTime1\").value;\n                    payload=time+\"add\"+\"o\"+\n                        tasktime.substring(5,7)+\n                        tasktime.substring(8,10)+\n                        tasktime.substring(11,13)+\n                        tasktime.substring(14,16);\n                    if (document.getElementById('choseAirOpen').value==\"1\")\n                    {\n                        payload+=\"on\"+\n                            document.getElementById('temp').value+\n                            document.getElementById('fan').value+\n                            document.getElementById('turbo').value+\n                            document.getElementById('mode').value+\n                            document.getElementById('autoTemp').value;\n                    }\n                    else payload+=\"off\";\n                }\n                else \n                {\n                    var tasktime=document.getElementById(\"setESPTime2\").value;\n                    payload=time+\"add\"+\"r\"+\n                        tasktime.substring(0,2)+\n                        tasktime.substring(3,5);\n\n                    if (document.getElementById('setWeek0').checked) payload+=\"1\"; else payload+=\"0\";\n                    if (document.getElementById('setWeek1').checked) payload+=\"1\"; else payload+=\"0\";\n                    if (document.getElementById('setWeek2').checked) payload+=\"1\"; else payload+=\"0\";\n                    if (document.getElementById('setWeek3').checked) payload+=\"1\"; else payload+=\"0\";\n                    if (document.getElementById('setWeek4').checked) payload+=\"1\"; else payload+=\"0\";\n                    if (document.getElementById('setWeek5').checked) payload+=\"1\"; else payload+=\"0\";\n                    if (document.getElementById('setWeek6').checked) payload+=\"1\"; else payload+=\"0\";\n\n                    if (document.getElementById('choseAirOpen').value==\"1\")\n                    {\n                        payload+=\"on\"+\n                            document.getElementById('temp').value+\n                            document.getElementById('fan').value+\n                            document.getElementById('turbo').value+\n                            document.getElementById('mode').value+\n                            document.getElementById('autoTemp').value;\n                    }\n                    else payload+=\"off\";\n                }\n\n                publish(payload);\n                setTimeout(function () {\n                    \/\/ var msg1=msg.split(\"|\");\n                    if (msg.substring(0,15)==(time+\"okadd\")) \n                    {\n                        console.log(\"\u6267\u884c\u6210\u529f\");\n                        document.getElementById(\"state\").innerHTML = \"\u5728\u7ebf\";\n                        document.getElementById(\"successTask\").innerHTML = \"\u6dfb\u52a0\u6210\u529f\";\n                        setTimeout(function (){document.getElementById(\"successTask\").innerHTML = \"\"},3000);\n                        asktastlist();\n                    }\n                    else \n                    {\n                        console.log(\"\u6267\u884c\u5931\u8d25\");\n                        document.getElementById(\"successTask\").innerHTML = \"\u6dfb\u52a0\u5931\u8d25\";\n                        document.getElementById(\"state\").innerHTML = \"\u79bb\u7ebf\";\n                        setTimeout(function (){document.getElementById(\"successTask\").innerHTML = \"\"},3000);\n                    }\n                }, 1000);\n            }\n\n            function asktastlist()\n            {\n                var time=getTime();\n                var payload=time+\"asklist\";\n                \n                publish(payload);\n                setTimeout(function () {\n                    if (msg.substring(0,19)==(time+\"okasklist\")) \n                    {\n                        console.log(\"\u6267\u884c\u6210\u529f\");\n                        var msg1=msg.split(\"|\");\n                        analysis(msg1[1],msg1[2]);\n                    }\n                    else \n                    {\n                        console.log(\"\u6267\u884c\u5931\u8d25\");\n                        \/\/ document.getElementById(\"successTask\").innerHTML = \"\u6dfb\u52a0\u5931\u8d25\";\n                        \/\/ document.getElementById(\"state\").innerHTML = \"\u79bb\u7ebf\";\n                        \/\/ setTimeout(function (){document.getElementById(\"successTask\").innerHTML = \"\"},3000);\n                    }\n                }, 1000);\n            }\n\n            function analysis(msg1,msg2)\n            {\n                console.log(msg1);\n                console.log(msg2);\n                var msgo=msg1.split(\"#\");\n                var msgr=msg2.split(\"#\");\n                console.log(msgo);\n                console.log(msgr);\n                var taskONum=parseInt(msgo[0]);\n                var taskRNum=parseInt(msgr[0]);\n\n                document.getElementById(\"tableO\").innerHTML=\"\";\n                document.getElementById(\"tableR\").innerHTML=\"\";\n                for (var i=1;i<=taskONum;i++)\n                {\n                    console.log(i);\n                    var sDay=msgo[i].substring(0,2)+\"-\"+\n                        msgo[i].substring(2,4)+\" \"+\n                        msgo[i].substring(4,6)+\":\"+\n                        msgo[i].substring(6,8);\n\n                    var sCon;\n                    if (msgo[i][8]==\"1\") {\n                        \/\/ sCon=\"\u5f00\u673a  \";\n                        if (msgo[i][14]==\"0\")\n                        {\n                            if (msgo[i][13]==0) sCon=\"\u81ea\u52a8  \";\n                            if (msgo[i][13]==1) sCon=\"\u5236\u51b7  \";\n                            if (msgo[i][13]==2) sCon=\"\u9664\u6e7f  \";\n                            if (msgo[i][13]==3) sCon=\"\u9001\u98ce  \";\n                            if (msgo[i][13]==4) sCon=\"\u5236\u70ed  \";\n                            sCon+=msgo[i].substring(9,11)+\"\u5ea6  \";\n\n                            if (msgo[i][12]==1) sCon+=\"\u5f3a\u52b2  \";\n                            else\n                            {\n                                if (msgo[i][11]==0) sCon+=\"\u98ce\u901f\u81ea\u52a8  \";\n                                else sCon+=msgo[i][11]+\"\u7ea7\u98ce  \";\n                            }\n                        }\n                        else sCon=msgo[i].substring(14,16)+\"\u5ea6\u81ea\u52a8\u6052\u6e29  \";\n                    }\n                \n                    if (msgo[i][8]==\"0\") \n                    {\n                        sCon=\"\u5173\u673a \";\n                    }\n                    console.log(sCon);\n\n                    var oTr=document.createElement(\"tr\");\n                    var oTd1=document.createElement(\"td\");\n                    var oTd2=document.createElement(\"td\");\n                    var oTd3=document.createElement(\"td\");\n                    var oTd4=document.createElement(\"td\");\n                    oTd1.innerHTML=i;\n                    oTd2.innerHTML=sDay;\n                    oTd3.innerHTML=sCon;\n                    oTd4.innerHTML=\"<u>\u5220\u9664<\/u>\";\n                    oTd4.id=\"o\"+i;\n                    oTr.appendChild(oTd1);\n                    oTr.appendChild(oTd2);\n                    oTr.appendChild(oTd3);\n                    oTr.appendChild(oTd4);\n                    document.getElementById(\"tableO\").appendChild(oTr);\n\n                    oTd4.onclick=function(){\n                        delTask(this.id);\n                        \/\/ console.log(this.id);\n                    }\n                }\n\n                for (var i=1;i<=taskRNum;i++) \n                {\n                    console.log(i);\n                    var sDay=msgr[i].substring(0,2)+\":\"+\n                        msgr[i].substring(2,4);\n\n                    var Weeks=[\"\u65e5\",\"\u4e00\",\"\u4e8c\",\"\u4e09\",\"\u56db\",\"\u4e94\",\"\u516d\"];\n                    var sWeek=\"\";\n                    for (var j=1;j<7;j++)\n                        if (msgr[i][4+j]==\"1\") sWeek+=Weeks[j];\n                    if (msgr[i][4]==\"1\") sWeek+=Weeks[0];\n\n                    var sCon;\n                    if (msgr[i][11]==\"1\") {\n                        \/\/ sCon=\"\u5f00\u673a  \";\n                        if (msgr[i][17]==\"0\") \n                        {\n                            if (msgr[i][16]==0) sCon=\"\u81ea\u52a8  \";\n                            if (msgr[i][16]==1) sCon=\"\u5236\u51b7  \";\n                            if (msgr[i][16]==2) sCon=\"\u9664\u6e7f  \";\n                            if (msgr[i][16]==3) sCon=\"\u9001\u98ce  \";\n                            if (msgr[i][16]==4) sCon=\"\u5236\u70ed  \";\n                            sCon+=msgr[i].substring(12,14)+\"\u5ea6  \";\n\n                            if (msgr[i][15]==1) sCon+=\"\u5f3a\u52b2  \";\n                            else\n                            {\n                                if (msgr[i][14]==0) sCon+=\"\u98ce\u901f\u81ea\u52a8  \";\n                                else sCon+=msgr[i][14]+\"\u7ea7\u98ce  \";\n                            }\n                        }\n                        else sCon=msgr[i].substring(17,19)+\"\u5ea6\u81ea\u52a8\u6052\u6e29  \";\n                    }\n                \n                    if (msgr[i][11]==\"0\") \n                    {\n                        sCon=\"\u5173\u673a \";\n                    }\n                    console.log(sCon);\n\n                    var oTr=document.createElement(\"tr\");\n                    var oTd1=document.createElement(\"td\");\n                    var oTd2=document.createElement(\"td\");\n                    var oTd3=document.createElement(\"td\");\n                    var oTd4=document.createElement(\"td\");\n                    var oTd5=document.createElement(\"td\");\n                    oTd1.innerHTML=i;\n                    oTd2.innerHTML=sDay;\n                    oTd3.innerHTML=sWeek;\n                    oTd4.innerHTML=sCon;\n                    oTd5.innerHTML=\"<u>\u5220\u9664<\/u>\";\n                    oTd5.id=\"r\"+i;\n                    oTr.appendChild(oTd1);\n                    oTr.appendChild(oTd2);\n                    oTr.appendChild(oTd3);\n                    oTr.appendChild(oTd4);\n                    oTr.appendChild(oTd5);\n                    document.getElementById(\"tableR\").appendChild(oTr);\n\n                    oTd5.onclick=function(){\n                        delTask(this.id);\n                        \/\/ console.log(this.id);\n                    }\n                }\n            }\n\n            function delTask(num)\n            {\n                var time=getTime();\n                var payload=time+\"delTask\"+num;\n                \n                publish(payload);\n                setTimeout(function () {\n                    if (msg.substring(0,19)==(time+\"okdelTask\")) \n                    {\n                        var msg1=msg.split(\"|\");\n                        analysis(msg1[1],msg1[2]);\n                        console.log(\"\u5220\u9664\u6210\u529f\");\n                        document.getElementById(\"successTask\").innerHTML = \"\u5220\u9664\u6210\u529f\";\n                        setTimeout(function (){document.getElementById(\"successTask\").innerHTML = \"\"},3000);\n                        \/\/ asktastlist();\n                    }\n                    else \n                    {\n                        console.log(\"\u6267\u884c\u5931\u8d25\");\n                        document.getElementById(\"successTask\").innerHTML = \"\u5220\u9664\u5931\u8d25\";\n                        document.getElementById(\"state\").innerHTML = \"\u79bb\u7ebf\";\n                        setTimeout(function (){document.getElementById(\"successTask\").innerHTML = \"\"},3000);\n                    }\n                }, 1000);\n            }\n\n            function delList()\n            {\n                var time=getTime();\n                var payload=time+\"delList\";\n                \n                publish(payload);\n                setTimeout(function () {\n                    if (msg.substring(0,19)==(time+\"okdelList\")) \n                    {\n                        console.log(\"\u5220\u9664\u6210\u529f\");\n                        document.getElementById(\"state\").innerHTML = \"\u5728\u7ebf\";\n                        document.getElementById(\"successDebug\").innerHTML = \"\u5220\u9664\u6210\u529f\";\n                        setTimeout(function (){document.getElementById(\"successDebug\").innerHTML = \"\"},3000);\n                    }\n                    else \n                    {\n                        console.log(\"\u5220\u9664\u5931\u8d25\");\n                        document.getElementById(\"state\").innerHTML = \"\u79bb\u7ebf\";\n                        document.getElementById(\"successDebug\").innerHTML = \"\u5220\u9664\u5931\u8d25\";\n                        setTimeout(function (){document.getElementById(\"successDebug\").innerHTML = \"\"},3000);\n                    }\n                }, 1000);\n            }\n        <\/script>\n    <\/head>\n\n    <body style=\"font-size:10;\">\n        <p>\u5f53\u524d\u8bbe\u5907\u72b6\u6001\uff1a<span id=\"state\">\u83b7\u53d6\u4e2d...<\/span><br\/><\/p>\n        <p>\u4e0a\u4e00\u6b21\u6307\u4ee4\uff1a<span id=\"lastC\">\u83b7\u53d6\u4e2d...<\/span><br\/><\/p>\n        <p>\u5ba4\u6e29\uff1a<span id=\"tem\">\u83b7\u53d6\u4e2d...<\/span><br\/><\/p>\n        <p>\u6e29\u5ea6\uff1a\n            <select id=\"temp\" class=\"mySelect\">\n                <option>28<\/option>\n                <option>27<\/option>\n                <option>26<\/option>\n                <option>25<\/option>\n                <option>24<\/option>\n                <option>23<\/option>\n                <option>22<\/option>\n                <option>21<\/option>\n                <option>20<\/option>\n                <option>19<\/option>\n                <option>18<\/option>\n                <option>17<\/option>\n                <option selected>16<\/option>\n            <\/select>&nbsp;&nbsp;&nbsp;\n            \u98ce\u901f\uff1a\n            <select id=\"fan\" class=\"mySelect\">\n                <option value=\"0\">\u81ea\u52a8<\/option>\n                <option>1<\/option>\n                <option>2<\/option>\n                <option>3<\/option>\n                <option>4<\/option>\n                <option selected>5<\/option>\n            <\/select>\n        <\/p>\n        <p>\u5f3a\u52b2\uff1a\n            <select id=\"turbo\" class=\"mySelect\">\n                <option value=\"0\">\u5173<\/option>\n                <option value=\"1\" selected>\u5f00<\/option>\n            <\/select>&nbsp;&nbsp;&nbsp;\n            \u6a21\u5f0f\uff1a\n            <select id=\"mode\" class=\"mySelect\">\n                <option value=\"0\">\u81ea\u52a8<\/option>\n                <option value=\"1\" selected>\u5236\u51b7<\/option>\n                <option value=\"2\">\u9664\u6e7f<\/option>\n                <option value=\"3\">\u9001\u98ce<\/option>\n                <option value=\"4\">\u5236\u70ed<\/option>\n            <\/select>\n        <\/p>\n        <p>\u81ea\u52a8\u6052\u6e29\uff1a\n            <select id=\"autoTemp\" class=\"mySelect\">\n                <option value=\"00\" selected>\u5173\u95ed<\/option>\n                <option>28<\/option>\n                <option>27<\/option>\n                <option>26<\/option>\n                <option>25<\/option>\n            <\/select>\n        <\/p>\n        \n        <p>\n            <button type=\"button\" onclick=\"openair()\" class=\"myButton\">\u5f00<\/button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n            <button type=\"button\" onclick=\"closeair()\" class=\"myButton\">\u5173<\/button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n            <button type=\"button\" onclick=\"refresh()\" class=\"myButton\">\u5237\u65b0<\/button>\n        <\/p>\n        <p><span id=\"success\"><\/span><br\/><\/p>\n        <p>MsgSend:<span id=\"msgSend\"><\/span><br\/><\/p>\n        <p>MsgReceive:<span id=\"msgReceive\"><\/span><br\/><\/p>\n        \n        <canvas id=\"myChart\" width=\"30\" height=\"20\"><\/canvas>\n\n        <h3>\u8ba1\u5212\u4efb\u52a1<\/h3>\n        <div id=\"tasklist\">\n        <\/div>\n\n        <div id=\"table\">\n            <h4>\u5355\u6b21\u8ba1\u5212<\/h4>\n            <table class=\"table\">\n                <thead>\n                    <tr>\n                        <th>\u5e8f\u53f7<\/th>\n                        <th>\u65f6\u95f4<\/th>\n                        <th>\u8ba1\u5212<\/th>\n                        <th>\u64cd\u4f5c<\/th>\n                    <\/tr>\n                <\/thead>\n                <tbody id=\"tableO\">\n                <\/tbody>\n            <\/table>\n            <h4>\u91cd\u590d\u8ba1\u5212<\/h4>\n            <table class=\"table\">\n                <thead>\n                    <tr>\n                        <th>\u5e8f\u53f7<\/th>\n                        <th>\u65f6\u95f4<\/th>\n                        <th>\u661f\u671f<\/th>\n                        <th>\u8ba1\u5212<\/th>\n                        <th>\u64cd\u4f5c<\/th>\n                    <\/tr>\n                <\/thead>\n                <tbody id=\"tableR\">\n                <\/tbody>\n            <\/table>\n        <\/div>\n\n        <h4>\u65b0\u5efa\u8ba1\u5212<\/h4>\n        <p>\n            <input id=\"taskTypeO\" type=\"radio\" name=\"taskType\" class=\"radio\" value=\"o\" onchange=\"taskType()\">\u5355\u6b21\u8ba1\u5212\n            <input id=\"taskTypeR\" type=\"radio\" name=\"taskType\" class=\"radio\" value=\"r\" onchange=\"taskType()\">\u91cd\u590d\u8ba1\u5212\n            \n            <!-- <select style=\"width: 100px;\" id=\"taskType\" class=\"select\">\n                <option value=\"o\">\u5355\u6b21\u4efb\u52a1<\/option>\n                <option value=\"r\" selected>\u91cd\u590d\u4efb\u52a1<\/option>\n            <\/select> -->\n        <\/p>\n        <p id=\"taskTypeOSetTime\" style=\"display:none\">\u8bbe\u7f6e\u65f6\u95f4\uff1a<input id=\"setESPTime1\" type=\"datetime-local\" \/><\/p>\n        <p id=\"taskTypeRSetTime\" style=\"display:none\">\u8bbe\u7f6e\u65f6\u95f4\uff1a<input id=\"setESPTime2\" type=\"time\" \/><\/p>\n        <p id=\"taskTypeRSetWeek\" style=\"display:none\">\u8bbe\u7f6e\u661f\u671f\uff1a\n            <input id=\"setWeek1\" type=\"checkbox\" name=\"setWeek\" class=\"checkbox\" checked>\u4e00\n            <input id=\"setWeek2\" type=\"checkbox\" name=\"setWeek\" class=\"checkbox\" checked>\u4e8c\n            <input id=\"setWeek3\" type=\"checkbox\" name=\"setWeek\" class=\"checkbox\" checked>\u4e09\n            <input id=\"setWeek4\" type=\"checkbox\" name=\"setWeek\" class=\"checkbox\" checked>\u56db\n            <input id=\"setWeek5\" type=\"checkbox\" name=\"setWeek\" class=\"checkbox\" checked>\u4e94\n            <input id=\"setWeek6\" type=\"checkbox\" name=\"setWeek\" class=\"checkbox\" checked>\u516d\n            <input id=\"setWeek0\" type=\"checkbox\" name=\"setWeek\" class=\"checkbox\" checked>\u65e5\n        <\/p>\n        <p id=\"taskChoseAirOpen\" style=\"display:none\">\n            \u7a7a\u8c03\u5f00\u5173\uff1a\n            <select id=\"choseAirOpen\" class=\"select\">\n                <option value=\"0\">\u5173<\/option>\n                <option value=\"1\" selected>\u5f00<\/option>\n            <\/select>\n        <\/p>\n        <p><button id=\"taskSub\" style=\"display:none\" onclick=\"subTask()\" class=\"button\">\u63d0\u4ea4<\/button><\/p>\n        <p><span id=\"successTask\"><\/span><br\/><\/p>\n\n        <h3>Debug<\/h3>\n        <p>\u7f51\u9875\u7248\u672c\uff1a2.1.3 &nbsp&nbsp&nbsp \u66f4\u65b0\u65f6\u95f4\uff1a2024-5-15 23:49:10<\/p>\n        <p>\u56fa\u4ef6\u7248\u672c\uff1a2.0.3 &nbsp&nbsp&nbsp \u7f16\u8bd1\u65f6\u95f4\uff1a2023-9-12 20:20:34<\/p>\n        <p>ESP\u65e5\u671f\uff1a<span id=\"espDate\">\u83b7\u53d6\u4e2d...<\/span><br\/><\/p>\n        <p>\u56de\u590d\uff1a<spa n id=\"ans\">\u65e0<\/spa><br\/><\/p>\n        <p><button type=\"button\" onclick=\"rest()\" class=\"myButton\">\u590d\u4f4d<\/button><br\/><\/p>\n        <p>\u8bbe\u7f6e\u661f\u671f\uff1a\n            <select style=\"width: 90px;\" id=\"setWeek\" class=\"mySelect\">\n                <option value=\"0\" selected>\u661f\u671f\u5929<\/option>\n                <option value=\"1\">\u661f\u671f\u4e00<\/option>\n                <option value=\"2\">\u661f\u671f\u4e8c<\/option>\n                <option value=\"3\">\u661f\u671f\u4e09<\/option>\n                <option value=\"4\">\u661f\u671f\u56db<\/option>\n                <option value=\"5\">\u661f\u671f\u4e94<\/option>\n                <option value=\"6\">\u661f\u671f\u516d<\/option>\n            <\/select>\n            <button type=\"button\" onclick=\"setWeek()\" class=\"myButton\">\u8bbe\u7f6e<\/button>\n        <\/p>\n        <p><button type=\"button\" onclick=\"delList()\" class=\"myButton\">\u6e05\u7a7a\u8ba1\u5212<\/button><\/p>\n        <p><span id=\"successDebug\"><\/span><br\/><\/p>\n    <\/body>\n<\/html>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>AIRCON \u5f53\u524d\u8bbe\u5907\u72b6\u6001\uff1a\u83b7\u53d6\u4e2d&#8230; \u4e0a\u4e00\u6b21\u6307\u4ee4\uff1a\u83b7\u53d6\u4e2d&#8230; \u5ba4\u6e29\uff1a\u83b7\u53d6\u4e2d&#8230; \u6e29\u5ea6\uff1a 28272625242322212","protected":false},"author":1,"featured_media":0,"parent":254,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-305","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.forillusion.com\/index.php\/wp-json\/wp\/v2\/pages\/305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.forillusion.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.forillusion.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.forillusion.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.forillusion.com\/index.php\/wp-json\/wp\/v2\/comments?post=305"}],"version-history":[{"count":0,"href":"https:\/\/www.forillusion.com\/index.php\/wp-json\/wp\/v2\/pages\/305\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.forillusion.com\/index.php\/wp-json\/wp\/v2\/pages\/254"}],"wp:attachment":[{"href":"https:\/\/www.forillusion.com\/index.php\/wp-json\/wp\/v2\/media?parent=305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}