From 452e8cef1c740d18ee398be6971d9952e41dbd4a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 12 四月 2023 16:11:50 +0800
Subject: [PATCH] 1
---
HDL_ON/DAL/DriverLayer/Control.cs | 136 ++++++++++++++++++++++++++++++++-------------
1 files changed, 96 insertions(+), 40 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index 5f1b11b..656dcca 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -138,45 +138,51 @@
}
set
{
- if (_GatewayOnline_Cloud != value)
+ try
{
- _GatewayOnline_Cloud = value;
- if (GatewayOnline_Local)
+ if (_GatewayOnline_Cloud != value)
{
- return;
- }
- if (value)
- {
- if (DB_ResidenceData.Instance.HomeGateway == null)
+ _GatewayOnline_Cloud = value;
+ if (GatewayOnline_Local)
{
return;
}
- if (!DB_ResidenceData.Instance.HomeGateway.gatewayStatus)//杩滅▼鎯呭喌涓嬶紝缃戝叧鏈摼鎺ユ湇鍔″櫒涓嶈兘淇敼涓婚〉缃戝叧鐘舵��
+ if (value)
{
+ if (DB_ResidenceData.Instance.HomeGateway == null)
+ {
+ return;
+ }
+ if (!DB_ResidenceData.Instance.HomeGateway.gatewayStatus)//杩滅▼鎯呭喌涓嬶紝缃戝叧鏈摼鎺ユ湇鍔″櫒涓嶈兘淇敼涓婚〉缃戝叧鐘舵��
+ {
+ new System.Threading.Thread(() =>
+ {
+ System.Threading.Thread.Sleep(3000);
+ var pm = new DAL.Server.HttpServerRequest();
+ pm.GetGatewayInfo();
+ })
+ { IsBackground = true }.Start();
+ return;
+ }
+ //淇敼涓婚〉杩炴帴鐘舵��
+ HomePage.LoadEvent_CheckLinkStatus();
+ MainPage.Log($"缃戝叧浜戠鍦ㄧ嚎锛屽埛鏂拌澶囩姸鎬�");
new System.Threading.Thread(() =>
{
- System.Threading.Thread.Sleep(3000);
- var pm = new DAL.Server.HttpServerRequest();
- pm.GetGatewayInfo();
+ System.Threading.Thread.Sleep(1000);
+ FunctionList.List.ReadAllFunctionStatus();
})
- { IsBackground = true }.Start();
- return;
+ { IsBackground = true, Priority = System.Threading.ThreadPriority.AboveNormal }.Start();
}
- //淇敼涓婚〉杩炴帴鐘舵��
- HomePage.LoadEvent_CheckLinkStatus();
- MainPage.Log($"缃戝叧浜戠鍦ㄧ嚎锛屽埛鏂拌澶囩姸鎬�");
- new System.Threading.Thread(() =>
+ else
{
- System.Threading.Thread.Sleep(1000);
- FunctionList.List.ReadAllFunctionStatus();
- })
- { IsBackground = true, Priority = System.Threading.ThreadPriority.AboveNormal }.Start();
+ //淇敼涓婚〉杩炴帴鐘舵��
+ HomePage.LoadEvent_CheckLinkStatus();
+ }
}
- else
- {
- //淇敼涓婚〉杩炴帴鐘舵��
- HomePage.LoadEvent_CheckLinkStatus();
- }
+ }catch(Exception ex)
+ {
+ MainPage.Log($"Set GatewayCloudOnline Error:{ex.Message}");
}
}
}
@@ -1175,11 +1181,62 @@
}
+
/// <summary>
/// 鏇存柊璁惧鐘舵��
/// A鍗忚鏁版嵁
/// </summary>
- /// <param name="updateBytes"></param>
+ public void UpdataGroupControlStatus(string revString, byte[] usefulBytes, bool isCloudData = false)
+ {
+ var temp = JsonConvert.DeserializeObject<AlinkFunctionStatusObj>(revString);
+ if (temp != null)
+ {
+ Control_Udp.ReceiveRepeatManager(temp.id, usefulBytes);
+ var allLocalFuntion = FunctionList.List.groupControls;
+ foreach (var updateTemp in temp.objects)
+ {
+ try
+ {
+ var localFunction = allLocalFuntion.Find((obj) => obj.sid == updateTemp.sid);
+ if (localFunction == null)
+ {
+ continue;
+ }
+ MainPage.Log($"鏀跺埌鏁版嵁:{revString}");
+ foreach (var attr in updateTemp.status)
+ {
+ localFunction.time_stamp = temp.time_stamp;
+ localFunction.SetAttrState(attr.key, attr.value);
+
+ }
+
+ //鏇存柊鐣岄潰鐘舵��
+ switch (localFunction.spk)
+ {
+ case SPK.ElectricEnergy:
+ EnergyMainPage.UpdataStatus(localFunction);
+ break;
+ }
+
+ HomePage.UpdataFunctionStates(localFunction);
+ RoomPage.UpdataStates(localFunction);
+ FunctionPage.UpdataStates(localFunction);
+ ClassificationPage.UpdataInfo(localFunction);
+
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"A鍗忚鏇存柊鐘舵�佸紓甯�:{ex.Message}");
+ }
+ }
+ }
+ }
+
+
+ /// <summary>
+ /// 鏇存柊璁惧鐘舵��
+ /// A鍗忚鏁版嵁
+ /// </summary>
public void UpdataFunctionStatus(string revString, byte[] usefulBytes, bool isCloudData = false)
{
////test 浜戠杩炴帴鎴愬姛鏃讹紝涓嶉�傜敤鏈湴鏁版嵁鏇存柊
@@ -1231,21 +1288,20 @@
}
}
- if (SPK.MusicSpkList().Contains(localFunction.spk))
- {
- MainPage.Log($"闊充箰鏀跺埌鏁版嵁:{revString}");
-
- }
+ //if (SPK.MusicSpkList().Contains(localFunction.spk))
+ //{
+ // if (updateTemp.status.Count < 3)
+ // {
+ // ///鏄煶涔愬姛鑳界殑
+ // ///涓婃姤灞炴�у皯3鏉′笉鍋氬鐞�
+ // return;
+ // }
+ //}
+ MainPage.Log($"鏀跺埌鏁版嵁:{revString}");
foreach (var attr in updateTemp.status)
{
localFunction.time_stamp = temp.time_stamp;
localFunction.SetAttrState(attr.key, attr.value);
- if (SPK.MusicSpkList().Contains(localFunction.spk))
- {
- Console.WriteLine("闊充箰鎾斁鍣ㄦ坊鍔犵紦瀛樻暟鎹�=======" + revString);
-
- }
-
}
@@ -1404,7 +1460,7 @@
EnvironmentalPage.LoadEvent_UpdataStatus(localFunction);
//A_EnvironmentalDataCenter.LoadEvent_UpdataStatus(localFunction);
break;
- case SPK.SensorEnvironment:
+ case SPK.SensorEnvironment:case SPK.SensorEnvironmentHailin:
case SPK.SensorEnvironment2:
case SPK.SensorEnvironment3:
if (localFunction.GetAttributes().Contains(FunctionAttributeKey.Temperature))
--
Gitblit v1.8.0