From b02e8275a21dc06bf54b66273485d44e007a2616 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期一, 20 七月 2020 14:50:17 +0800
Subject: [PATCH] 新代码

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs |   43 ++++++++++++++++++++++++-------------------
 1 files changed, 24 insertions(+), 19 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
index e662761..d1eddb8 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
@@ -618,7 +618,8 @@
             var jObject = new JObject { { "DeviceAddr", device.DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
             var data = new JObject { { "PassData", passData } };
             jObject.Add("Data", data);
-            var result = HdlDeviceCommonLogic.Current.SendJobjectDataToGateway2(device, jObject.ToString(), "0409", 18, 9);
+            //16:鏃х増鏈� 18:鏂扮増鏈�
+            var result = HdlDeviceCommonLogic.Current.SendJobjectDataToGateway2(device, jObject.ToString(), "0409", 16, 9, new List<int> { 18 });
             if (result.ErrorMsg != null)
             {
                 this.ShowTipMsg(result.ErrorMsg);
@@ -645,8 +646,21 @@
             {
                 energyInfo.enable = false;
             }
-            energyInfo.time = Convert.ToInt32(result.ReceiptData[14].ToString() + result.ReceiptData[15].ToString() + result.ReceiptData[12].ToString() + result.ReceiptData[13].ToString(), 16);
-            energyInfo.level = Convert.ToInt32(result.ReceiptData[16].ToString() + result.ReceiptData[17].ToString(), 16);
+
+            //鏂扮増鏈�:07 0904 11 04 01 3C00 32
+            if (result.ReceiptData.Length == 18)
+            {
+                energyInfo.time = Convert.ToInt32(result.ReceiptData[14].ToString() + result.ReceiptData[15].ToString() +
+                    result.ReceiptData[12].ToString() + result.ReceiptData[13].ToString(), 16);
+
+                energyInfo.level = Convert.ToInt32(result.ReceiptData[16].ToString() + result.ReceiptData[17].ToString(), 16);
+            }
+            //鏃х増鏈�:07 0904 11 03 01 3C 32
+            else
+            {
+                energyInfo.time = Convert.ToInt32(result.ReceiptData[12].ToString() + result.ReceiptData[13].ToString(), 16);
+                energyInfo.level = Convert.ToInt32(result.ReceiptData[14].ToString() + result.ReceiptData[15].ToString(), 16);
+            }
             return energyInfo;
         }
 
@@ -796,16 +810,9 @@
         /// </summary>
         /// <param name="panel">骞叉帴鐐瑰璞�</param>
         /// <returns></returns>
-        public async Task<List<CommonDevice.AttributeDataObj>> GetDryContactConfigureInfo(CommonDevice device)
+        public List<CommonDevice.AttributeDataObj> GetDryContactConfigureInfo(CommonDevice device)
         {
-            //鍊熺敤瀹冪殑鍑芥暟
-            var panel = new Panel();
-            panel.DeviceAddr = device.DeviceAddr;
-            panel.DeviceEpoint = device.DeviceEpoint;
-            panel.CurrentGateWayId = device.CurrentGateWayId;
-
-            var result = HdlDeviceBindLogic.Current.ReadPanelConfigureInfoAsync(panel);
-            panel = null;
+            var result = HdlDeviceBindLogic.Current.ReadPanelConfigureInfoAsync(device);
 
             //鍏遍�氶敊璇娴�
             string error = HdlCheckLogic.Current.CheckCommonErrorCode(result);
@@ -1242,10 +1249,7 @@
         /// </summary>
         private void SaveDryContactFunctionToLocaltion()
         {
-            var file = Newtonsoft.Json.JsonConvert.SerializeObject(dicDryContactFunction);
-
-            var bytes = System.Text.Encoding.UTF8.GetBytes(file);
-            Common.Global.WriteFileByBytesByHomeId(DirNameResourse.DryContactFunctionFile, bytes);
+            HdlFileLogic.Current.SaveFileContent(DirNameResourse.DryContactFunctionFile, dicDryContactFunction);
         }
 
         /// <summary>
@@ -1253,12 +1257,13 @@
         /// </summary>
         private void LoadDryContactFunctionFromLocaltion()
         {
-            if (Common.Global.IsExistsByHomeId(DirNameResourse.DryContactFunctionFile) == false)
+            this.dicDryContactFunction = new Dictionary<string, DryContactFunctionInfo>();
+
+            byte[] filebyte = HdlFileLogic.Current.ReadFileByteContent(DirNameResourse.DryContactFunctionFile);
+            if (filebyte == null)
             {
                 return;
             }
-
-            byte[] filebyte = Common.Global.ReadFileByHomeId(DirNameResourse.DryContactFunctionFile);
             string strvalue = System.Text.Encoding.UTF8.GetString(filebyte);
             this.dicDryContactFunction = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, DryContactFunctionInfo>>(strvalue);
         }

--
Gitblit v1.8.0