From 0e0584b87851c56745bf73b1a961b80613dd0721 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 19 五月 2020 16:35:16 +0800
Subject: [PATCH] 2020-05-19-4

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs |  115 +++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 99 insertions(+), 16 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs
index 51837e9..2832b5d 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirButtonSettionForm.cs
@@ -37,6 +37,26 @@
         /// PM鐩爣鍚嶅瓧
         /// </summary>
         private string bindPmName = string.Empty;
+        /// <summary>
+        /// 琚粦鐩爣鏄柊椋�
+        /// </summary>
+        private CommonDevice bindFreshAirDev;
+        /// <summary>
+        /// 琚粦鐩爣鏄俯搴�
+        /// </summary>
+        private CommonDevice bindTemperatureDev;
+        /// <summary>
+        /// 琚粦鐩爣鏄箍搴�
+        /// </summary>
+        private CommonDevice bindHumidityDev;
+        /// <summary>
+        /// 琚粦鐩爣鏄疨M2.5
+        /// </summary>
+        private CommonDevice bindPMDev;
+        // <summary>
+        /// 鎸夐敭涓缁戝畾鐨勭洰鏍囧垪琛�
+        /// </summary>
+        public List<BindObj.BindListResponseObj> bindList = new List<BindObj.BindListResponseObj>();
 
         #endregion
 
@@ -188,7 +208,7 @@
 
             rowNewWind.ButtonClickEvent += (sender, e) =>
             {
-                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 1);
+                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindFreshAirDev, 1);
                 Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
                 Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                 addDevicePage.Show();
@@ -208,8 +228,6 @@
                     });
                 };
 
-                //var form = new PanelFangyueFreshAirTargetForm();
-                //form.AddForm(this.deviceObj, string.Empty, 3);
             };
         }
         #endregion
@@ -224,12 +242,12 @@
             bool result = false;
             //鑾峰彇闈㈡澘涓瓨鍦ㄧ殑缁戝畾鐩爣
             FreshAir curControlDev = curDev as FreshAir;
-            var panelBindListRes = await curControlDev.GetDeviceBindAsync();
+            var panelBindListRes = HdlDeviceBindLogic.Current.GetDeviceBindAsync(curControlDev);
             if (panelBindListRes != null && panelBindListRes.getAllBindResponseData != null)
             {
-                foreach (var bDev in panelBindListRes.getAllBindResponseData.BindList)
+                bindList = panelBindListRes.getAllBindResponseData.BindList;
+                foreach (var bDev in bindList)
                 {
-                    curControlDev.bindList.Add(bDev);
                     var device = Common.LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint);
 
                     if (device.Type == DeviceType.FreshAir)
@@ -241,20 +259,85 @@
                         {
                             continue;
                         }
-                        bindFreshAirName = device.DeviceEpointName;
+                        if (string.IsNullOrEmpty(bDev.ESName))
+                        {
+                            bindFreshAirName = device.DeviceEpointName;
+                        }
+                        else
+                        {
+                            bindFreshAirName = bDev.ESName;
+                        }
+
+                        bindFreshAirDev = device;
                     }
                     if (device.Type == DeviceType.TemperatureSensor)
                     {
-                        bindTemperatureName = device.DeviceEpointName;
+                        var bD = device as TemperatureSensor;
+                        if (bD.SensorDiv == 1)
+                        {
+                            if (string.IsNullOrEmpty(bDev.ESName))
+                            {
+                                bindTemperatureName = device.DeviceEpointName;
+                            }
+                            else
+                            {
+                                bindTemperatureName = bDev.ESName;
+                            }
+                            bindTemperatureDev = device;
+                        }
+                        if (bD.SensorDiv == 2)
+                        {
+                            if (string.IsNullOrEmpty(bDev.ESName))
+                            {
+                                bindHumidityName = device.DeviceEpointName;
+                            }
+                            else
+                            {
+                                bindHumidityName = bDev.ESName;
+                            }
+
+                            bindHumidityDev = device;
+                        }
                     }
                     if (device.Type == DeviceType.FreshAirHumiditySensor)
                     {
-                        bindHumidityName = device.DeviceEpointName;
+                        if (string.IsNullOrEmpty(bDev.ESName))
+                        {
+                            bindHumidityName = device.DeviceEpointName;
+                        }
+                        else
+                        {
+                            bindHumidityName = bDev.ESName;
+                        }
+
+                        bindHumidityDev = device;
                     }
-                    //if (device.Type == DeviceType.FreshAir)
-                    //{
-                    //    bindPmName  = device.DeviceEpointName;
-                    //}
+                    if (device.Type == DeviceType.PMSensor)
+                    {
+                        if (bDev.BindCluster == 1026)
+                        {
+                            bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
+                            bindTemperatureDev = device;
+                        }
+                        if (bDev.BindCluster == 1029)
+                        {
+                            bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
+                            bindHumidityDev = device;
+                        }
+                        if (bDev.BindCluster == 1066)
+                        {
+                            if (string.IsNullOrEmpty(bDev.ESName))
+                            {
+                                bindPmName = device.DeviceEpointName;
+                            }
+                            else
+                            {
+                                bindPmName = bDev.ESName;
+                            }
+
+                            bindPMDev = device;
+                        }
+                    }
                 }
                 result = true;
             }
@@ -283,7 +366,7 @@
             var btnPMStatu = rowPM.AddMostRightView(msg, 700);
             rowPM.ButtonClickEvent += (sender, e) =>
             {
-                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 4);
+                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindPMDev, 4);
                 Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
                 Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                 addDevicePage.Show();
@@ -328,7 +411,7 @@
             var btnTemperatureStatu = rowTemPerature.AddMostRightView(msg, 700);
             rowTemPerature.ButtonClickEvent += (sender, e) =>
             {
-                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 2);
+                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindTemperatureDev, 2);
                 Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
                 Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                 addDevicePage.Show();
@@ -373,7 +456,7 @@
             var btnHumidityStatu = rowHumidity.AddMostRightView(msg, 700);
             rowHumidity.ButtonClickEvent += (sender, e) =>
             {
-                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 3);
+                var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, bindHumidityDev, 3);
                 Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
                 Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                 addDevicePage.Show();

--
Gitblit v1.8.0