From 9c16d3614d9b88c637f967518a329f239fcd3aaf Mon Sep 17 00:00:00 2001
From: lss <316519258@qq.com>
Date: 星期五, 12 六月 2020 09:22:04 +0800
Subject: [PATCH] 2020.06.12

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs |   57 ++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 46 insertions(+), 11 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs
index 2e8ec34..48f59b9 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")
@@ -406,10 +406,36 @@
                 else if (report.DeviceStatusReport.CluterID == 8)
                 {
                     locadevice.DeviceStatusReport = report.DeviceStatusReport;
-                    if (locadevice.Type == DeviceType.DimmableLight && report.DeviceStatusReport.AttriBute[0].AttributeId == 0)
+                    if (report.DeviceStatusReport.AttriBute[0].AttributeId == 0)
                     {
-                        //姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴�
-                        ((DimmableLight)locadevice).Level = report.DeviceStatusReport.AttriBute[0].AttriButeData;
+                        if (locadevice.Type == DeviceType.DimmableLight)
+                        {
+                            //姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴�
+                            ((DimmableLight)locadevice).Level = report.DeviceStatusReport.AttriBute[0].AttriButeData;
+                        }
+                        else if (locadevice.Type == DeviceType.ColorTemperatureLight)
+                        {
+                            //姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴�
+                            ((ColorTemperatureLight)locadevice).Level = report.DeviceStatusReport.AttriBute[0].AttriButeData;
+                        }
+                        //宸茬粡鎺ユ敹鍒扮姸鎬�
+                        locadevice.HadReadDeviceStatu = true;
+                    }
+                }
+                #endregion
+
+                #region 鈻� 鑹叉俯鏁版嵁
+                //鑹叉俯鏁版嵁
+                else if (report.DeviceStatusReport.CluterID == 768)
+                {
+                    locadevice.DeviceStatusReport = report.DeviceStatusReport;
+                    if (report.DeviceStatusReport.AttriBute[0].AttributeId == 0)
+                    {
+                        if (locadevice.Type == DeviceType.ColorTemperatureLight)
+                        {
+                            //姝ゅ睘鎬ц〃鏄庡綋鍓嶈壊娓�
+                            ((ColorTemperatureLight)locadevice).ColorTemperature = report.DeviceStatusReport.AttriBute[0].AttriButeData;
+                        }
                         //宸茬粡鎺ユ敹鍒扮姸鎬�
                         locadevice.HadReadDeviceStatu = true;
                     }
@@ -510,10 +536,15 @@
                                 strValue = strValue.Substring(0, strValue.Length - 1);
                                 humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
                             }
-                            //娓╁害浼犳劅鍣�
+                            //婀垮害浼犳劅鍣�
                             if (locadevice is TemperatureSensor)
                             {
                                 ((TemperatureSensor)locadevice).Humidity = humidity;
+                            }
+                            //鏂伴鐨勬箍搴︿紶鎰熷櫒
+                            else if (locadevice is HumiditySensor)
+                            {
+                                ((HumiditySensor)locadevice).Humidity = humidity;
                             }
                             //PM2.5浼犳劅鍣�
                             else if (locadevice is PMSensor)
@@ -612,7 +643,7 @@
                 var info = Newtonsoft.Json.JsonConvert.DeserializeObject<DoorLockAlarmsResult>(receiveData["Data"].ToString());
                 if (info.Clusterid == 257)
                 {
-                    //216锛氶攣涓婅缃殑甯稿紑 
+                    //216锛氶攣涓婅缃殑甯稿紑
                     if (info.AlarmCode == 216)
                     {
                         HdlThreadLogic.Current.RunMain(() =>
@@ -620,7 +651,7 @@
                             //鏇存柊闂ㄩ攣娑夊強鐨勫父寮�/甯稿叧鐨勭晫闈�
                             if (UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction != null)
                             {
-                                UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction(device.DeviceAddr + device.DeviceEpoint, true);
+                                UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction(device.DeviceAddr, true);
                             }
                         });
                     }
@@ -840,12 +871,16 @@
 
                         HdlThreadLogic.Current.RunThread(async () =>
                         {
-                            var result = await Shared.Phone.Device.Logic.SkipView.Exist(3, (ZigBee.Device.DoorLock)device[0]);
                             HdlThreadLogic.Current.RunMain(() =>
                             {
-                                //寮瑰嚭寰愭鐨勯偅涓獥鍙�
-                                DoorLock.DoorLockCommonInfo.NomallyOpenModeInvalidDialog((ZigBee.Device.DoorLock)device[0], DoorLock.DoorLockCommonInfo.DoorLockMessType.ServicePush,
-                                    result != 0 ? true : false, ControlCommonResourse.UpdateDoorLockStatusAction);
+                                //鎻愮ず闂ㄩ攣宸茬粡澶辨晥
+                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NormallyClosed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+
+                                //鏇存柊闂ㄩ攣娑夊強鐨勫父寮�/甯稿叧鐨勭晫闈�
+                                if (UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction != null)
+                                {
+                                    UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction(deviceAddr, false);
+                                }
                             });
                         });
                     }

--
Gitblit v1.8.0