From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 09:07:13 +0800
Subject: [PATCH] 新云端Ver1.3

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs |   67 ++++++++++++++++++++++++---------
 1 files changed, 48 insertions(+), 19 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs
index f0739e7..5e26485 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs
@@ -130,7 +130,7 @@
                 case BindType.FreshAir:
                     foreach (var deviceKeys in curRoom.ListDevice)
                     {
-                        var device = LocalDevice.Current.GetDevice(deviceKeys);
+                        var device = HdlDeviceCommonLogic.Current.GetDevice(deviceKeys);
                         if (device != null)
                         {
                             if (BindInfo.checkRealFreshAirDevice(device) == false)
@@ -151,7 +151,7 @@
                     curRoomDeviceListTemp = GetMatchHumiditySensorDevice(curRoom);
                     foreach (var deviceKeys in curRoom.ListDevice)
                     {
-                        var device = LocalDevice.Current.GetDevice(deviceKeys);
+                        var device = HdlDeviceCommonLogic.Current.GetDevice(deviceKeys);
                         if (device != null)
                         {
                             if (device.Type == DeviceType.FreshAirHumiditySensor)
@@ -164,7 +164,7 @@
                 case BindType.PM:
                     foreach (var deviceKeys in curRoom.ListDevice)
                     {
-                        var device = LocalDevice.Current.GetDevice(deviceKeys);
+                        var device = HdlDeviceCommonLogic.Current.GetDevice(deviceKeys);
                         if (device != null)
                         {
                             if (device.Type == DeviceType.PMSensor)
@@ -177,7 +177,7 @@
                 case BindType.AC:
                     foreach (var deviceKeys in curRoom.ListDevice)
                     {
-                        var device = LocalDevice.Current.GetDevice(deviceKeys);
+                        var device = HdlDeviceCommonLogic.Current.GetDevice(deviceKeys);
                         if (device != null)
                         {
                             if (device.Type == DeviceType.Thermostat)
@@ -204,7 +204,7 @@
             List<CommonDevice> roomIncludeMatchTempDevice = new List<CommonDevice>();
             foreach (var de in room.ListDevice)
             {
-                var device = LocalDevice.Current.GetDevice(de);
+                var device = HdlDeviceCommonLogic.Current.GetDevice(de);
                 if (device != null)
                 {
                     //鐢垫睜璁惧涓嶆敮鎸佺粦瀹�
@@ -215,6 +215,10 @@
                     if (device.Type == DeviceType.TemperatureSensor)
                     {
                         var dev = device as TemperatureSensor;
+                        if (BindInfo.checkRealTemperatureDevice(device) == false)
+                        {
+                            continue;
+                        }
                         if (dev.SensorDiv == 1)
                         {
                             roomIncludeMatchTempDevice.Add(device);
@@ -245,7 +249,7 @@
             List<CommonDevice> roomIncludeMatchHumpDevice = new List<CommonDevice>();
             foreach (var de in room.ListDevice)
             {
-                var device = LocalDevice.Current.GetDevice(de);
+                var device = HdlDeviceCommonLogic.Current.GetDevice(de);
                 if (device != null)
                 {
                     //鐢垫睜璁惧涓嶆敮鎸佺粦瀹�
@@ -256,6 +260,10 @@
                     if (device.Type == DeviceType.TemperatureSensor)
                     {
                         var dev = device as TemperatureSensor;
+                        if (BindInfo.checkRealTemperatureDevice(device) == false)
+                        {
+                            continue;
+                        }
                         if (dev.SensorDiv == 2)
                         {
                             roomIncludeMatchHumpDevice.Add(device);
@@ -348,7 +356,7 @@
                         case BindInfo.BindType.FreshAir:
                             foreach (var de in room.ListDevice)
                             {
-                                var device = LocalDevice.Current.GetDevice(de);
+                                var device = HdlDeviceCommonLogic.Current.GetDevice(de);
                                 if (device != null)
                                 {
                                     if (BindInfo.checkRealFreshAirDevice(device) == false)
@@ -369,7 +377,7 @@
                             roomIncludeMatchDevice = GetMatchHumiditySensorDevice(room);
                             foreach (var de in room.ListDevice)
                             {
-                                var device = LocalDevice.Current.GetDevice(de);
+                                var device = HdlDeviceCommonLogic.Current.GetDevice(de);
                                 if (device != null)
                                 {
                                     if (device.Type == DeviceType.FreshAirHumiditySensor)
@@ -382,7 +390,7 @@
                         case BindInfo.BindType.PM:
                             foreach (var de in room.ListDevice)
                             {
-                                var device = LocalDevice.Current.GetDevice(de);
+                                var device = HdlDeviceCommonLogic.Current.GetDevice(de);
                                 if (device != null)
                                 {
                                     if (device.Type == DeviceType.PMSensor)
@@ -395,7 +403,7 @@
                         case BindInfo.BindType.AC:
                             foreach (var de in room.ListDevice)
                             {
-                                var device = LocalDevice.Current.GetDevice(de);
+                                var device = HdlDeviceCommonLogic.Current.GetDevice(de);
                                 if (device != null)
                                 {
                                     if (device.Type == DeviceType.Thermostat)
@@ -444,7 +452,7 @@
             List<CommonDevice> UndistributeCommonDeviceListTemp = new List<CommonDevice>();
 
             //鑾峰彇鏈湴璁惧鍒楄〃
-            foreach (var tempDev in Shared.Common.LocalDevice.Current.listAllDevice)
+            foreach (var tempDev in HdlDeviceCommonLogic.Current.listAllDevice)
             {
                 //鑾峰彇璁惧鎵�灞炴埧闂�
                 var tempDevRoom = HdlRoomLogic.Current.GetRoomByDevice(tempDev);
@@ -576,7 +584,7 @@
                         }
                         foreach (var deviceKeys in r.ListDevice)
                         {
-                            var device = LocalDevice.Current.GetDevice(deviceKeys);
+                            var device = HdlDeviceCommonLogic.Current.GetDevice(deviceKeys);
                             if (device != null)
                             {
                                 if (BindInfo.checkRealFreshAirDevice(device) == false)
@@ -619,7 +627,7 @@
                         }
                         foreach (var deviceKeys in r.ListDevice)
                         {
-                            var device = LocalDevice.Current.GetDevice(deviceKeys);
+                            var device = HdlDeviceCommonLogic.Current.GetDevice(deviceKeys);
                             if (device != null)
                             {
                                 if (device.Type == DeviceType.FreshAirHumiditySensor)
@@ -639,7 +647,7 @@
                         }
                         foreach (var deviceKeys in r.ListDevice)
                         {
-                            var device = LocalDevice.Current.GetDevice(deviceKeys);
+                            var device = HdlDeviceCommonLogic.Current.GetDevice(deviceKeys);
                             if (device != null)
                             {
                                 if (device.Type == DeviceType.PMSensor)
@@ -659,7 +667,7 @@
                         }
                         foreach (var deviceKeys in r.ListDevice)
                         {
-                            var device = LocalDevice.Current.GetDevice(deviceKeys);
+                            var device = HdlDeviceCommonLogic.Current.GetDevice(deviceKeys);
                             if (device != null)
                             {
                                 if (device.Type == DeviceType.Thermostat)
@@ -704,7 +712,7 @@
         }
 
         /// <summary>
-        /// 鏄惁鏄湡瀹炵殑绌鸿皟璁惧 銆愰儴鍒嗘槸鑳界粦瀹氱┖璋冪殑璁惧銆� 
+        /// 鏄惁鏄湡瀹炵殑绌鸿皟璁惧 銆愯繃婊erver绔�� 
         /// </summary>
         /// <param name="device"></param>
         /// <returns></returns>
@@ -721,7 +729,7 @@
         }
 
         /// <summary>
-        /// 鏄惁鏄湡瀹炵殑鏂伴璁惧 銆愰儴鍒嗘槸鑳界粦瀹氭柊椋庣殑璁惧銆� 
+        /// 鏄惁鏄湡瀹炵殑鏂伴璁惧 銆愯繃婊erver绔�� 
         /// </summary>
         /// <param name="device"></param>
         /// <returns></returns>
@@ -738,7 +746,28 @@
         }
 
         /// <summary>
-        /// 妫�娴嬭璁惧鑳藉惁鏄剧ず
+        /// 鏄惁鏄湡瀹炵殑娓╁害璁惧 銆愯繃婊erver绔�� 
+        /// </summary>
+        /// <param name="device"></param>
+        /// <returns></returns>
+        public static bool checkRealTemperatureDevice(CommonDevice device)
+        {
+            bool result = true;
+            //鑾峰彇璁惧灞炰簬銆愮畝绾﹀鍔熻兘闈㈡澘銆�
+            var deviceEnumInfo = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(new List<CommonDevice> { device });
+            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleMultifunction)
+            {
+                if (device.Type == DeviceType.TemperatureSensor && device.DeviceEpoint == 1)
+                {
+                    //绠�绾﹀鍔熻兘闈㈡澘绗�1鍥炶矾鏄竴涓粦瀹氭俯婀垮害浼犳劅鍣ㄧ绫诲瀷锛屼笉鏄湡鐨勬俯婀垮害鐨勪紶鎰熷櫒锛岄渶瑕佸睆钄芥帀
+                    result = false;
+                }
+            }
+            return result;
+        }
+
+        /// <summary>
+        /// 妫�娴嬭璁惧鑳藉惁鏄剧ず銆愯繃婊erver绔�� 
         /// </summary>
         /// <param name="device"></param>
         /// <returns></returns>
@@ -773,7 +802,7 @@
             }
             foreach (var deviceKeys in room.ListDevice)
             {
-                var device = Common.LocalDevice.Current.GetDevice(deviceKeys);
+                var device = HdlDeviceCommonLogic.Current.GetDevice(deviceKeys);
                 //妫�娴嬭璁惧鑳藉惁鏄剧ず
                 if (CheckCanShowDevice(device, curDeviceBindType) == false)
                 {

--
Gitblit v1.8.0