|
|
@@ -1,7 +1,7 @@
|
|
|
/* 自动生成的文本数据头文件 */
|
|
|
/* 源文件: index.html */
|
|
|
-/* 文件大小: 130619 字节 */
|
|
|
-/* 生成时间: 2026-04-29 15:49:03 */
|
|
|
+/* 文件大小: 133988 字节 */
|
|
|
+/* 生成时间: 2026-05-04 13:58:49 */
|
|
|
/* 编码: utf-8 */
|
|
|
#ifndef P_INDEX_HTML_H
|
|
|
#define P_INDEX_HTML_H
|
|
|
@@ -1360,6 +1360,8 @@ const char *p_index_html =
|
|
|
" let reconnectTimer = null;\n"
|
|
|
|
|
|
" let channelTelemetry = [];\n"
|
|
|
+ " let channelTelemetry1 = [];\n"
|
|
|
+ " let channelTelemetry2 = [];\n"
|
|
|
" let channelSwitchStates = [];\n"
|
|
|
" let envData = {\n"
|
|
|
" temp: 25,\n"
|
|
|
@@ -1435,6 +1437,9 @@ const char *p_index_html =
|
|
|
" channelThresholds[i] = {name:\"smartPDU\",vMin: 198, vMax: 242, iMax: 100, pMax: 15000, eMax: 500 };\n"
|
|
|
" channelDelays[i] = {name:\"smartPDU\", onSec: 1.8, offSec: 1.5 };\n"
|
|
|
" channelTelemetry[i] = {name:\"smartPDU\", voltage: 220, current: 30, activePower: 6600, reactivePower: 2500, apparentPower: 7000, powerFactor: 0.85, frequency: 50.00, energyKwh: 100 };\n"
|
|
|
+ " channelTelemetry1[i] = {name:\"smartPDU\", voltage: 220, current: 30, activePower: 6600, reactivePower: 2500, apparentPower: 7000, powerFactor: 0.85, frequency: 50.00, energyKwh: 100 };\n"
|
|
|
+ " channelTelemetry2[i] = {name:\"smartPDU\", voltage: 220, current: 30, activePower: 6600, reactivePower: 2500, apparentPower: 7000, powerFactor: 0.85, frequency: 50.00, energyKwh: 100 };\n"
|
|
|
+
|
|
|
" channelSwitchStates[i] = true;\n"
|
|
|
" channel_info[i] ={name:\"SmartPDU\",addr:0,sch:0,phse:0,phse1:1,open:1,close:1,status:1,\n"
|
|
|
" l1_v_upper:0,l1_v_lower:0,l1_c_upper:0,l1_p_upper:0,l1_w_upper:0,\n"
|
|
|
@@ -1478,6 +1483,36 @@ const char *p_index_html =
|
|
|
" }\n"
|
|
|
" //updateTableData();\n"
|
|
|
" }\n"
|
|
|
+ " if (obj.power_data1 != undefined) {\n"
|
|
|
+ " for (let i = 0; i < device_info.chs; i++) {\n"
|
|
|
+ " \n"
|
|
|
+ " channelTelemetry1[i].voltage = obj.power_data1[i].voltage;\n"
|
|
|
+ " channelTelemetry1[i].current = obj.power_data1[i].current;\n"
|
|
|
+ " channelTelemetry1[i].activePower = obj.power_data1[i].power;\n"
|
|
|
+ " channelTelemetry1[i].reactivePower = obj.power_data1[i].reactive_power;\n"
|
|
|
+ " channelTelemetry1[i].apparentPower = obj.power_data1[i].app_power;\n"
|
|
|
+ " channelTelemetry1[i].powerFactor = obj.power_data1[i].factor;\n"
|
|
|
+ " channelTelemetry1[i].frequency = obj.power_data1[i].freq;\n"
|
|
|
+ " channelTelemetry1[i].energyKwh = obj.power_data1[i].consump;\n"
|
|
|
+ " obj.power_data1[i] = null;\n"
|
|
|
+ " }\n"
|
|
|
+ " //updateTableData();\n"
|
|
|
+ " }\n"
|
|
|
+ " if (obj.power_data2 != undefined) {\n"
|
|
|
+ " for (let i = 0; i < device_info.chs; i++) {\n"
|
|
|
+ " \n"
|
|
|
+ " channelTelemetry2[i].voltage = obj.power_data2[i].voltage;\n"
|
|
|
+ " channelTelemetry2[i].current = obj.power_data2[i].current;\n"
|
|
|
+ " channelTelemetry2[i].activePower = obj.power_data2[i].power;\n"
|
|
|
+ " channelTelemetry2[i].reactivePower = obj.power_data2[i].reactive_power;\n"
|
|
|
+ " channelTelemetry2[i].apparentPower = obj.power_data2[i].app_power;\n"
|
|
|
+ " channelTelemetry2[i].powerFactor = obj.power_data2[i].factor;\n"
|
|
|
+ " channelTelemetry2[i].frequency = obj.power_data2[i].freq;\n"
|
|
|
+ " channelTelemetry2[i].energyKwh = obj.power_data2[i].consump;\n"
|
|
|
+ " obj.power_data2[i] = null;\n"
|
|
|
+ " }\n"
|
|
|
+ " //updateTableData();\n"
|
|
|
+ " } \n"
|
|
|
" if (obj.power_all != undefined) {\n"
|
|
|
" all_channel = obj.power_all;\n"
|
|
|
" obj.power_all = null;\n"
|
|
|
@@ -1717,12 +1752,26 @@ const char *p_index_html =
|
|
|
" const row = tableRows[i];\n"
|
|
|
" if (!row) continue;\n"
|
|
|
|
|
|
- " const tele = channelTelemetry[i] || {};\n"
|
|
|
- " const target = channelSwitchStates[i];\n"
|
|
|
- " const delays = channelDelays[i];\n"
|
|
|
- " const thr = channelThresholds[i];\n"
|
|
|
- " const info = channel_info[i];\n"
|
|
|
+ " let tele= channelTelemetry[i]|| {};\n"
|
|
|
+ " let target = channelSwitchStates[i];\n"
|
|
|
+ " let delays = channelDelays[i];\n"
|
|
|
+ " let thr = channelThresholds[i];\n"
|
|
|
+ " let info = channel_info[i];\n"
|
|
|
|
|
|
+ " if(device_info.power_type == 4 || device_info.power_type == 5)\n"
|
|
|
+ " {\n"
|
|
|
+ " if(info.phse == 1)\n"
|
|
|
+ " {\n"
|
|
|
+ " //tele = channelTelemetry[i];\n"
|
|
|
+ " }else if(info.phse == 2)\n"
|
|
|
+ " {\n"
|
|
|
+ " tele = channelTelemetry1[i];\n"
|
|
|
+ " }else if(info.phse == 3)\n"
|
|
|
+ " {\n"
|
|
|
+ " tele = channelTelemetry2[i];\n"
|
|
|
+ " }\n"
|
|
|
+ " }\n"
|
|
|
+ " \n"
|
|
|
" // 检查阈值告警\n"
|
|
|
" const alarms = [];\n"
|
|
|
|
|
|
@@ -1755,7 +1804,7 @@ const char *p_index_html =
|
|
|
" // 有功功率 (第4列,索引3)\n"
|
|
|
" if (cells[4]) {\n"
|
|
|
" cells[4].innerHTML = ((tele.activePower || 0).toLocaleString()) + '<span class=\"unit-sub\">kW</span>';\n"
|
|
|
- " cells[4].className = 'numeric-value power-bg ' + (info.l1_p_upper || info.l2_p_upper || info.l3_p_upper ? 'threshold-alarm' : '');\n"
|
|
|
+ " cells[4].className = 'numeric-value power-bg ' + (info.l1_p_upper || info.l2_p_upper || info.l3_p_upper? 'threshold-alarm' : '');\n"
|
|
|
" }\n"
|
|
|
" // 无功功率 (第5列,索引4)\n"
|
|
|
" if (cells[5]) {\n"
|
|
|
@@ -2044,9 +2093,11 @@ const char *p_index_html =
|
|
|
" clearInterval(device_info_id);\n"
|
|
|
" power_all_id = setInterval(function() { ws.send(mk_hdr_bin(0, PKT_TYPE.NEW_PKT_TYPE_ELE_INFO, SUB_POWER_TYPE.NEW_SUB_PKT_TYPE_ELE_DATA_ALL, 0, 0));}, 600);\n"
|
|
|
" power_data_id = setInterval(function() { \n"
|
|
|
- " ws.send(mk_hdr_bin(0, PKT_TYPE.NEW_PKT_TYPE_ELE_INFO, SUB_POWER_TYPE.NEW_SUB_PKT_TYPE_ELE_DATA_L1, 0, 0));\n"
|
|
|
- " setTimeout(() => {ws.send(mk_hdr_bin(0, PKT_TYPE.NEW_PKT_TYPE_ELE_INFO, SUB_POWER_TYPE.NEW_SUB_PKT_TYPE_ELE_DATA_INFO, 0, 0));},40);\n"
|
|
|
- " }, 300);\n"
|
|
|
+ " ws.send(mk_hdr_bin(0, PKT_TYPE.NEW_PKT_TYPE_ELE_INFO, SUB_POWER_TYPE.NEW_SUB_PKT_TYPE_ELE_DATA_L1, 0, 0));\n"
|
|
|
+ " setTimeout(() => {ws.send(mk_hdr_bin(0, PKT_TYPE.NEW_PKT_TYPE_ELE_INFO, SUB_POWER_TYPE.NEW_SUB_PKT_TYPE_ELE_DATA_L2, 0, 0));},40);\n"
|
|
|
+ " setTimeout(() => {ws.send(mk_hdr_bin(0, PKT_TYPE.NEW_PKT_TYPE_ELE_INFO, SUB_POWER_TYPE.NEW_SUB_PKT_TYPE_ELE_DATA_L3, 0, 0));},40);\n"
|
|
|
+ " setTimeout(() => {ws.send(mk_hdr_bin(0, PKT_TYPE.NEW_PKT_TYPE_ELE_INFO, SUB_POWER_TYPE.NEW_SUB_PKT_TYPE_ELE_DATA_INFO, 0, 0));},40);\n"
|
|
|
+ " }, 300);\n"
|
|
|
" power_thr_id = setInterval(function() { ws.send(mk_hdr_bin(0, PKT_TYPE.NEW_PKT_TYPE_ELE_INFO, SUB_POWER_TYPE.NEW_SUB_PKT_TYPE_ELE_DATA_THR, 0, 0));}, 500);\n"
|
|
|
" sensor_id = setInterval(function() { ws.send(mk_hdr_bin(0, PKT_TYPE.NEW_PKT_TYPE_SENSOR,0, 0, 0));}, 1000); \n"
|
|
|
" wanning_id = setInterval(function() { ws.send(mk_hdr_bin(0, PKT_TYPE.NEW_PKT_TYPE_WANNING,0, 0, 0));}, 3000);\n"
|
|
|
@@ -2260,9 +2311,9 @@ const char *p_index_html =
|
|
|
;
|
|
|
|
|
|
// 文本数据大小(包括null终止符)
|
|
|
-const size_t p_index_html_size = 130620;
|
|
|
+const size_t p_index_html_size = 133989;
|
|
|
|
|
|
// 文本长度(字符数)
|
|
|
-const size_t p_index_html_length = 128070;
|
|
|
+const size_t p_index_html_length = 131439;
|
|
|
|
|
|
#endif /* P_INDEX_HTML_H */
|