From 86db3175d109ab7d5abfb65058228a496f2492ec Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期一, 07 十二月 2020 11:31:41 +0800
Subject: [PATCH] 20201207

---
 HDL_ON/DAL/DriverLayer/Control.cs |   67 +++++++++++++++++++++++++--------
 1 files changed, 50 insertions(+), 17 deletions(-)

diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index aeb874a..80e292b 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -70,6 +70,7 @@
                 _gatewayOnline = value;
                 //淇敼涓婚〉杩炴帴鐘舵��
                 UI.HomePage.LoadEvent_CheckLinkStatus();
+                FunctionList.List.ReadAllFunctionStatus();
             }
         }
         /// <summary>
@@ -228,7 +229,7 @@
             function.refreshTime = DateTime.Now;
             DAL.Server.HttpServerRequest httpServer = new DAL.Server.HttpServerRequest();
             //杩滅▼閫氳
-            if (!Ins.IsRemote)
+            if (Ins.IsRemote || true) 
             {
                 //ALink鎺у埗銆丅us鎺у埗浣跨敤鍚屼竴涓帴鍙f帶鍒讹紝鐢变簯绔礋璐hВ鏋�
                 var apiControlData = function.GetApiControlData(commandDictionary);
@@ -240,7 +241,7 @@
             //鏈湴閫氳
             else
             {
-                //ALink鎺у埗
+                //Bus鎺у埗
                 if (DB_ResidenceData.residenceData.GatewayType == 0)
                 {
                     try
@@ -255,7 +256,7 @@
                         MainPage.Log($"鍙戦�佹暟鎹紓甯�: {ex.Message}");
                     }
                 }
-                //Bus鎺у埗
+                //ALink鎺у埗
                 else
                 {
                     if (myUdp != null)
@@ -264,7 +265,6 @@
                         var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(functionControlDataObj);
                         var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlFunctionTopic, functionControlDataJson);
                         myUdp.SendLocalHdlLinkData(sendBytes);
-                        //MainPage.Log($"鍙戦�佹湰鍦癏DL-Link鏁版嵁{functionControlDataJson}\r\n");
                     }
                 }
             }
@@ -277,25 +277,58 @@
         public void SendReadCommand(Function function)
         {
             function.refreshTime = DateTime.Now;
-            if (function.bus_Data != null)
+            if (Ins.IsRemote)
             {
-                try
-                {
-                    //ReadBusData(function);
-                }
-                catch (Exception ex)
-                {
-                    MainPage.Log($"鍙戦�佹暟鎹紓甯�: {ex.Message}");
-                }
+
             }
             else
             {
-                //var commandObj = function.GetSendJObject(CommandType_A.read);
-                //var commandString = Newtonsoft.Json.JsonConvert.SerializeObject(commandObj);
-                //var commandBytes = System.Text.Encoding.UTF8.GetBytes(commandString);
-                //MqttCommon.MqttRemoteSend(commandBytes);
+                if (function.bus_Data != null)
+                {
+                    try
+                    {
+                        Ins.myUdp.ReadBusData(function);
+                    }
+                    catch (Exception ex)
+                    {
+                        MainPage.Log($"鍙戦�佹暟鎹紓甯�: {ex.Message}");
+                    }
+                }
+                else
+                {
+                    var readKey = new Dictionary<string, string>();
+                    readKey.Add("sid", function.sid);
+
+                    var readDataObj = new GatewayAlinkReadObj()
+                    {
+                        id = Ins.msg_id.ToString(),
+                        objects = new List<Dictionary<string, string>>()
+                        {
+                            readKey
+                        },
+                         //time_stamp = 
+                    };
+                    var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(readDataObj);
+                    var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ReadStatus, functionControlDataJson);
+                    Ins.myUdp.SendLocalHdlLinkData(sendBytes);
+                }
             }
         }
+        /// <summary>
+        /// 鍙戦�丄鍗忚璇诲彇鍛戒护
+        /// </summary>
+        public void SendReadCommand(List<Dictionary<string, string>> keyValuePairs)
+        {
+            var readDataObj = new GatewayAlinkReadObj()
+            {
+                id = Ins.msg_id.ToString(),
+                objects = keyValuePairs,
+                //time_stamp = 
+            };
+            var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(readDataObj);
+            var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ReadStatus, functionControlDataJson);
+            Ins.myUdp.SendLocalHdlLinkData(sendBytes);
+        }
 
         /// <summary>
         /// 鎺у埗a鍗忚鍦烘櫙

--
Gitblit v1.8.0