From ecba45c93391066bc30c7bd602c3a7683fbb99a7 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期五, 31 七月 2020 10:56:12 +0800
Subject: [PATCH] 临时备份

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs |   31 +++++++++++++++++++++++++++++--
 1 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
index 48f59b9..dcd3593 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
@@ -173,7 +173,7 @@
                 //璁惧鎺у埗鐘舵�佸弽棣�
                 else if (reportTopic == "DeviceDefaultAck")
                 {
-                    //this.DeviceControlResponePush(JObject.Parse(msgData));
+                    this.DeviceControlResponePush(JObject.Parse(msgData));
                 }
                 //鎾ら槻
                 else if (topic == gatewayId + "/Security/WithdrawMode_Respon")
@@ -249,6 +249,32 @@
                         locadevice.HadReadDeviceStatu = true;
                     }
                 }
+                #endregion
+
+                #region 鈻� 鐢甸噺鎺ㄩ��
+                //鐢甸噺鎺ㄩ��
+                if (report.DeviceStatusReport.CluterID == 1)
+                {
+                    foreach (var attData in report.DeviceStatusReport.AttriBute)
+                    {
+                        //鐢甸噺
+                        if (attData.AttributeId == 33)
+                        {
+                            string receiptData = string.Empty;
+                            //涓や釜涓や釜浣嶇疆鏇挎崲
+                            for (int i = attData.AttriButeDataHex.Length - 1; i >= 0; i = i - 2)
+                            {
+                                receiptData += attData.AttriButeDataHex[i - 1].ToString() + attData.AttriButeDataHex[i].ToString();
+                            }
+                            int batteryValue = Convert.ToInt32(receiptData, 16);
+                            //浣庝簬20%,鍒欎唬琛ㄧ數閲忎綆
+                            locadevice.IsBatteryDown = batteryValue < 20;
+                        }
+                        //宸茬粡鎺ユ敹鍒扮姸鎬�
+                        locadevice.HadReadDeviceStatu = true;
+                    }
+                }
+
                 #endregion
 
                 #region 鈻� 绐楀笜鏁版嵁
@@ -434,7 +460,8 @@
                         if (locadevice.Type == DeviceType.ColorTemperatureLight)
                         {
                             //姝ゅ睘鎬ц〃鏄庡綋鍓嶈壊娓�
-                            ((ColorTemperatureLight)locadevice).ColorTemperature = report.DeviceStatusReport.AttriBute[0].AttriButeData;
+                            int value = report.DeviceStatusReport.AttriBute[0].AttriButeData != 0 ? 1000000 / report.DeviceStatusReport.AttriBute[0].AttriButeData : 0;
+                            ((ColorTemperatureLight)locadevice).ColorTemperature = value;
                         }
                         //宸茬粡鎺ユ敹鍒扮姸鎬�
                         locadevice.HadReadDeviceStatu = true;

--
Gitblit v1.8.0