From 5ec581e5d37b108fc9d59e89afd8e94e21b32080 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期二, 17 十月 2023 17:33:36 +0800 Subject: [PATCH] 2023年10月17日17:33:33 --- HDL_ON/DAL/DriverLayer/Control.cs | 62 +++++++++++++++++++++---------- 1 files changed, 42 insertions(+), 20 deletions(-) diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs index 1658bfd..6955fab 100644 --- a/HDL_ON/DAL/DriverLayer/Control.cs +++ b/HDL_ON/DAL/DriverLayer/Control.cs @@ -261,6 +261,7 @@ /// </summary> public void OpenTcpClent() { + return; if (myTcpClient == null) { myTcpClient = new Control_TcpClient(reportIp); @@ -535,7 +536,7 @@ var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlFunctionTopic, functionControlDataJson); new Control_Udp().SendLocalHdlLinkData(sendBytes, functionControlDataObj.id, resend); MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}"); - Ins.myTcpClient.SendMessage(sendBytes); + //Ins.myTcpClient.SendMessage(sendBytes); } } //杩滅▼閫氳 @@ -625,6 +626,10 @@ { foreach (var temp in functions) { + if((temp.trait_on_off.state.ToString() == "on" && open)|| temp.trait_on_off.state.ToString() == "off"&& !open) + { + continue; + } var apiControlData = temp.GetApiControlData(d); actionObjs.Add(apiControlData); count++; @@ -636,7 +641,10 @@ System.Threading.Thread.Sleep(100); } } - var pack = pm.ControlDevice(actionObjs); + if (actionObjs.Count > 0) + { + var pack = pm.ControlDevice(actionObjs); + } } } @@ -724,8 +732,18 @@ } else { - var pm = new DAL.Server.HttpServerRequest(); - var pack = pm.RefreshDeviceStatus(new List<string>() { function.deviceId }); + var pm = new HttpServerRequest(); + try + { + pm.RefreshDeviceStatus(new List<string>() { function.deviceId }); + }catch(Exception ex) + { + MainPage.Log($"杩滅▼璇诲彇璁惧鐘舵�佸紓甯�:{ex.Message}"); + } + finally + { + pm = null; + } } } } @@ -862,7 +880,7 @@ }, time_stamp = Utlis.GetTimestamp() }; - var aLinkJson = Newtonsoft.Json.JsonConvert.SerializeObject(aLinkData); + var aLinkJson = JsonConvert.SerializeObject(aLinkData); var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlScene, aLinkJson); new Control_Udp().SendLocalHdlLinkData(sendBytes, aLinkData.id, 0); } @@ -1011,7 +1029,7 @@ if (receiveObj.Topic == CommunicationTopic.ct.HeartBeat + "_reply") { - Ins.myTcpClient.ClearHeartBeatLog(); + //Ins.myTcpClient.ClearHeartBeatLog(); MainPage.Log("tcp蹇冭烦鍥炲"); return null; } @@ -1107,7 +1125,7 @@ Ins.IsLocalEncrypt = device.isLocalEncrypt; //MainPage.Log("缃戝叧鏈湴鍔犲瘑鐘舵�侊細" + device.local_encrypt.ToString()); //鐧诲綍缃戝叧Tcp - OpenTcpClent(); + //OpenTcpClent(); } @@ -1209,7 +1227,7 @@ /// <summary> - /// 鏇存柊璁惧鐘舵�� + /// 鏇存柊缇ゆ帶璁惧鐘舵�� /// A鍗忚鏁版嵁 /// </summary> public void UpdataGroupControlStatus(string revString, byte[] usefulBytes, bool isCloudData = false) @@ -1271,7 +1289,7 @@ // return; //} - var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<AlinkFunctionStatusObj>(revString); + var temp = JsonConvert.DeserializeObject<AlinkFunctionStatusObj>(revString); if (temp != null) { Control_Udp.ReceiveRepeatManager(temp.id, usefulBytes); @@ -1304,16 +1322,6 @@ } MainPage.Log(localFunction.name); - if (Ins.GatewayOnline_Local && isCloudData)//鏈湴閾炬帴锛岄櫎浜嗘秱楦﹁澶囨暟鎹箣澶栫殑浜戠鏁版嵁涓嶅鐞� - { - if (!SPK.Get3tySpk(SPK.BrandType.All3tyBrand).Contains(localFunction.spk) && !SPK.MusicSpkList().Contains(localFunction.spk)) - { - //MainPage.Log($"A鍗忚鏇存柊鐘舵��:鏈湴閾炬帴锛岄櫎浜嗘秱楦﹁澶囨暟鎹箣澶栫殑浜戠鏁版嵁涓嶅鐞�........"); - - return; - } - } - //if (SPK.MusicSpkList().Contains(localFunction.spk)) //{ // if (updateTemp.status.Count < 3) @@ -1328,8 +1336,17 @@ { localFunction.time_stamp = temp.time_stamp; localFunction.SetAttrState(attr.key, attr.value); - + } + if(localFunction.spk == SPK.AirSwitchP3) + { + localFunction.online = updateTemp.online; + } + if (SPK.LightSpkList().Contains(localFunction.spk)) + { + localFunction.updateTime = DateTime.Now; + } + //鏇存柊鐣岄潰鐘舵�� switch (localFunction.spk) @@ -1347,6 +1364,10 @@ { EnergyMainPage.UpdataStatus(localFunction); } + break; + case SPK.AirSwitchP3: + AirSwitchP3Page.UpdataState(localFunction); + AirSwitchP3SubloopEnergyPage.UpdataStatus(localFunction); break; case SPK.ElectricEnergy: EnergyMainPage.UpdataStatus(localFunction); @@ -1590,6 +1611,7 @@ break; } + HomePage.UpdataFunctionStates(localFunction); RoomPage.UpdataStates(localFunction); FunctionPage.UpdataStates(localFunction); -- Gitblit v1.8.0