From 7cfcdb7a90f59bf9001c948e166fd9af09752fe1 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 24 五月 2022 17:15:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/release0123' into wjc

---
 HDL_ON/DAL/DriverLayer/Control.cs |   82 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 79 insertions(+), 3 deletions(-)

diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index 5f9b849..5672c7a 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -94,7 +94,7 @@
             }
             set
             {
-                if (_GatewayOnline_Local != value)
+                //if (_GatewayOnline_Local != value)
                 {
                     _GatewayOnline_Local = value;
                     if (value)
@@ -129,7 +129,7 @@
             }
             set
             {
-                if (_GatewayOnline_Cloud != value)
+                //if (_GatewayOnline_Cloud != value)
                 {
                     _GatewayOnline_Cloud = value;
                     if(GatewayOnline_Local)
@@ -460,6 +460,7 @@
                         var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlFunctionTopic, functionControlDataJson);
                         new Control_Udp().SendLocalHdlLinkData(sendBytes, functionControlDataObj.id,resend);
                         MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}");
+                        //Control.Ins.MsgInfoList.Add($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}"+"\r\n");
                     }
                 }
                 //杩滅▼閫氳
@@ -655,6 +656,79 @@
         }
 
         /// <summary>
+        /// 鍙戦�佽鍙栧懡浠�
+        /// 鑷姩鍒ゆ柇鏄惁涓篈鍗忚璁惧
+        /// </summary>
+        public void SendReadCommand(List<Function> functions, bool forceRemote = false)
+        {
+            List<string> sids = new List<string>();
+            foreach (Function function in functions)
+            {
+                sids.Add(function.sid);
+                function.refreshTime = DateTime.Now;
+            }
+            if (forceRemote)
+            {
+
+                var pm = new DAL.Server.HttpServerRequest();
+                var pack = pm.RefreshDeviceStatus(sids);
+            }
+            else
+            {
+                if (Ins.GatewayOnline_Local)
+                {
+
+                    if (DB_ResidenceData.Instance.GatewayType == 0)
+                    {
+                        try
+                        {
+                            var busClient = new Control_Udp();
+                            foreach (Function function in functions)
+                            {
+                                busClient.ReadBusData(function);
+                            }
+                            
+                        }
+                        catch (Exception ex)
+                        {
+                            MainPage.Log($"鍙戦�佹暟鎹紓甯�: {ex.Message}");
+                        }
+                    }
+                    else
+                    {
+                        var objects = new List<Dictionary<string, string>>();
+
+
+                        foreach (Function function in functions)
+                        {
+                            var readKey = new Dictionary<string, string>();
+                            readKey.Add("sid", function.sid);
+                            objects.Add(readKey);
+                        }
+
+
+                        var readDataObj = new AlinkReadFunctionStatusObj()
+                        {
+                            id = Ins.msg_id.ToString(),
+                            objects = objects,
+                            time_stamp = Utlis.GetTimestamp()
+                        };
+                        var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(readDataObj);
+                        var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ReadStatus, functionControlDataJson);
+                        MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}");
+                        new Control_Udp().SendLocalHdlLinkData(sendBytes, readDataObj.id);
+                    }
+                }
+                else
+                {
+                    var pm = new DAL.Server.HttpServerRequest();
+                    var pack = pm.RefreshDeviceStatus(sids);
+                }
+            }
+        }
+
+
+        /// <summary>
         /// 瀹夐槻鎺у埗
         /// </summary>
         public void ControlSecurity(SecurityAlarm securityAlarm,string state)
@@ -666,7 +740,7 @@
                  gatewayId = DB_ResidenceData.Instance.HomeGateway.gatewayId,
                   sid = securityAlarm.sid, status = state, userSecurityId = securityAlarm.userSecurityId
                 } });
-                MainPage.Log($"瀹夐槻鎺у埗缁撴灉:{result.Code}");
+                MainPage.Log($"瀹夐槻鎺у埗缁撴灉:code锛歿result.Code}锛沵sg锛歿result.message}");
             }
             else
             {
@@ -951,6 +1025,7 @@
         /// <summary>
         /// 鏇存柊璁惧鐘舵��
         /// A鍗忚鏁版嵁
+        /// Tag Link鐘舵�佸鐞�
         /// </summary>
         /// <param name="updateBytes"></param>
         public void UpdataFunctionStatus(string revString, byte[] usefulBytes,bool isCloudData = false)
@@ -1194,6 +1269,7 @@
                             case SPK.AirFreshStandard:
                             case SPK.HvacAirFresh:
                             case SPK.SensorGas:
+                            case SPK.SensorHelp:
                                 //璁惧鐘舵�佹帹閫�
                                 //鐘舵�佹洿鏂�
                                 Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status);

--
Gitblit v1.8.0